Subscribe: Paul Ballard's WebLog
Added By: Feedage Forager Feedage Grade B rated
Language: English
add  ajax  application  based authentication  forms based  net  new  part  sharepoint  visual studio  web part  web  year 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Paul Ballard's WebLog

Paul Ballard's WebLog

.NET All Day.... .NET All Night. The semi-coherent ramblings of a sleep deprived mind.


Happy to NOT Be an MVP!!!

Thu, 08 Jan 2009 23:14:00 GMT

Wait, it's not what you think.  This isn't some "sour grapes" post where I bitch and complain about not getting awarded the MVP this year.  I'm not tossing Vista out the window for penguin software nor am I going to start abbreviating Microsoft with M$.  It was actually my choice.

Receiving the MVP award is a great honor, and one that has to be earned each year.  I was very proud of having received it for the past four years and appreciated Microsoft recognizing the support I gave the community.  But this past year I've been buried with work in my new job and just didn't have the time to speak and write as much as I should have (as the lack of blog posts here shows).  So this year I didn't ask to be renewed, preferring instead to step down and make room for some other more deserving folks like Rob Marshall and Chris Hay

I want to thank my US MVP Lead Ed Hickey for supporting me all those years as well as Akim Boukhelif for supporting me on this side of the big pond.  Best of luck to all of the new MVPs and maybe when my work life settles down I'll once again be worthy of the MVP title.

Great quote from Steve Ballmer on Apple’s “Cult Following”

Wed, 01 Oct 2008 16:41:00 GMT

I attended a TechNet event today called “Technologies to Change Your Business:  How Customers Are Implementing Tomorrow’s Strategies Today”.  It was primarily geared around Microsoft’s virtualization stories and SQL Server 2008, but I attended to see if Steve Ballmer was going to drop any news about Microsoft’s Cloud Services.  After his keynote, there was a question and answer session where a question was asked that led to the presenter talking about Apple’s “cult like following” for its products such as iPhone.  This was Steve Ballmer’s reply:

Currently 97% of people run our software.  I don’t know if that qualifies as a cult but we’re pretty happy with our numbers.

Well said sir, well said.

First published on my new blog at

MVP Summit 2008 - Wish I Could Be There

Mon, 14 Apr 2008 22:45:00 GMT

Well, the MVP Summit started today and I'm starting to see both blogs and pictures come out.  Sadly, this is the first one since becoming an MVP that I've missed.  The distance and expenses of getting to Redmond from London were just too much for me to overcome, to say nothing of the piles of work to do here at BT.  But even though I'll miss the festivities I'm sure my MVP brethren and sistren (is that a word?) will have a great time and hopefully know that I'll miss seeing them this year.

Facts vs Web 2.0

Wed, 09 Jan 2008 00:19:00 GMT

