“Avalon”che is coming – part 2 – Smart Clients & Avalon

Although HTML allowed us to eliminate the deployment problems (Versioning, DLL Hell ..) and other architectural issues associated with the client/server model, we were not  able to provide a rich user experience. So its not surprising that there is a trend towards smart clients or rich clients that can create a better user experience.   Watch Al Ramadan’s Presentation at Macromedia’s site that gives you a business view of why we need rich internet applications.  The examples used in this presentation give you an idea of why you may need smart clients or rich clients for your application. Microsoft’s Avalon is the latest instance of its famous “embrace and extend strategy” and one that will most likely create another tectonic shift in the industry.  Avalon has integrated major UI improvements that have come along in the past few years – Windows Forms/XForms, Flash Animation, Flash Royale/Flex, Scalable Vector Graphics (SVG+RCC), XUL, Java3D/X3D, Audio/Video  into a cogent package bound by a Declarative UI Markup Language called XAML (pronounced “Zammel”). The Avalon engine directly talks to the graphics layer subsuming GDI+. 1. This article by the venerable Charles Petzold gives you a high level overview of Avalon and Microsoft’s key innovation – “every XAML tag element is a class and every property is an attribute”  approach. I think this is a major advance in markup languages and is likely to make programming easier. 2. Macromedia has created its own UI Markup Language called MXML (“Flex”) and incorporated into its Flashplayer  to create a presentation tier. It uses a proprietary scripting    language “Actionscript”  to get effects similar to  Javascript.  Check out Jon Udell’s post comparing Flex and XAML.
3. When XUL  came along couple of years back from Mozilla, my wife hacked together a prototype for me that implemented a Powerbuilder application’s UI in XUL & Javascript.  The beauty of it was that it could be rendered by the browser like a web-page but behaved like a standard Windows Client/Server GUI frontend. 4. An excellent intro to SVG Here. Scalable Vector Graphics (SVG) is considered to be very similar to Flash (excellent comparison here).  Download the SVG Viewer (its very small don’t worry – works only with IE) through the link to Adobe provided here and view the examples from here.  Some people like DonXML are saying that SVG-RCC goes head to head with Avalon.     Overall, i think Microsoft is offering a compelling vision to developers – learn 100 other things or  learn Avalon & XAML and develop every kind of smart client UI you want – of course, in the process be beholden to propreitary technology! Actually, even on that front, i think by keeping XAML an open XML based language,  Microsoft is taking a “leadership” approach than its traditional “lock-in” approach. We will see later how this open approach may create competing solutions (Teaser #1 for later posts). As the smart client wave begins to unfold, the browser world is not standing still.  Google, Oddpost (acquired by Yahoo) and others are creating never-before-seen UIs  using a combo (informally called Ajax – great writeup here)  of HTML, Javscript and the XMLhttprequest object running in your favorite browser without plug-ins . Check out Google Maps to see why Ajax is hot, if you haven’t checked it out already. On the learning front, we will cover later the new concepts we will have to absorb for Avalon 3D UI programming (Teaser #2 for future posts). In my research, i have come across one major limitation of Avalon  (any guesses? – Teaser#3 for future posts). Next up:  Avalon Basics