ISV cuts development for web based application by 66%
Join the DZone community and get the full member experience.Join For Free
Embedded Resource Group (ERG) is an engineering contract, consulting and fulltime placement corporation headquartered in San Jose, California, the heart of the Silicon Valley. High level, niche specific engineering professionals with expertise in software development and hardware design are provided to augment customers’ product development initiatives.
Embedded Resource Group had built an ASP.NET website for its hourly contractors and employees to submit online timecards (i.e. web forms). To complement the website, Embedded Resource Group had also built an internal WinForms application for the administrator to utilize the timecard data. The timecard data, stored in SQL Server, is accessed to generate customer invoices and vendor receipts in QuickBooks, as well as to create reports that indicate missing and unapproved timecards and other metrics relating to the health of the recruiting firm.
ERG contractors regularly asked the administrator for the updated timecard status (e.g. “was it approved?”, etc.). Therefore the administrator desired to allow the contractors to use the website to self-discover the status of their timecards, which would ease the manual burden on the administrator and enhance the company’s image by offering a more comprehensive website.
The contractors needed to see a list of all their timecards, showing them at a glance which had been approved and which ones had not. The timecards needed to be easily resorted by date, and hours worked. In addition, they needed to be able to select a timecard from the list and see the full timecard details in an image approximating the physical timecard which they had submitted.
It was decided to create an internal WinForms application for the utilization of the timecards status. The existing ASP.NET website coupled with SQL Server had offered very good performance, and it was highly desired to have roughly the same performance for the Timecard Status feature.
Embedded Resource Group had noticed that new features of the WinForms internal application were implemented more quickly (and more cheaply) than website features. They asked to add the Timecard Status feature to the ASP.NET website for a budget that matched the costs of similarly-scoped features of the internal WinForms application.
However, enhancing the ASP.NET website would be very costly in comparison. The design called for an ASP.NET DetailsView to show rows of timecards with columns of timecard information such as Approval status, Hours worked, etc. The existing ASP.NET website had employed DetailsView controls, but they had taken a lot of time and effort to get working, and did not support column sorting, which was a customer requirement for the Timecard Status. In addition, the desire to update the timecard image with the details from the selected timecard called for ASP.NET AJAX to avoid refreshing the entire page each time a different timecard was selected. After perusing the basics of ASP.NET AJAX and the UpdatePanel in particular, DCSoft gave a prohibitively high cost estimate to implement the Timecard Status feature using ASP.NET.
DCSoft then turned to look for an alternative that would allow completing those requirements at lower costs. It was decided to use Visual WebGui. "by using Visual WebGui and in particular the ListView control, DCSoft was able to lower the cost to be what was expected of WinForms development, not ASP.NET development!" said David Ching, Chief Applications Engineer and Microsoft MVP.
The ListView allowed a similar design to the DetailsView, DCSoft was already familiar with the identical WinForms ListView, and the code for column sorting had already been posted to the Gizmox forums. "Thanks to the similarity of coding Visual WebGui applications to WinForms application, there was very little effort spent learning new things," added David Ching. This left more time for fine tuning and polish, e.g. images were utilized in each ListView row, which greatly accentuated timecard status.
The biggest effort was in learning the FormBox control to embed the WebGui application into the ASP.NET page, and that went smoothly thanks to good documentation in form of an online Gizmox tutorial. "If anything didn’t work as expected (how to use the embedded WebGui code to navigate the browser within the same browser window) thanks to the very responsive and friendly Gizmox forums we received an answer within ½ day after posting a question," commented Ching..
Though startup time to show the page can be slightly longer than expected, the response time of the AJAX-enabled ListView showed extremely good performance in actual use.
"Stepping back, the advantage of using Visual WebGui is easily seen by what skills were not required: ASP.NET directives (those funny <%@> tags), HTML, DHTML, CSS, and AJAX concepts (e.g. UpdatePanel). Furthermore, the declarative style of ASP.NET was avoided in favor of the familiar method of instantiating controls are setting their initial properties in code," stated David Ching.
Using Visual WebGui for the TimeCard feature allowed DCSoft to leverage the WinForms development experience to create an AJAX-enabled application which means they were able to develop the solution much faster, with much less effort than ASP.NET development. Faster development time was also possible due to the fact that Visual WebGui almost eliminates the learning curve of web applications development by allowing familiar & intuitive patterns and concepts. On top of that, Visual WebGui's comprehensive forums, backed up by the large community and the Gizmox staff provide responsive skilled support when encountering any unexpected issues.
This lead to lower development cost from ASP.NET prices to WinForms prices which translated to a significantly reduced budget of $1,000 compared to the original $3,000 estimates.
As a result of the development simplicity and shorten cycles provided by Visual WebGui it was also possible to dedicate more time and resources for polishing the TimeCard application. In addition, the WebGui Controls emulate Windows, and offer the end-user a familiar UI with a more standard experience than other Web applications.
The TimeCard Status feature, implemented with Visual WebGui:
Opinions expressed by DZone contributors are their own.