10 tips on how to prevent business value risk
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Jonathan Allen on Oct 01, 2006
Listening to all the Web 2.0 hype, you would think rich client applications have gone the way of DOS and dinosaurs. But it appears that the New York Times didn't get the memo, and they have the killer app to prove it.
The New York Times has released a beta of the Times Reader to critical acclaim. While some question the logic of creating a separate application just to view website content, they cannot actually find fault with the program. The readability enchancements alone are just too good. As Rafe Needleman says. "I admit that if I wanted to take a stand against this type of application, I could simply not use it--the Times' Web site has the same content. But the New York Times Reader really is a better way to read the Times' news."
The Times Reader isn't your typical rich client application. By leveraging Microsoft's ClickOnce technology, the application is updated automatically without user involvement. New features are automatically downloaded and installed whenever the user starts the program.
The presentation is done with Windows Presentation Foundation (WPF), a component of the soon to be released .NET 3.0. This gives the NY Times developers unprecedented control over the layout. Unlike a web browser, which has trouble displaying columns, the Times Reader can freely flow text from column to column as the page resizes. There are no scroll bars, users simply use the arrow keys to turn the page. And because it is an installed application, it can include the fonts used in the print edition of the NY Times. Other features not normally available to browsers include deep support for off-line viewing, automatic tracking of read pages, and the ability to annotate pages with your own notes.
Can this the beginning of a renaissance in rich client applications?
Sounds like microsoft has reinvented java webstart. Actually I am surprised that nobody has done this in java before, since webstart has been available for 3-4 years, giving exact the same set of hassle-free deployment benefits. Why not? Because there is no Java Presentation Framework?
Java Desktop Network Components (JDNC) is a project from Sun that combines Webstart and RIA, as I understand it.
Thick Client Applications are not cost effective. I hope we can achieve similar level of usability in a browser based application pretty soon. Moreover, I would not want to install hundrads of application on my laptop or PDA (one for amazon.com, or google.com, or nyt.com or etc.) I do not understand why we have to go backwards?
When all websites I visit follow this great example, I'll only have 300 companies' applications downloaded onto my PC. What could possibly go wrong? And what easier way to switch from site to site than starting a new application from the start menu. Which now takes up the entire screen. Oh yes; and kill another application because, with 300 running, I'm a bit low on RAM.
I am having problems seeing why rich clients should be dead. Granted, less applications need be installed on computers in the future, because many apps work fine as web apps. But not all apps work well as web apps. My screen grabber wouldn't for one. And how do I implement that custom plugin my company needs for that diagramming web app?
It's like people say "Web apps are cheaper, because we can update everybody in one go". But we just wrote a live update for a desktop app we are developing. You know what? It only took 2-3 days to implement! Every app can afford to implement live-update, even if it doesn't use .NET or Java WebStart. It's not that hard to do.
We implemented live-update because Java Webstart doesn't let you make upgrades only available for people with valid licenses. And how do you do that in your web app, by the way? Let peopel continue using what they already paid for, without having to upgrade to the next version? Very easy with live-update, very messy with web apps.
And, it's not like web apps are *always* easier to install than rich client apps. You can just download and run a .exe file without saving it. When you close the app, it's gone. It's the same with Java Applets.
Yes, more and more apps will become web apps, but not *all* apps. Not yet at least. There are still times where people need to be able to run apps offline, or where the app is too big to be downloaded on demand, and where a web app just isn't suitable.
Installed this program, but clicking on an article caused my machine (Compaq 1230NX, XP Professional, 1gig memory) to reboot. I already had .net 2.0 installed but not 3.0. Not ready for prime time, I think.
Maybe we could migrate everything to web app and create a really thin cost effective client... Mainframe X clients ring a bell?
History repeats itself, but there is nothign wrong about it, if we evolve each iteration. So, web is not a mainframe client and smart clients are not old PC app.
Give it a try
Well it is a beta. Once the final cut of .NET 3.0 is released, it should be more stable. You can expect that to occur at the same time as the Windows Vista launch.
I believe a + for Rich Client is that you can target a much simpler architecture, with much less "pure" technical layers which are necessary as soon you start with distributed applications. You basically have your two tier application: GUI + Database.
This does'nt mean that your application isn't well egineered, in contrary : you very well can have your layers and seperation of concern in the "Fat" Client. In contrary, you do not have to start tearing apart layers, because of distribution.
For many a opertioaal Entreprice Application, such a architecture is completely sufficient. You have a application, which is simpler, robuster, easier to develop and maintain.
Deployment issues, which you have for such a "Fat" Client, can be adressed, with other application transparent technology, eg. Citrix Mainframe or VNC Technology. I very much believe, that the Java Community, would be well advised to embrace Rich Client Technology, not "only" through RIA, which really is moving the code to the client again. Sometimes i suspect that the Rich Client vs Internet "fight" is very much a "political" one and does'nt adress "real" requirements of enterprice computer.
What i would like to see, is more technology, which protects your investments in your application code, but let's you "exchange" or develop a new UI more quickly, be it Web or rich. In this area, i think Oracles ADF Technology could be showing a way. But sadly Oracle is also emphazing on the JSF/Ajax Client and not enought the Swing Rich Client capabilities.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.
John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.
Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.
Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.
Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?
Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.
9 comments
Watch Thread Reply