I was recently wallowing in my usual firehose of RSS feeds when I came across a link from Heather Leigh's blog about Mozilla's attempt to poke at Internet Explorer by quoting statistics that say IE users are more likely to get, have, or be living with cancer.  The firestorm of disgust and outrage that they have since been dealt is certainly justified.  But what really bothers me isn't that the ads were in incredibly poor taste, and they were, but that all of the so called "stats" were in fact complete works of fiction. In the past several decades the world has seen a huge rise in the amount of information available with the click of a few keystrokes.  But information IS NOT fact.  Information requires interpretation and the application of judgement.  Facts are information for which there is actual evidence.  Now of course you can say that facts change, after all in my lifetime scientists have discovered that the electron is not the smallest particle of matter.  But those cases are rare enough to be largely irrelevant, paritcularly when you're just trying to find out who the heck invented cheese in a can.  So then, as information overload hits us all sifting through the rubbish for actual nuggets of fact is becoming ever more difficult.  And Web 2.0 is making it worse. I read through literally hundreds of blogs a day, a habit that first started while I was the editor for TheServerSide.NET.  During my reign there (sounds better than job), I saw first hand how information is misinterpreted as facts.  In a blog post Clemens Vasters joked about a meeting with Don Box where a new technology was going to be created called BOA or BML.  It was a joke, but Mary Jo Foley from Microsoft Watch picked up on it and reported it as a new technology on the horizon from Micorsoft.  Okay, so you can say shame on her for not getting her facts right (or ever reading the post correctly) but the real shame is on us, because if they hadn't pointed out her mistake we'd all be wondering when BOA and BML would be released.  Blogs are great, you're reading one now.  But whether you believe what I write is based on what exactly?  A perception of my expertise?  The fact that I have an MVP logo on my page?  Just because somebody can throw up a blog and pump out deeply thought out pontifications on the evils of corporate programming doesn't make them experts nor does it make their products actually sell (Yes, I'm talking about Joel Spolsky).  Another case in point where Web 2.0 is blurring the line between fact and fiction is the case of Socal Networking.  Now I believe that social networking can be a valuable tool.  I like looking at the recommendations in Amazon or Rhapsody from other readers/listeners.  I've found some really cool music that way.  But social networking is predominantly an aggregation of opinion, not facts.  You wouldn't go to Facebook to find out how magnetism and motion are converted into electricity, although I'm sure somebody has an opinion about it up there somewhere.  However, people often look to sites like Wikipedia for actual facts even though it has had numerous scandals of individuals posting incorrect information or information slanted toward a company's product line.  In that sort of world, the loudest voice is the expert (see earlier reference to Joel) and facts are largely irrelevant.  But even in sites like FaceBook, data is often fiction.  How many articles do we have to read about teens thinking they are talking to another teen only to find out that they are actually a 43 year old dock worker looking to take advantage.  A teen reads the age quoted and accept it as fact automatically.    It all comes down to who do you trust.  Where can you get factual information online?  If I put up a flashy website with a nice corporate logo saying that I'm [...]

New Year's Eve in London - Amazing

Tue, 01 Jan 2008 16:19:00 GMT

Last night was an excellent example of the pleasant surprises you find when moving to a new place.  I usually watch the ball drop in Times Square on Dick Clark's Rockin' New Year's Eve and often thought how great it would be to be in the crowd cheering as countdown reached 0 and the new year started.  That desire has been replaced though with what I saw last night.  Now I want to be a part of the 700,000 member crowd gathered along the Thames counting down to 0 followed by an awe inspiring near silence as we listen for the tolling of midnight by an illuminated Big Ben in the distance.  This was followed by the biggest, most impressive fireworks display I've ever seen, even if it was just on TV.  They launched fireworks from several floating barges, at least two moving speedboats, and directly from the London Eye. 

That was New Year's in London and next year I will be on the bank of the Thames, freezing my arse off with the rest of the Londoners to see this amazing show in person.


Happy To Be... An MVP.. Again...Again!!!

Tue, 01 Jan 2008 15:27:00 GMT

I am once again honored to announce that I have received a Microsoft MVP (Visual Developer - Visual Basic) award for 2008.  Much thanks to Akim and Vicki my new MVP Leads here in the UK. 

As I look back to when I made a similar announcement last year I would never have imagined the events that have lead me to where I am today.  My wife and I started 2007 on the losing end of a bitter and expensive custody battle for two children who we felt needed our help.  At the end of March, I wrapped up one of a seemingly endless stream of consulting projects, this one having me travel full-time during the week to Houston while still living in Dallas.  After fifteen years of being an independent consultant, I was ready for something new.  It was just about that time when a friend sent an email that his company was looking for people in London and New York.  I half jokingly asked my wife if she'd want to move to London, to which she fatefully said "Sure, why not".  That one statement would lead to the end of my consulting practice and me taking a full-time job for a firm who moved my wife and me to London. 

Things didn't go well at first, the adjustment to living in London was a lot harder than I expected and things went bad quickly with the new job.  But things are much better now.  I have a new job that might be one of the most challenging positions I've ever had.  We finally found a place to live and managed to get moved in after more than three months of living out of suitcases.  I still miss my family and friends and also my dogs Maggie and Libby.  But since coming to Europe, I've been to Spain twice, I've driven across the whole of France, and visited Paris twice. 

Looking forward to 2008 it's tough to say what the year will have in store.  My new job is going to have me hopping, but I do have plans for getting more involved with the local developer communities.  I am looking forward to adding Italy, Greece, and maybe Prague or St. Petersburg to my list of adventures.  And I am looking forward to a trip home to see family and friends as well as my fellow MVPs at the MVP Summit in April.  All in all, I think its going to be a very good year.


You Know You're NOT In Texas When...

Thu, 27 Dec 2007 00:48:00 GMT

My good friend and native Texan Noah Coad recently wrote a post entitled "You Know Your In Texas When" highlighting the sights and mostly tastes of Texas that stood out during his visit with family over Christmas (Noah works for Microsoft and now lives in Redmond).  Being a former Texan who transplanted himself even farther away than the Pacific Northwest, I couldn't help but make the opposite comparisons in my new home (which for those of you who didn't notice the picture above is London, UK). 

  • Its December and the sun goes down around 3:30pm. 
  • You can't see across the street for the thickness of the fog. 
  • Very few people say "Merry Christmas", preferring instead to say "Happy Christmas". 
  • Instead of watching NFL Football, you watch "The Great Escape" but aren't entirely sure why.
  • The local "Barbecue" joint, and I use that term generously, has a full page "vegetarian" menu
  • The women are amazingly beautiful but with fewer blondes and slicone "enhancements"
  • A drive of 70 miles from London to Felixstowe today left my wife and I physically and emotionally exhausted
  • The vehicles are tiny, but with better headroom than 90% of all US cars.  Go figure.
  • There are NO parking spots, compact or otherwise
  • As opposed to a statue of a somewhat unpopular one-term president that everybody knows about, you see a statue of a hugely popular historical figure that you've never heard of. 
  • Mexican food here is baaaaaad.  How in the name of Guadalupe do you have Mexican food with no beans?
  • While shopping at the local Waitrose for a Christmas ham you end up settling for a Gammon Joint which in fact turns out to be ham.
  •  Bluegrass music is not played here ever, I'm pretty sure there's a law.  Country music is rare.  Dance music and R&B are everywhere.  You dream about XM Radio.
  • It seems the younger population outnumbers you about 100:1.  Either London is a very young city or I'm getting very old.
  • Gas (Petrol actually) is ~£1.20/l or roughly $9.00/gallon.
  • Restaurant servers barely acknowledge your existence. 
  • You're 4500 miles from your friends and family.


