Rich Internet Applications

During the MAX 2009 conference, Duane Nickull was interviewed by DZone on the subject of RIA architectures. As an architect, I appreciated Duane’s comments about the responsibility of architects, versus developers, where RIAs are concerned (e.g. focusing on and valuing interaction design and user experience, distilling key business requirements by working closely with those the RIA will serve, being mindful of the framing process-oriented context, etc.).

In particular, don’t frustrate users resonates with me (e.g. it’s a non-technical answer to “what is an RIA?” (or “reeyah”). Duane’s Revenue Canada example (or not “getting” this) is a good one. It just so happens that I encountered my own today…

First, two exhibits off Twitter:

Don’t get me wrong, more vendors need to be reaching out and engaging with their communities in deep and meaningful ways. So, I’m not suggesting that creating a forum for community discussion is bad. However…

What if, instead, the forum was seeded (pre-launch) by a reasonable distillation of those who’ve already voiced their concerns, like Pie? The Web is there to be culled–”listened to” if you will–you just need to mine it.

As Duane and his co-authors talk about in Web 2.0 Architectures, more and more of us are living declaratively. Certainly this is true when it comes to providing candid feedback and standing behind things we believe in (e.g. vendors we want to succeed…and those we don’t).

So, an alternative forum post could have listed Pie’s identity management feedback alongside the feedback of others–fully annotated with community profiles, source links, etc. Of course, those supporting the forum could proactively reach out to folks like Pie to confirm that discovered feedback is appropriate for syndication and could enable contributors to easily follow the conversation moving forward–ideally in the medium of their choice (e.g. email, feed, etc.).

Update 12/29/2009: Of course, Pie, being the strong advocate he is, reached out again and updated the forum post himself. :-)

Adobe LiveCycle ES2

If you’re at the Adobe MAX conference this week, then you already know: Adobe LiveCycle Enterprise Suite 2 has launched.

And judging by the attendance at the pre-conference session on LiveCycle, there’s significant interest in building user-centric applications in the enterprise–exactly what LiveCycle ES2 is designed to unleash!

As you will see on the main LiveCycle site, ES2 is all about:

Given my work on smart client architectures, I have to say that I’m particularly excited about the potential in LiveCycle Mosaic.

Mosaic provides a compelling framework that brings together aspects of business and collaboration to drive richer context pivoting. The task (goal) at hand is more richly represented at all times, allowing the user to pivot more effectively and efficiently and leading to better outcomes more rapidly.

Mosaic is not merely about aggregation as is portal technology. Rather, Mosaic is about intuitive, contextual composition that puts the focus back on the user’s task rather than all the supporting systems underneath. Users can access their mosaics either in their browser or on the desktop (via AIR support). Catalogs of mosaic application assets like tiles can be shared to encourage reuse and to simplify future composition.

LiveCycle Mosaic should be a boon for user-centric, content-enabled applications development.

By the way, if you’re not at MAX (like me), you can still participate online. For example, view the top three sessions from each day at MAX on demand. (Today’s keynote stream was five-by-five at my desk!) Check out the MAX Companion, too, while you’re there. October 11 will see all the MAX content posted online, too!

Cheers! :-)

Update 11/25/2009: Please read the “what’s new in ES2” document. I also recommend that newly revised LiveCycle Developer Center (aka DevNet site).

Silverlight 3

Today Silverlight 3 officially launched; so, I decided to cut-over to v3 from v2. Here’s what worked for me:

  1. Ensure that all browsers are closed before proceeding.
  2. Open the Control Panel to begin uninstalling older Silverlight 2-related software.
  3. Select “Microsoft Silverlight Tools for Visual Studio 2008 SP1 – ENU” and uninstall the older IDE integration.
  4. Select “Microsoft Silverlight 2 SDK” and uninstall the older SDK, which, in my case, was installed via the IDE integration installer.
  5. Select “Microsoft Silverlight” and uninstall the older runtime. In my case, I was running Silverlight 2 GDR 1 (2.0.40115.0). You can determine your current version, if need be, here.
  6. Since I didn’t have an older version of Expression Blend on my machine, I could proceed. If you have an older version (release of beta), you should remove it, first, then continue on here. Before you install please know that once you do, your machine now becomes a Silverlight 3 development machine. You cannot down-level target to Silverlight 2.
  7. Install Silverlight 3 RTW (3.0.40624.0).
  8. Install Microsoft Silverlight 3 Tools for Visual Studio 2008 SP1, which includes the Silverlight 3 SDK.
  9. Install the Release Candidate of Microsoft Expression Blend 3 + SketchFlow. (I was hoping for the final release of Blend today, but I’ll settle for this (60-day trial) RC (version 3.0.1921.0).)
  10. Upgrade your Silverlight 2 solutions to Silverlight 3 solutions via the upgrade wizard. Etc. Etc.

