Thursday, March 11, 2004

What is a smart client? 

Interview with Simon Guest
What are smart clients and why do they matter?
So, 'smart client' is a new term, or a relatively new term for developing clients on the .NET framework that exhibit a number of properties or comply with a number of tenets. And again, with any of these new marketing or terms, it's really about what you perceive as being a smart client, as for the definition.

So my definition of a smart client falls into five categories. A smart client for me must be connected to Web services. It must utilize the local resources on the actual machine. So, things like multimedia or maybe Office, if it's installed. It must expose the abilities of the device. So, if I'm running on a PC, I don't want my application to just run in a single window, I want it to maybe open multiple windows and maybe really leverage what I have on the desktop and integrate with Explorer as well. Likewise, if I'm on a pocket device or a Smart Phone, I want to really expose some of the capabilities there as well.

Number four is kind of a 'must work offline' or that's certainly one of the tenets we're really pushing. So, if I'm at the airport and I'm using the client, I can then get onto the airplane and it's going to work in some limited fashion, although in an offline state.

And then, finally, it must be able to have some way of being auto-updated or auto-deployed. So there're certain patterns and certain techniques that we're looking at to say: Well, how when the actual client is deployed to the desktop, can we then update it, or can we then basically deliver new versions of the application without causing this deployment nightmare.

So, what's the role of Office in the smart client platform? So, personally I see Office as really being a foundation of being a smart client. So, Office itself, in stand alone mode can do some smart client functionality. But in itself it may not be categorized as a smart client executable. So what we see is a number of applications and utilities that are built using Windows Forms, they're consuming Web services, but then they're using the local resources of Office as they exist today.

So, one way to do that is to use the Visual Studio tools for Office. And what this does is it provides a managed API both for Word and Excel in the current version. And this is great because what I could do then is I can build my applications in new Windows Forms, I can add support for offline, I can connect to Web services, but the type of data I'm actually dealing with can really be native to Office. So, maybe I'm actually attaching that assembly to a Word document/literal, or maybe I'm integrating some functionality within Excel to provide functionality that, otherwise, I would have had to write myself.

And I think for customers that are actually looking at the space, they see the value of Office as being there in the enterprise; it's installed on pretty much everyone’s desktop. And really, they're looking for a way to leverage and make use of the benefits of Office within this smart client paradigm.

Links to this post:


Comments: Post a Comment

This page is powered by Blogger. Isn't yours?