Updated WCF RSS Toolkit for Visual Studio 2008 and .NET 3.5

Sun, 25 Nov 2007 14:09:00 GMT

Now that I'm happily living in the exciting, fast paced world of Greater London you'd think my weekends would be spent enjoying the active nightlife or soaking in the culture and history all around me.  But you'd be wrong.  I'm a nerd and so I spent my weekend in nerd bliss, a.k.a. getting reacquainted with my old friend WCF.  Sorry ladies, I'm taken.

I had reason to look at building a RSS service with WCF and ran across the WCF RSS Toolkit.  This is a very cool sample app written I believe by Clemens Vasters which allows developers to build services that expose endpoints encoded for RSS or ATOM.  The implementation is pretty slick in that it checks the QueryString for operations and routes the calls accordingly.  It also formats the feeds dynamically to RSS or ATOM using XSLT transforms before unwrapping the message from SOAP using a custom POX Encoder.

While this is all extreme coolness, and I take absolutely no credit for any of it, it did have one major problem.  It was built quite some time ago and uses the CTP version of WCF.  I assumed that somebody must have a more up-to-date version or a better way to generically build an RSS/ATOM service but after looking around for several hours I couldn't find much.  And so with a weekend to kill and my nerd gene complelling me I dug into the code and started migrating it to Visual Studio 2008 and .NET 3.5. 

There were several small changes that needed to be made to update some class names that were different between RTM and the CTP version and also a few abstract method implementation changes.  A more significant change was that the POX Encoder functionality wasn't really necessary anymore since WCF will send POX messages if you specify a MessageVersion of type "None".  After making these changes I loaded up the samples and confirmed that they all worked.

So here then is the updated version.  I've posted an item on as well.  If there's anything I missed please let me know.  Also, if there is a newer/better way to implement RSS/ATOM services in WCF feel free to comment to this post as my search wasn't necessarily exhaustive.

Visual Studio 2008 is Out and Startup Is FAST

Fri, 23 Nov 2007 14:41:00 GMT

Okay, so I have to admit that in the two days I've had Visual Studio 2008 installed on my desktop system I haven't had a chance to look at everything.  However, when I was at Tech-Ed Barcelona I saw several demos where the speaker started Visual Studio 2008 and it seemed to just spring to life.  My experiences with Visual Studio 2005 was far from "springy" including seeing the "Preparing Visual Studio for first use" diaog about every 5th time I started the application.  In every demo, I had to make sure VS2005 was already running to avoid long delays and audience boredom.

So one of the first things I tried after installing it (and getting the first use dialog dealt with) was looking at just how fast it comes up now, and boy is it fast!  This is going to make demos and just daily development life much easier.  Well done VS Team!

Tech-Ed (Developer) Barcelona Bound

Wed, 31 Oct 2007 12:27:00 GMT

An observant reader looking at my blog directly and not in their favorite feed reader may have noticed that several months ago the image at the top changed from the skyline of Chicago to that of London.  That's because in July my wife and I threw all expectations of decent customer service to the wind and relocated to scenic London England.

A side benefit of this move is that for the first time ever I'll be attending Tech-Ed Europe in Barcelona, Spain.  As with Tech-Ed 2007 in Orlando, I'll be working at the "Ask The Experts" booth in the Learning Center.  So if you happen to be attending the conference next week stop by and quiz me on Visual Studio 2008, or maybe just teach me to swear in the language of your country!

CKS:Internet/Extranet Edition - SharePoint 2007 Forms Based Authentication Solution Released

Mon, 15 Oct 2007 20:13:00 GMT


I'm very happy to announce that our first pre-Beta release of the SharePoint Forms Based Authentication features that the Community Kit for SharePoint Internet/Extranet edition has been working on is available for download on CodePlex.  This solution builds on many of the things I created for the version on my website but adds significant improvents in management of users and roles.  This solution also gives administrators the ability to approve/deny membership before the user is added to the MembershipProvider database.  We still have more to do but we wanted to get this work out into the hands of the public so we can get any feedback you might have as early as possible.



I want to thank everybody who downloaded the source code for the project I created around Forms Based Authentication with SharePoint.  The work of the CKS:IEE team supercedes this project in terms of functionality and usability and so I won't be offering any further support of the version I created myself.  Basically you're better off using the CKS version as it will continue to grow in functionality and be more stable over time.

This was a group effort and so along with my relatively minor contribution you can thank Zac Smith, Edin Kapic, Brendon Schwartz, and Stacey Draper for making FBA easier and more useful in SharePoint.

Google, I Was Kidding... Honest!

Wed, 26 Sep 2007 12:56:00 GMT

Last year, I published a widely unread set of what I thought were humorous predictions for the technology world in 2007.  One of those items titled "AJAX 2.0" stated that Google would create a technology that makes it possible for web applications to access the local resources on the user computer, thereby recreating ActiveX.  This was an attempt at a joke aimed at the fervor with which the development industry jumped on the AJAX bandwagon after the technology had been around for years. 

However, I just read a blog post about Google's latest attempt claw its way out of the Internet and onto your desktop called Google "Gears" and sure enough its remarkably similar to what I described, in concept if not in implementation.  Hopefully, and given that this was released months ago and I'm just now hearing about it, the developer community will think twice before jumping on this technology and sending us back into the bad old days of browser based infectious diseases in the form of executable scripts.


