(picture)

November 19, 2004

Smart Clients

My bloglines-fed Groove workspace has a category-name, by the way: "smart client". Here's Microsoft's Scott Garvey talking about what that means...


(interviewer)"What started the conversation out was, people are asking, you know, where are all the smart clients?...
(Garvey)I think what we're finding is, smart clients is really the phase two client that gets in front of these web services. So the natural client, when you first produce some web services, the first client you think of is "oh, let me put it in a portal". ...what we're finding is we're replacing our portals and providing smart clients.
...Yes, you want to read that. But then if it's "hey, let's act on that information... you'd better put that beyond a browser and into a smart client.

What Scott doesn't mention (after all, "evangelism" means "talk, no trousers") is that building a smart-client is all about leverage: how much function you get for your line of code.

Microsoft has some "patterns and guidance", a "deployment guide"... Eventually they'll end up building tools for this into Visual Studio, into Office (IWBridge, and so on) - but from listening to Scott, building smart clients sounds like hard work. It's not!

The Groove / Forms / Web Services / IntegrationApp stack I'm using gives me "Bloglines offline shared with a group with notifiers and presence and all that, with secure automatic offline synchronization and multipoint update, etc etc": for a few hundred lines of code. Specifically, "bloglines.cs" (my webservices wrapper for bloglines access) is 475 lines of verbose C#. And "class1.cs" (the integration app) is 350 lines. It took four hours to build, including the rich forms UI.