Since the web is already flooded with plenty of additional commentary and sample applications, I’ll stop here and keep it practical for now. However, I’m excited about this new release and have some ideas to pursue in Silverlight 3. Stay tuned… :-)

P.S. You may also want to download the HTML Help documentation for Silverlight 3.

Acropolis

I’ve been patiently waiting to blog about this for some time. Now that Microsoft has finally gone public with this during this week’s TechEd…

Acropolis‘s vision is to revolutionize the way that organizations define, develop, configure, deploy and manage client solutions. Clearly, this is a broad vision, and it will be realized over a set of releases. Having worked with David Hill, Microsoft’s architect on this endeavor, in the past on smart client architectures, I’m confident that this vision will realized.

Organization-wise with Microsoft, Acropolis fits into the same developer-oriented division as the Windows Forms, ASP.NET and Silverlight folks. For example WPF and “Cider” are sister teams to “Team Acropolis.” This is worth mentioning simply because it shows that Microsoft is organized to deliver on its unification vision where application development is concerned.

So, going to the next level of detail, what is Acropolis and why should you care is you’re building clients (applications) in the Microsoft development environment?

The Acropolis stack diagram

Here is what excites me about each piece to the puzzle shown above:

  • Component model layer Component model layer: support for pluggable metadata consumers (strategies or providers) in a pattern-based (pipeline and dependency injection) foundation…sounds really cool! :-) Seriously, the way metadata flows here is powerful. Stay tuned…
  • Component application layer Component application layer: infrastructure support for data synchronization, concurrency, hosting, etc. allows me to focus on my specific problem domain rather than on plumbing
  • UI-specific application layer UI-specific application layer: the line-of-business focus is timely. More below…
  • Composite application framework Composite application framework: you already build business-oriented components; now you can drop them into a framework that simplifies their development and management, while improving their user experience (parts (basic unit of composability), forms (part-based, goal-oriented orchestration), services (pluggable providers and strategies) and connection points (patterns of part interaction))
  • Tools Tools: visual composition and declaration empowers more imaginations to take what I offer in directions unimagined and productive, than just those belonging to coders

WPF is evolving to address line-of-business scenarios (i.e. 3.5 and beyond). Acropolis is being developed, among other things, to complement and fill-out the next release of WPF where LoB development productivity and usability is concerned. (That being said, Acropolis is not beholden to WPF, but it does target it primarily.)

From the above stack diagram, you can see that Acropolis (and certainly WPF, for that matter) are about more than just LoB apps. However, enterprise and “breadth” ISVs are the focus of version one.

So, what is the relationship between Acropolis and the just-released Smart Client Software Factory (SCSF) that is built upon Enterprise Library 3.1 (EntLib)? What Acropolis in relation to the Composite Application Block (CAB)?

SCSF/EntLib targets both .NET 2.0 and .NET 3.0. Currently Acropolis targets .NET 3.5. There is no relationship between Acropolis and the SCSF, apart from the fact that the patterns and practices team will be evolving their offerings over time to add value onto the current platform. With this release of CTP1, though, the Acropolis does expect the CAB to become deprecated and the SCSF to evolve, targeting Acropolis.

Visual Studio 2008 (“Orcas”) Beta 1 is required for its WPF designer (“Cider”) functionality. While Acropolis design-time experience requires .NET 3.5, it should be possible to target down-level runtime environments (e.g. .NET 3.0, Windows Forms, etc.). These details are still being worked out. As noted below in closing, feedback is actively being sought on Acropolis by its team; so, if specific down-level support is required, be sure to articulate it.

Here is what those in Microsoft’s DevDiv are saying about Acropolis:

Looks like it’s also worth paying attention to Don Burnett’s Acropolis commentary.

The Acropolis team is asking for your early, formative feedback, and I encourage you to provide it to them.

Update 6/7/2007: Glenn Block answers more common questions about Acropolis relative to p&p offerings.

Published…finally

It’s good to finally see “Smart Clients: Essential Requirements and Candidate Services” published on MSDN.

This article was something I helped craft when the Microsoft Architect Advisory Board was active. As the article states, MAAB has been retired and many, if not all, MAAB members are now Solution Architect MVPs.

One important name not listed in the acknowledgements is Jon Tobey. Jon took the collaborative work of a group of architects and clarified it into something more publicly consumable. As you might imagine, this was not an easy job–my colleague Greg Poirier characterized it as follows: “herding us like a bunch of alley cats to the finish line.” Thanks, Jon.

And thanks to all my fellow Smart Client Architecture Working Group teammates. Cheers!