SharePoint/MOSS 2007 Forms Based Authentication Login/Registration Web Parts Update

Wed, 25 Jul 2007 22:49:00 GMT

I've been very pleasantly surprised with the number of people downloading the forms based authentication web parts I created.  I hope you find the code valuable.  I've also received via the comments section several questions about implementing one or more aspects of the solution.  I haven't had time to answer many of these lately and so I thought my loyal readership (up to 3 now!) deserved to know why.

I've been working with the Community Kit for SharePoint team to create a new open source (more or less) SharePoint template for Internet/Extranets which includes as a major component a much more advanced Forms Based Authentication solution.  This project is on CodePlex at  You'll see that the teams have already released an Enhanced Blog Edition.  In the CKS:IEE along with web parts for user self registration and password recovery, we're looking to add administration of users and roles, automatic configuration of FBA, a membership approval process, and many other features that will make using FBA with SharePoint easier and faster.  In the meantime however, that means I won't be able to get to all of your questions about the web parts from my web site.  I appreciate your comments and readership and will circle back to try to answer your questions when my load lightens up a bit.

Off to Tech-Ed '07

Fri, 01 Jun 2007 20:00:00 GMT



Going to Tech-Ed '07?  I'll be there.  You can find me in the Technical Learning Center (Blue Section) Monday through Thursday showing off Smart Client development in Visual Studio 2005 and "Orcas".  Stop by and say Hello!

VSTO: My Favorite Feature - Custom Task Panes

Wed, 23 May 2007 13:50:00 GMT

My avid readers (both of you) know that I've done quite a bit of work around Outlook 2007 Form Regions in Visual Studio 2005 Tools for Office.  If you missed those posts, you can read more about them here and here.  Form Regions are a great way to add custom functionality to Outlook forms but there's another way you can add features and Windows forms to all of the Office applications and unlike Form Regions (pre-Orcas) it's really easy.  Therefore one of my favorite features is Custom Task Panes. Adding a custom task pane couldn't be much easier.  Just add a UserControl to your Add-in project and build any functionality you'd like inside that control.  You can use the databinding features of WinForms, third party controls, and even COM+ components.  Then to use that UserControl as a custom task pane just add it to the CustomTaskPaneCollection like below. Dim ctp As Microsoft.Office.Tools.CustomTaskPane = Me.CustomTaskPanes.Add(New MyUserControl(), "Product List") You can then make the task pane visible either at startup or when the user clicks a button on the Ribbon.  For a great example of how to properly implement a custom task pane's visibility check out Ken Getz' MSDN Webcast.   By default a custom task pane is going to appear docked on the right side of the window for your application.  You can however specify where you want the custom task pane to display by using the DockPosition parameter. ctp.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionBottom The possible options for the DockPosition are: MsoCTPDockPosition.msoCTPDockPositionBottom MsoCTPDockPosition.msoCTPDockPositionFloating MsoCTPDockPosition.msoCTPDockPositionLeft MsoCTPDockPosition.msoCTPDockPositionRight MsoCTPDockPosition.msoCTPDockPositionTop You can also respond to the user changing the task pane's position by using the DockPositionChanged event.  Private Sub CTP_DockPositionChanged(ByVal sender As Object, ByVal e As EventArgs)        Dim ctp As Microsoft.Office.Tools.CustomTaskPane = CType(sender, Microsoft.Office.Tools.CustomTaskPane)        'Do something meaningful hereEnd Sub Lastly, you can restrict where the user can dock your task pane using the DockPositionRestrict property.  The possible options are: msoCTPDockPositionRestrictNoChange msoCTPDockPositionRestrictNoHorizontal msoCTPDockPositionRestrictNone msoCTPDockPositionRestrictNoVertical And that ladies and gents is all there is to that.[...]

MSDN Webcast: Visual Studio Tools for Microsoft Office from the Experts Series

Wed, 16 May 2007 15:05:00 GMT

