Lijit Search
 
I only post when I have something worthwhile to say, so it might be easiest to subscribe so that you automatically receive any new content.

Email RSS Twitter ESP

This is my personal blog and anything I write here in no way reflects the opinion of Cisco Systems, my employer. If it does, it is only by pure coincidence :) Nothing here constitutes investment advice either, so you can't sue me.

More about me here

View Jason Kolb's profile on LinkedIn

Popular Tags Recent Archives

    License

    • Creative Commons License

    Fun Stuff

    • The content on this site is provided without any warranty, express or implied. All opinions expressed on this site are those of the author and may contain errors or omissions. NO MATERIAL HERE CONSTITUTES INVESTMENT ADVICE. The author may have a position in any company or security mentioned herein. Actions you undertake as a consequence of any analysis, opinion or advertisement on this site are solely your responsibility.
     
    Does anyone know? MySpace is just a giant data silo and I hate it.

    The return of client-server

    As I've been planning and prototyping my next major project, I realized that we really haven't figured out what the optimal archicture for Web 2.0-type applications is yet.  The big difference is that some of the application itself lives on the client now, not just the HTML that the back end spits out.  There's plenty of documentation out there on writing pre-Web 2.0 Web applications, but it's still pretty much up in the air as to how much of the application should actually live on the client versus the server.

    I'd call this another application layer beyond the presentation layer, because it's not just presentation.  A lot of the new Web applications out there (e.g. NetVibes) live almost entirely on the client, and just use the server to store data.  In fact most of the new Web applications use the client not just for data presentation and manipulation, but also for input validation and even storage (the use of Flash as a small-scale storage medium is blossoming).  It's almost like adding that old client layer back in from client-server computing.

    The problem is, it always takes a while to get new architectures right.  I've found that when I use services like NetVibes, once I create too much data and the client app gets too fat, it starts to break.  But from what I can tell, they use the client to render the windows, lists, feeds, pretty much everything.  I don't really think JavaScript is heavy-duty enough to handle that much of the application, and I don't really care to start worrying about system specs again in the future.  With $100 laptops coming, the client side has to stay lean and mean.  I actually just found a post by Phil Wainewright describing the service model of Employease, which I think is a great example of a good architecture in this new world.  That is, they provide a list of services that can be called from either the client or another server, depending on the business need.

    On the other hand, users are getting used to rich client experiences, and there even benefits to it.  For example, pretty soon we'll be able to use the client for identity verification and personal security.  And we'll be able to use the clipboard in our browser experience.  And lots of other cool stuff.

    I don't think any of the regular big boys in software development have really figured it out yet.  Microsoft is trying to straddle the fence on this with their Atlas API, but they're getting terrible reviews and the code it generates is way too fat.  I think Dojo is by far the best designed API out there, they have the right idea with providing rich-client Widgets and offloading the heavy lifting transparently to the server with their great IO engine.

    Somebody needs to do a study on rich client scalability and architecture design, or maybe it's out there and I just haven't found it yet.

    Does anyone know? MySpace is just a giant data silo and I hate it.

    TrackBack URL for this entry:
    http://www.typepad.com/services/trackback/6a00d834517df069e200d8342784c053ef

    Trackbacks to The return of client-server:

  • Marrying objects and services in Web apps from JasonKolb.com
    I've been thinking a lot lately about the best way to construct Web 2.0-style applications. I posted before about how AJAX and Flash apps have almost returned to a client-server model again, with much more of the application living on [Read More]

  • Comments

    blog comments powered by Disqus