Moore’s Law, Performance and RIA

As you all know, Moore’s law predicts that the computing power will double every 2 years. In recent times experts have revised it to 18 months. The question is what have we been doing with the extra power? We have used this power to …

  1. … reduce the time taken to complete specific computation activity
  2. … support more users from the same server box
  3. … enable virtualization
  4. … implement virtual machines (JVM, CLR)
  5. … popularize scripting languages
  6. … allow richer user interface

We have also used it to …

  1. … build bloated and inefficient operating system & system software
  2. … hide inefficient coding practices
  3. … create too many levels of indirection in coding

As you can see, in some cases we have used the extra power to build better systems, to provide flexibility and manageability. We have also used the extra power to cover our inefficiencies. Having said that, let me also add that it is not always obvious how to utilize the extra power. It is relatively easy to utilize the extra power on the server side by simply increasing the number of users and processes per server. However, on the desktop, which is the client, you can not add more user! Only way to do it is to shift processing load from server to client. That is where Rich Internet Applications come in.

When we think of RIA our first thought is about improving usability and user experience. But I think the scope of using RIA to squeeze out better performance from the same infrastructure has not received enough attention and the cause can be traced to the two great divide that exist in the developer community.

The first one is between developers and the testing professional. Performance optimization can not be achieved without accurate measurement. Intuitive design decision may not lead to optimum performance and common sense is not always good enough. Design decisions need to be validated through proper measurement. Developers are normally not experienced in using performance measurement tools and may not even consider it necessary to master it. On the other hand, the testers will know how to measure performance but may not be interested in exploring how to improve the performance.

The other great divide is between the developers who specialize in server side programming and those who program the client. It is almost like two different world. Neither do they understand each other, nor do they want to. For example, java developers consider anything to do with the client side programming to be in the exclusive realm of the graphic designer. On the other hand, client side developers consider server side programming to be too complex.

How do we bridge this gap?

2 Responses to “Moore’s Law, Performance and RIA”
  1. Yogesh says:

    In my experience “necessity is mother of all learning” oops for invention too! When their is a need to bridge the gap, it will be bridged, the bridge is basically built by working together where each specialist fills in the parts which are missed by other specialists. Yes, checklists and processes help in smoothing the interactions between the specialists.

Check out what others are saying...
  1. […] What HTML5 proposes to do is to remove most of the programming limitations from the browser and allow any browser based application to be almost as powerful as any native client application. It would also allow us to take advantage on increasing processing power of the client machine and build richer applications – Moore’s Law, Performance and RIA. […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: