Many corporate intranets require typical web functionality, but also they are often used to deliver application type solutions to the user without the hassle of maintaining any installations on the client PC. So what’s my point….Well my point is that web applications provide great value to administrators of systems, but they really do detract from a user’s experience. So how do we make what should / could be a thick client application, work well within an intranet environment?
User Experience
We all have used web based applications, some great some very poor. However, with almost all of them they are delivered in an old fashioned way. For example, a user makes a request to the page, something happens on the server, the page is recreated at the server then sent back to the client updated in its new state….Great. However this can take time, which isn’t always great, but more importantly it can become limiting and frustrating to users. You also have to think that changes to the look of a page still have to be processed and completed on the server. At the end of the day, standard web applications still feel, well, a little “clunky”, no matter how much fancy Javascript you can write…
Often because of this, users don’t give great feedback on the intranet itself, which is wrong; rather they should be giving negative feedback on that particular application / service delivered through the intranet (there is quite a big difference).
An improvement…
Intranet applications that take advantage of AJAX do deliver a far greater experience – AJAX has ensured we are moving in the right direction, ensuring you don’t always have to wait for a page to be submitted and then returned – rather the page has a “conversation” with the server. This has improved the user experience greatly and has removed much of the “clunky” feel web applications can have. But there are still issues. Here are a couple of things I don’t like to be honest:
- It still looks and feels like a web page (which can be a positive – but for more complex applications this is a big negative)
- You are still navigating around and waiting for a web page to come back (when requesting new pages)
- Users can request “back” in the browser (unless the application has turned this off) or worse they think they should be able to go back…
- Limitations on the application behaviour
- Occasionally the server is still being used to deliver client side features (conversation that attracts data then updates a data grid on the web page)
- Flexibility as a developer / ease in which to control the application
So let’s be honest, a web application still cannot compete with a good old fashioned “thick client” application installed on the PC for usability / user experience and performance….
The solution?
Well RIAs (Rich Internet Applications) hold the key. They bridge the best of both worlds in regards to thin client administration and thick client usability. This is more apparent for an intranet solution; there really is no excuse for keeping to old html based solutions.
In an intranet environment you can really go to town. You can deliver massive sized RIAs down to the client machine as you are on the network. More importantly with a little “caching” by your browser, the application need only be downloaded when an update has been made to the software.
Silverlight provides a great RIA platform, and allows intranet solutions to deliver the best of both worlds to businesses. Silverlight has many features built in that allows developers to manage how the application is delivered down onto the client machine, parts of the application can be split up and downloaded in the background ensuring the user doesn’t have to wait for areas of the application. Basically as a developer, you have almost a “thick” client environment to play with, allowing applications to behave just like thick client applications and provide the user with a far greater experience. This ensures processing that is done at the client end (such as displaying data) still all occurs on the client machine – with the client processor doing the work). There is a real separation between client processing, data, and server interaction (especially as the application utilises a Service Orientated Architecture)
However, you can also utilise the benefits of typical web pages, allowing state to be stored by the browser, navigating around in pages (if desired) and more importantly, not having to worry about client installations.
An issue – there can’t be?
There is just one problem with intranets being written in Silverlight or demanding Silverlight based RIAs. Most in-house IT departments will find they have any number of people who can “play around with HTML” or claim to be a “web developer” when really their skills are limited to modifying standard HTML. Even with typical ASP.NET and AJAX solutions, you will find that people with a basic understanding of HTML will be able to modify certain aspects of a web page / web application. With Silverlight, you need skilled individuals. This means companies have three options
- Employ people with the skills (not cost effective)
- Provide training for current employees to get some basic skills (again is this the best option?)
- Utilise software companies on an ad-hoc basis (best on a retainer of some sort).
The Silverlight RIA payoff
Silverlight provides the possibility for intranet solutions to work as well (if not better) than typical thick client applications. This ensures usability, flexibility and scalability of solutions and opens up a new way of interacting with business applications through your intranet. There is no reason for intranet solutions to deliver “clunky” applications that users will not like to use, instead, provide “real” applications that empower your staff to do their work while keeping your IT administration to a minimum…

Recent Comments