IT Crossing
Saturday, July 05, 2008 | Register | Login 
Minimize
 IT Crossing Blog
Author: Don Worthley Created: 9/12/2007 3:12 PM
Business, Technology and everything in between.

Is it me, or does everything run slower these days?

Most recently, I've struggled like so many others with the speed of Outlook 2007. My assumption is that as a product progresses, it's performance will actually improve; either that, or the feature set will increase without significantly degrading performance. I honestly haven't had the time to look into the new and improved features of Outlook 2007, but regardless of any of the amazing new things this PIM can do, it's so unbelievably slow that it's tempting to uninstall it and revert back to Outlook 2003.

I had a similar experience with my upgrade to WinZIP 10.0, which I decided to purchase a few years back after using it for most of a decade in trial mode. Over the past year, it has taken considerable longer to unzip large files.

Now that the whole world has decided that web applications are far superior to native desktop applications (I would call them Windows applications, but I don't want to offend any Mac OS X or Linux enthusiasts out there) because of their ubiquity and their ability to solve the thorny deployment issues so common to desktop applications, we are stuck with enterprise applications that are an order of magnitude slower than their desktop counterparts. There are few web applications that have made use of keyboard shortcuts and even with the advent of AJAX, the performance of a web app fails in comparison to the same application running in a local network, assuming, of course, that you haven't designed the application to use web services, which inherit the same HTTP latency as web applications.

Don't get me wrong, I'm all for web applications. It's what I do; but, the issue I face is the loss of productivity that businesses are experiencing as a result of all the 'advancements' being made in the software industry.

This is particularly evident for organizations that have switched to web based versions of their management systems. The loss of productivity for day to day users of these systems is astounding, and this presents a risk to many organizations who are depending on technology to help their staff work more productively. I believe this risk can be mitigated by software vendors by adding the following to the requirements for any new application.

  • No performance change for high traffic use cases. This will require identifying the usage scenarios in an application where the end user will be performing a large number of repetitive tasks such as switching between screens or selecting items in a screen which have dependencies. The new solution should allow the end user to perform their work without seeing any
  • Separate presentation and business logic. Decouple the user interface from the domain specific logic as much as possible by making use of design patterns such as MVC and MVP to ensure that if a web to desktop transition is required, it can be made with the lowest level of effort possible. These designs have the added benefit of making your code easier to test.
  • Choose an appropriate presentation technology. After identifying the usage scenarios with the most repetitive tasks and the highest volume of usage, choose a technology that will help to mitigate the risk of losing productivity with the new solution. Depending on the platform requirements, this may involve creating a native Windows application or the use of some of the new technologies such as WPF/E

Some of these requirements will require gathering metrics for each usage scenario such as number of clicks to complete the process and the average amount of time to complete the scenario. By studying the differences between the existing and future states for each of the high volume scenarios, designers will have specific data that they can use to determine the impact on worker efficiency related to the proposed solutions; and by thinking about worker efficiency up front the final solution will have a much greater chance of making the end users more efficient and the business in general more profitable.

What do you think? Have you performed efficiency testing and subsequently changed your architecture based on the results? I'd be interested to hear from you.

--------------------------------------------------------------------------------

As an side note, WinZIP operations can be significantly improved for large files by right clicking the zip file, choosing Properties and clicking the Unblock button (See posting on WinZIP site):

It turns out that Windows assumes that the contents of zip files could be unsafe for users--go figure!

Now, if only I could find some way to fix my issues with Outlook 2007. Of course, it probably has something to do with a 1.3 GB pst file.

Technorati tags:

Thanks for stopping in to Business, Technology and everything in between. I have discovered over the years that I am an entrepreneur at heart and that business just absolutely fascinates me. When I was a kid, I went from one start-up idea to another. I sold greeting cards door to door when I was in elementary school and started my own woodworking business when I was in Junior High. Try as I may, I can't seem to shake the dream of starting businesses.
It makes me feel old to say this, but I've also been programming for 22 years now. I'll never forget taking computer lessons at a family friend's house over one summer. I started with the simple BASIC programs that left your name floating in patterns across the screen and, of course, it went downhill from there.
I wish now that I had majored in Computer Science rather than Math and Physics. Of course, everything I did involved computer programming. My senior project was a computer simulation of the electric field distribution in multi-layer slab waveguides and while working as an intern with the high temperature superconductor group at Argonne National Laboratory, I added color and shading to a 3-D graphing program I had written in high school and dedicated my time while on the clock to updating and writing new data acquisition programs. I just can't escape writing code.
And so, here I find myself, 22 years down the road, fascinated with the intersection of business and technology. For all of the advancements in the area of software development, you would think that we would have developed software factories (Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools) like Jack Greenfield describes in his book, but it seems that we are only at the point now where we're thinking and talking and strategizing this approach but not actually doing it in an established way in the enterprise.
So, I dedicated this blog to the ponderings and musings on the topics of business, technology and everything in between. There's certainly no end to the content that could be added here.
Currently Reading:
Head First Design Patterns (Head First)
Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software

 Print