Yesterday I had the honor of joining such names as Ken Getz, Tim Huckaby, and Robert Green by recording a webcast for MSDN in the VSTO Straight from the Experts Series.  In this webcast I demoed the FormRegionAddin templates I created for Visual Studio 2005 and showed how they worked under the covers to help make building Outlook 2007 Form Regions easier.  I also showed how the new Table object in the Outlook object model can greatly improve performance when working with itmes in folders. 

Before the show actually began, Mike Hernandez and I were on the phone together with Colleen the coordinator waiting for things to start when Mike started playing some truly incredible jazz guitar.  It's a shame the rest of the audience couldn't hear it. 

Much thanks to Mike for inviting me to participate and to Colleen for making it seem easy.  If you'd like to view the recording of the webcast, click here.  And if you have any questions or comments on the presentation by all means drop me a note here.


VSTO "Orcas" Ribbon Designer

Wed, 09 May 2007 16:00:00 GMT

Kathleen McGrath has a great blog post about her favorite feature in the upcoming "Orcas" release of VSTO, the new Ribbon Designer.  The Ribbon Designer lets you extend the Office 2007 Ribbon interface with your own controls.  She even includes a video walkthrough of using the designer to create tabs, groups, and buttons.  She also points out some limitations in the Ribbon designer in that you can't directly reuse the button events from the Office product, i.e. you can't add a new button that calls Word's built-in Bold functionality.  Hopefully this is something that will be addressed in later CTPs.

.NET Humor

Tue, 08 May 2007 14:53:00 GMT

In my prevous life as Editor for TheServerSide.NET, one of my favorite duties was to come up with ideas for .NET humor.  This took the form of several cartoons, "Top 10" lists, and one April Fool's news post that got MASSIVE linkage.  Unfortunately though, when a new humor item came out it tended to replace what was there and so prior cartoons where gone forever. 

But now TheServerSide.NET has re-released those cartoons and top 10 lists at  Here are the ones that I can personally take some amount of credit for.

  1. Top 10 Things to be Thankful for in .NET
  2. Web Services are Taking Over The World
  3. The Joys of Test Driven Development 
  4. Tragedy on the Information Superhighway 
  5. SOA - The Only Tool You'll Ever Need
  6. Unraveling the Mystery of the CTPs
  7. High Anxiety
  8. The Unusual Suspects - Reformed
  9. You Might Be A .NET Geek If...
  10. Top 10 Names NOT Chosen For Windows Vista
  11. MSDN Subscription Pricing - Decisions, Decisions
  12. BizTalk Server 2006 Blasts Off... Sorta

 The actual cartoons were drawn by Chris Moujaes and the flash for the Top 10 Lists were created by webmaster extraordinaire Nuno Teixeira.


SharePoint/MOSS 2007 Forms Based Authentication Login/Registration Web Part

Tue, 01 May 2007 19:23:00 GMT

