Srinivas Reddy’s Weblog

My Tech Rants

Emerging Client UI Paradigms

leave a comment »

I would like to share with you  my thoughts on the emerging User Interface(UI) paradigms.  From the end user perspective UI is the most important artifact.  While we have come a long way from text oriented mainframe UI’s to the rich graphical desktop interfaces, the new wave of computing/ communication/ entertainment  devices are throwing new challenges to human interface designers.

While developers are mostly focussed on applications for the PC (desktop/laptop) based on thick client or web based thin client paradigm, increasingly new clients are seeking developer attention. While currently PDA/mobiles-smartphones/game consoles/ web consoles are other important clients, going by the  current trends in embedded systems we will have a lot more client interfaces (wearable computing/ home networks/ telematics/ building automation/ medical automation/..) that the developer community needs to address. Even in the PC world we see that service orientation  (Web 2.0/…) of applications  is leading to rearchitecting of the UI development paradigms. If the current buzz of Ajax is anything to go by we are seeing a gradual shift from thick client -> web client -> rich/smart client applications. While a great user experience is what a well designed UI must offer, it is very much a result of the UI paradigm adopted.  While Micorosoft/Intel argue that PC is not dead they surely are not ‘the’ growth segements any more. Developer community will do well to understand the UI paradigms for the other emerging clients. More importantly having a uniform UI development paradigm that can address the diverse clients is critical for developing the killer apps that are missing on the emerging clients.

A look at the current development efforts of key vendors will throw light on trends here.  While Microsoft VisualStudio development environment is the broadest on vision on addressing the emerging clients, Eclipse development environment is also emerging into a platform to unify multi client developments. The programming model/framework with visual tool support is a must for productive application development. While the Java community with its J2SE/J2EE/J2ME libraries tries to address this, the options between choosing AWT/Swing/Swt UI libraries is open. While UI frameworks like JavaServerFaces/Struts/..  help, developers need to understand that they are specific solutions for specific problems. While the microsoft ‘presentation foundation (includes latest windows UI related libraries) ‘is the building block for the windows developers the emerging clients are too diverse to be addressed by this alone. The symbian community promoted by the mobile vendors (nokia in particular) and the open source efforts (be it the linux desktop efforts, scripting languages efforts,….) also need developer attention.

Even as we enter increasingly distributed applications world (Software as a Service) the increasing outsourcing of applications adds to the complexity of UI development. While the list of requirements/expectations from UI are huge (response times/usability/personalisation/localisation/adaption/……) doing this for mutiple client channels in a uniform way increases complexity by orders of magnitude. This makes a well thought out architecture to address these issues all the more important before we try to figure out why things dont work. While different platforms try to address this to varying degrees we as software developers/Architects can do our bit to think of the requirements upfront and try to incorporate them into our designs  to the extent possible.


Written by srinivasreddy

May 17, 2006 at 2:10 pm

Posted in Technology

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

%d bloggers like this: