Smart Clients Post Event - Slides and Demo Source Code

As promised, I have uploaded the presentation and source code for today's Smart Client talk.

Just in case you are interested in more details (looking at smart clients from an architectural perspective), I have added few additional slides (marked as hidden) and some of them have speaker notes too. If you have got any questions in regards to those topics or generally about the talk or the related subjects, then drop me a line (via the Contact Form).

There is one additional thing that I didn't cover, and that was the way you point to SQL Server 2005 Express .MDF file. As we saw ClickOnce deploys all of the published files to a location under user's profile. When you specify the connection string to open the connection to the file, there is a magic expression that points to the current folder (where the executing assembly is located) and that is "|DataDirectory|". You need to use this as a prefix and then specify the database file name. You can see this in the code for the demo.

[Download Source Code and PowerPoint Slides - 1.77MB]

All you need to do to run the demo is to extract the solution to a folder, make sure you have access to a web server, right click on the SmartClient project and choose Publish. I am assuming that you have got Visual Studio 2005 and SQL Server 2005 Express installed already.

Published Wednesday, November 16, 2005 11:21 PM by Mehran Nikoo

Comments

# re: Smart Clients Post Event - Slides and Demo Source Code

Good talk Mehran. I think you really hit a nerve there when talking about the install location for ClickOnce apps, i.e. the user's profile. This was something that escaped me at least in previous demos.

As far as I can see, it is a hack to make ClickOnce deployments available to the same user base as browser apps (so meeting the "broad reach" requirement) and completely breaks the concept people have of an "installed" app (a trend started by MS Office by requiring the install disk each time a new user runs an Office app).

Surely the problems involved in allowing users to install to Program Files aren't insurmountable. You could have a policy setting to turn it on and off (there's probably one already), falling back to user-profile install.

Anyway, time to stop spouting off in your comments! Thanks for revealing all :)

Thursday, November 17, 2005 12:56 AM by Ian Horwill

# re: Smart Clients Post Event - Slides and Demo Source Code

Good point Ian.

I had a related post a while back (http://mehranikoo.net/mysite/posts/1863.aspx).

I think the issue is not necessarily related to ClickOnce. The challenge is that we want to have certain functionalities (e.g. building a reliable solution by persisting state and data on the client, integrating with other applications running on the client). These functionalities will have a footprint on the client. Although there is no way (at least today) to run such application without a footprint, however we can minimise it (e.g. by sticking to XCopy deployment policy, SQL Server Express, RegFree COM, etc).

But even that requires administrative effort and has security implications, so practically when we say "broad reach" we are talking about a controlled environment like an enterprise.

We also talked about AJAX and Microsoft's upcoming technology; Atlas, which will have much less footprint. For each scenario we need to compare the pros/cons. If having a broader reach is more important than the other aspects (like reliability and offline capability) then we can go the Atlas route.

Thursday, November 17, 2005 3:00 AM by Mehran Nikoo

Leave a Comment

(required) 
(required) 
(optional)
(required)