SharePoint 2007 and MOSS 2007 are built on ASP.Net 2.0 which means they can leverage many of the same features of ASP.Net 2.0 including the AspNetSqlMembershipProvider for use with Forms Based Authentication.  While the ability to use the SQL based authentication exists in SharePoint, the other features like user registration and password recovery are not available.  So having some time on my hands I decided to create a custom web part for FBA sites to allow users to login, register, and recover their password. One thing I noticed while developing this web part for my own use is that the functionality of the standard ASP.Net controls wasn't really sufficient.  In particular I have added the following functionality: 1. Made UserName and Password field prompts web part properties 2. Added option to request user's First Name and Last Name when they are registering 3. Added option to request user's Company Name when registering 4. Added basic CAPTCHA functionality to avoid robot registrations 5. Added functionality to automatically add the new user to a Site group specified by the administrator 6. Added functionality to update the User Information List with the name and company info entered during registration. To get started you first have to set up your site to use Forms based authentication.  Rather than rehash how to do that here, I'll provide a couple of links with the steps required. Channel 9: Team Blog: Once you have your site ready for Forms based authentication, you need to install the solution containing the web part and the CAPTCHA handler.  You can do this using the setup.bat command file located in the bin\Debug directory for the project.  Setup.bat /install /weburl http://localhost/ /siteurl http://localhost/ Once the features are installed, you'll need to modify the web.config for the root site to add the assembly containing the utility methods used by both the web part and the CAPTCHA handler.                         Next you'll need to check to make sure the CAPTCHA feature is enabled.  To do this go to Site Settings->Site Features.  You should see the screen below: NOTE:  In order to upload the .ASHX file to your site, you may have to go to Central Administration and temporarily remove the .ASHX extension from the list of blocked file types. Now that the wiring is complete, you can add the Login/Registration web part to any page.  I'm using a basic team site template and so to add a web part, click on Site Actions->Edit Page.  Then click on Add a Web Part in any zone.  This will bring up the following window.  Scroll down to the Miscellaneous section and you'll find the Login/Registration part. After you click on Add, you'll see the web part displayed in the zone you selected... or actually not.  Nothing is displayed in the web part at this time because you are currently authenticated and therefore don't need to login or register. The next step you'll want to take is to set the options for the web part.  To do this click on Edit on the top right of the web part and choose "Modify Shared Web Part".  Th[...]

Build Your AJAX Applications The Smart Client Way

Thu, 12 Apr 2007 14:04:00 GMT

I've been thinking about AJAX a lot lately.  Those of you who have read my past blogs (and thanks to both of you) know that I'm a fan of Smart Client applications and have been fairly critical of the mass enthusiasm for all things AJAX.  But like any good architect I have to keep my options open and so I've been thinking about AJAX a lot lately.  And what I've noticed is that AJAX in fact has remarkable similarities to Smart Client development.  Before I start explaining the architectural reasons why I think AJAX and Smart Client development is so similar let me explain why I consider this to be a "good thing".  The primary tenets of a Smart Client application are: It uses local resources and provides a rich user experience It exchanges data across a network, Intranet or Internet It can function without a connection It is easy to deploy Obviously, number 3 is out for AJAX applications but the rest can be accomplished via AJAX if the application is architected correctly.  They key advantage to smart client applications, in my opinion, is the use of local resources.  One of the most underutilized local resources in a browser world is the CPU on the client machine.  While browsing even complex sites like MSDN my CPU rarely goes beyond 15% capacity.  Making that resource available to your applications for performing repetitive GUI tasks while lowering the need for more and bigger server hardware is where I think AJAX has the ability to make the most impact on application development.  Another key feature of Smart Clients not addressed in the tenets listed above is that the data sent between disparate servers and clients doesn't include UI markup which can significantly improve an applications performance.  What's more AJAX can broaden the reach of your application beyond that of a Smart Client application to non-Windows environments.  This is all serious goodness, if not quite the greatness of a completely disconnected application. Consider web development with AJAX from a 10,000 foot view.  You have the standard server scenario, one or more application servers reading data from a SQL database somewhere.  In the old Web 1.0 world, a browser would request a page and the application server would combine the data with the UI and spit out a representation of the UI via HTML to the browser which would then render the results; a typical client/server relationship.  However AJAX allows for a more distributed model where the application server can focus on performing business logic and handling requests while the JavaScript running on the client renders data to the user by manipulating the browser DOM.  This in effect moves the UI processing to the client where, in my opinion, such processing belongs.  Note that I'm not saying that this is how many AJAX enabled browser applications are being built, but the capability is there. In this diagram I show just how similar the architectural model for an AJAX enabled browser application is to that of a standard Smart Client application.  Notice only the labels on the boxes change. Figure 1. If you consider each portion of the application not by technology but by its responsibilities the similarity becomes clear.  Application ServerAJAX:  In an AJAX enabled application much of the actual business functionality is accessed via web service calls (or static method calls which I consider a step in the wrong direction architecturally).  Data is sent and received in XML or JS[...]