Author Archive: Steven Webster

Call for Representatives on the Cairngorm Committee

As Alistair just posted, some of the most active Cairngorm contributors within the Adobe Consulting team met for the day on Monday, to discuss our various innovations and thoughts and ideas on how we move the Cairngorm projects towards a Version 3 release.  One of the outcomes of this meeting, was to re-ignite the idea of a Cairngorm committee that draws from Adobe Consulting, customers, partners and community leaders who are actively using Cairngorm to the degree we are, and who can provide counsel in future roadmap, drawing up the final charter for the project, and helping to manage the day to day logistics of running an open-source project.

What we’re looking for is representatives from companies, system integrators, partners, or from individual contractors and consultants who are actively using Cairngorm – on a near daily basis – in their engagements, to join a team of Adobe Consultants.  I’m very excited, as much as anything else, about the opportunity for collaboration this will create between Adobe Consulting and community leaders!

If you think you’d have energy to contribute and value to add to the team, please drop me a personal email to ("Steven").toLowerCase().substr(0,1).concat( ("Webster").toLowerCase(), "@", (("Adobe Systems, Inc.").split(" ", 2))[0]).toLowerCase(), ".com").

If you do manage to parse that above line in a way that a spambot can’t, and drop me an email, then I’d like to hear from you about the number of projects you have deployed using Cairngorm, something about the scale and complexity of these projects, the typical environments (Java, .NET, LiveCycle Data Services, Blaze DS, Data Management Services, etc) your projects are deployed in, the challenges you have faced, the innovations you have made in your own projects around Cairngorm, the number of developers that you have worked with and mentored in using Cairngorm, etc.  I’d also love to hear your thoughts around how you would want to contribute to the project, and the directions you think we can take.

We anticipate a number of different roles for participation, from the committee itself, to commiters, partial committers, etc.

I very much look forward to hearing from you!

(PS.  Alistair and I pair-programmed on the string above.  We also wrote tests, but if I put the tests here then I’d just be putting my email address in the assertion! 

AC@MAX on "Architectural Best Practices for Flex and LiveCycle ES Applications"

Since MAX 2004 in New Orleans, I’ve presented to one extent or another around the theme of architectural best-practices for delivering enterprise applications upon Adobe technologies.  This year is no different, and I’m very much looking forward to presenting with one of my colleagues from our Chicago Office, Tunde Turner, on our collective experiences within Adobe Consulting in delivering Enterprise Rich Internet Applications that leverage Flex and LiveCycle ES.

In previous years, I’d like to think that we illuminated many ideas around software architecture as it would apply to Rich Internet Applications, through presenting and contributing around the Cairngorm Framework for Rich Internet Applications. What I aspire to achieve in Tunde and I’s talk, is to help Rich Internet Application developers take the complexity and scale of their applications to new levels, by understanding the class of recurring problems where Flex, LiveCycle Data Services and LiveCycle ES play strongly, and the patterns and practices that recur in architecting these solutions.

A theme I introduced at MAX last year, during both the Chicago and Barcelona keynotes, was the idea that combining Flex and LiveCycle allowed us to "create innovative experiences on both sides of the glass".  I’ve continued to use that metaphor in helping customers understand the value that Adobe technology can bring, and indeed this is baked into the way Adobe Consulting help customers conceive of innovative solutions, and it’s baked into our go-to-marketing message (you can hear more about that message in the video at the foot of this page linked here ). 

Tunde and I aim to re-introduce this concept of creating innovative solutions "on the glass" and "behind the glass", to show some stunning examples of this metaphor applied, and to use this as the highest-level of abstraction for discussion around microarchitectures for Enterprise Rich Internet Applications.

On the Glass

On the glass, we’ll definitely talk about architectural best-practices for Flex and AIR development; we’ll take a brief tour of Cairngorm, explore some of the emerging ideas around Cairngorm and how a Cairngorm application can logically extend it’s reach towards an enterprise back-end with LiveCycle Data Services and LiveCycle ES.

On the glass, we’ll also look at some little appreciated features of LiveCycle ES – the Workspace and FormGuide APIs that allow us to create Rich Internet Applications for review and approval patterns, and for data capture patterns of user-experience.

Behind the Glass – Data Oriented Architectures and Microarchitecture Pattern Catalogues

Where things get really interesting however, is when we start to reach behind the glass.  A key consideration which I urge development teams to consider, is whether an application is a service oriented architecture or a data oriented archtiecture.  I will explain this consideration in detail – as to me this is a compelling reason to understand the best-practices between Blaze DS and LiveCycle DS that are often, naively, and incorrectly, reduced to "do you require data push".  Tunde and I will then spend some time exploring the Service Oriented Architecture view of LiveCycle ES, and the manner in which we can invoke services within the LiveCycle ES container, and what that actually means.

For Rich Internet Application developers, we’ll present a service-oriented view of LiveCycle ES, and help you to understand the different services that are available that I’m confident you’ll have spent far too much time in Java in the past trying to implement simplified versions of yourself.  We’ll show the rapid-development model offered by LiveCycle ES, and then identify patterns of applications that consistently leverage the same solution components and services of LiveCycle ES.

Microarchitecture Patterns

I’m confident that the idea of "microarchitecture patterns" will be the most significant contribution from this presentation; and that it will offer the same "Eureka" moment that Cairngorm offered many RIA developers.

Think about this – in Cairngorm, we identified a recurring application problem ("a Rich Internet Application sitting upon a service oriented architecture") for which we identified a network/collaboration of design patterns that became the Cairngorm microarchitecture. 

As our applications reach even deeper into an enterprise, and we concern ourselves not just with the architecture, patterns and practices "on the glass", but the architecture, patterns and practices "behind the glass", then there are recurring patterns of application:

  • RIA that results in a document being processed through an organisation and generating some final paper output, eg Applying for a Credit Card and getting your welcome pack and confirmation letter in the post
  • RIA dashboard that tracks an approval process, eg Loan or Mortgage Approval
  • RIA dashboard for real-time high-volume data, eg Trading Platform, Instrumentation Dashboard
  • RIA that captures information that needs to be secured and archived, eg Clinical Trial Management, Filing of Crime Reports
  • RIA application that configures electronic documents that are then pushed through a high-volume printing process, eg Electronic Statements, eBanking

As we consider the different, yet recurring, suites of services that these application types might consume, as we consider the different ways in which we engage through custom RIA development, through Form Guides and Workspace component suites in Flex, leveraging AIR and PDF for offline data capture or as the tool for moving information through an organisation, we are in effect identfying a series of microarchitectures that are larger networks of patterns than Cairngorm, microarchitectures that span both sides of the glass.

In essence – if Cairngorm was one microarchitecture for RIA upon a generic Service Oriented Architecture, we have yet to expose you to our microarchitectures for RIA upon Data Oriented Architectures, and RIA upon service and data-oriented architectures that focus on document-centric, form-centric, workflow-centric applications where people engage in business processes, where the digital and paper worlds collide, and where a significant number of enterprise problems exist.

Tunde and I look forward to broadening your vocabulary of microarchitectures to consider these different classes of Enterprise RIA!

Beyond Microarchitecture Patterns to Solution Accelerators

There’s a natural next step here; there comes a point where if you’re continually applying a particular microarchitecture that spans both sides of the glass, that the recurrence isn’t jus technical recurrence, but recurrence in the business requirements, from customer to customer, from enagement to engagement.  This next, higher, level of abstraction is what we call a solution accelerator – and I’ll be talking about solution accelerators in a separate talk at MAX with another colleague from Ottawa, Danny Saikaly.

So my question before we finish (ahem, start) the slides….are there recurring patterns of Enterprise RIA that you are developing, that span both the client and the server-side, that require consistency of approach from engagement to engagement on both sides of the glass ?

Cairngorm 3 – Adobe Consulting Led but Community Driven

Cairngorm Mountains during a new dawn...

As I hope you’ve seen on Alistair’s blogpost, the team at Adobe Consulting are delighted to have the Cairngorm project promoted to a first-class citizen at opensource.adobe.com.  In this blog post, I’d like to provide a bit more detail of our motivations and intentions as we start thinking about Cairngorm 3.0, and invite your thoughts as to how you would like to see us govern the project.  Adobe Consulting has never been more committed to the Cairngorm project, and continues to deliver innovative solutions upon Cairngorm to customers the world over — the fact that we’ve been open-source since 2004 means that much of the frenzy and pace happened some years ago, and for those who have joined the Flex community long since that time, Cairngorm may have appeared to be in stasis rather than stability.  First and foremost, I hope that what follows alleviates any of these concerns.

Alistair’s announcement covers the detail of us moving to opensource.adobe.com, but in summary, this now means that we have:

  • The source code available in a subversion repository, with the ability to submit patches.
  • A JIRA bugbase through which you can log bugs and submit community-driven feature requests
  • Developer forums through which you can engage with Adobe Consulting and the broader Cairngorm community, whether your questions are around using the framework or contributing and participating in the frameworks future direction

Cairngorm Committee

In one of the seminal books on open-source, "The Cathedral and the Bazaar" by Eric S Raymond, he talks about the need for the "Keeper of the Project Vision", someone that ensures that the project remain true to some core ideals.  Adobe Consutling will continue to play that governance role, but will do so with more formal counsel and participation of a group of enterprise customers, partners and community leaders who are themselves immersed in delivering projects on a daily basis upon Cairngorm.

If you think you could participate here, I’d be very keen to hear from you, hear what you’re doing with Cairngorm, and share your thoughts on how we best collaborate. Many of you have already reached out in this regard, and we’re exciting about working more closely with the community and partners.

Cairngorm Charter

One of the things we’ll look to lock down as we go forward from here, is a simple charter by which we measure suggestions; this has been very implicit and shared understanding amongst the Adobe Consulting team, but we need to document and agree this with the community as we go forward.  But in essence, it’s as important to decide what Cairngorm is, as well as what it isn’t, both now and in the future.

By way of example; we only ever intended and will continue to intend that Cairngorm serve application developers working with Flex, and as a natural consequence, AIR.  We have no desire to convolute the framework, to introduce abstraction, or to discourage the use of idioms or techniques specific to Flex, in order that we might create applications that could be ported to other presentation-tier technologies.  We are in the business of delivering innovative solutions upon Flex and AIR, and Cairngorm supports that as best we possibly can.

We wish for Cairngorm to encourage best-practice leverage of underlying Flex features, and we are keen to ensure that we never add something to Cairngorm that is better suited to the underlying Flex SDK.  With both projects open-source, we can make these choices.  This extends also to FlexBuilder – we are desparately keen to improve tooling for RIA development, and in several cases we have "started" upon initiatives to better support Cairngorm in this regard.  However, we also collaborate deeply with the engineering team, to ensure we are not duplicating future effort.  We will continue to do so.

Something else we’ve cared deeply about – and something that has quite frankly imposed restrictions on some of the things we’d like to do – has been backwards compatibility.   Whether you appreciate this or not, there is a huge community of customers building projects upon Cairngorm, and we feel duty-bound to support that committment and investment by ensuring that whereever possible, new releases to the framework can be easily embraced without breaking existing code-bases.  As we look to support Flex 4, I’m sure we’ll continue to wrestle with some of the challenges this principle can surface — and as we start thinking about Cairngorm 3.0, we’ll look to partcipate with community in wrestling with many of these discussions.

It’s not our intention to make Cairngorm any heavier or more complex than it needs to be, or to introduce feature that is available in other products.  We have no desire to be an open-source alternative to commercial products.

Looking forward, I personally want to ensure that there’s extensibility to Cairngorm, in order that 3rd party extensions or additions can be released without forking of the Cairngorm core code-base.  As extensions gain in popularity or become "de facto", we can then consider rolling them into the main branch.  The team at Universal Mind have released extensions, which unfortunately have to fork the code-base.  Eric Feminalla has extensions in the community for developing with AIR, and the Adobe Consulting team wish to make LiveCycle ES easier and more available to developers with Flex/AIR who wish to embrace LiveCycle, but I believe that rather than bloating Cairngorm for those not leveraging LiveCycle, a cairngorm-livecycle.swc that extends Cairngorm for LiveCycle ES projects would be more appropriate.  A few years ago at MAX, I showed some very early work of using Cairngorm for FlashLite….the mobile ecosystem grows and grows, and I would imagine that future direction of Cairngorm would continue to ensure that architecture and approach be consistent across screens and devices.

What about other RIA Frameworks ?

So often, I see desire for discussion of "Cairngorm versus…." and to be clear, I don’t think this is overly valuable conversation to engage in.  The health of our ecosystem is diversity, and the evolution and proliferation of other frameworks to support similar development, is something we can only encourage.  Blog posts that "<framework> is evil", "<framework feature> is bad", "<framework> sucks" certainly catch a great deal of fleeting attention, but I don’t believe that investing our limited time and energy in these debates is the most effective way of advancing the state of our art.  In any ecosystem, the cross-pollenation and cross-fertilisation of ideas increases the overall fitness of the ecosystem – so I encourage innovation to occur on all levels, and for discussion and debate to focus inwardly rather than outwardly. 

Or in other words, to quote a mantra used often within our own team – "don’t bring me your problems; bring me your ideas for solutions.  Through those, I will grasp the underlying problem".

And so what of Cairngorm 3.0 ?

We’re not announcing Cairngorm 3.0 – but we’re very much thinking about it.  The Adobe Consulting team is coming together internally for a "Cairngorm summit" (do the etymologists amongst you see what we did there ?) in the next few weeks, where we’ll assemble some of the deepest thinkers around Cairngorm within Adobe and collaborate around the different approaches, ideas and innovations we’ve been seeing in our own projects.  As we collate that knowledge, we’ll be opening this up to share with the community, as we start to think about what Cairngorm 3.0 will look like for the innovative solutions we will all be delivering in the future.

Finally – and unrelated to Cairngorm – opensource.adobe.com offers a forum through which Adobe Consulting can spin-out other open-source initiatives around the repeating and recurring approaches we take to making customers successful upon Adobe technology. 

I look forward to continuing to collaborate and share with the community, our partners and our customers through opensource.adobe.com, and in the meantime, very much look forward to your thoughts on Cairngorm going forward.

Innovative Mashups: Meatware + Hardware + Software

There’s a tremendous article on the BBC showcasing an upcoming television program, that encapsulates so much of what fascinates me right now as mashups don’t just focus on bringing together different online data sources, but take real-world information, whether that be people or things, and bring that information into software applications.  What’s even more interesting, is how this in itself creates an "architecture of participation", a suite of data that can be visualised over time, and from which insights can be gleaned that themselves may lead to innovations.

"Britain from Above" will be first broadcast in the UK on Sunday 10th August, at 2100 on BBC One, and features some stunning visualisations of data captured and overlaid on Britain itself.  In this short video clip on BBC iPlayer (I’m not sure if this will be geo-locked to the UK or not) you can see some tremendous examples:

  • Watch the shipping channels through the straits of Dover; satellite imagery overlaid with all of the day’s shipping as a computer visualisation
  • Watch every flight in and out of the UK, flying through stricly controlled air corridors, and observe where and when the most "stacking" of flights occurs waiting to come into land

I think the examples that I find most intriguing however, are the GPS tracking of London taxi-drivers; the drivers leverage the main thoroughfares, but as congestion begins to peak, you can observe the myriad of rat-runs and short-cuts that emerge through the backstreets of London.  Many SatNav companies are now starting to track this data to offer different recommended routes from A to B according to time of day and historic data.  What’s fascinated me for some time however, is how cars themselves become packets of data on real highways, communicating their recent journey segments, weighted by the collective opinion of other cars who have also passed the same routes, so that the network of cars themselves communicate route congestion much like ants communicate as they pass each other in lines, or other redundant networks are able to intelligently record, replay and re-route to avoid congestion.

I first encountered this idea of smart networks a loooong time ago when writing my University dissertation on "The Enabling Technologies of the Trunkl Network" (a dissertation that discussed some technology called ADSL that might become popular  in the last-mile of the copper telephone network amongst other things) amongst a myriad of British Telecom research papers around "Intelligent Networks" and intelligent switching and routing of traffic for video and audio.

The final example in the above clip is of the way "London wakes up" by visualising the patterns of telephone calls that take place in the UK.

Increasingly as I meet with customers around strategies and visions for the future, there’s ever more desire to create architectures that can bring real-world information into online applications, whether that be for improved visualisation to support real-time decision making, or physical information that can be combined seamlessly with rich and interactive applications. 

When we talk about Rich Internet Applications, we consider not only visually-rich or interaction-rich, but the richness of data.  When we think about creating architectures of participation where the wisdom is not just gathered from the crowd, but from the accelerometers, the GPS transceivers, and the myriad of other sensors that attach hardware to meatware to software.  An example I often use that really embodies the idea of hardware, connected to humans, that leverages a software architecture through which a data and visualisation and interaction rich experience can be delivered, is the NikePlus collaboration with Apple and iPods.

In your experiences, are there other applications where "meatware + hardware + software" is a recipe for innovative visualisations, data platforms, or overall digital experiences ?

 

AC@MAX2008 on "Agile Testing of Enterprise RIA with Flex and LiveCycle ES"

Alex Uhlmann (Adobe Consulting, Edinburgh) and Herve Dupriez (Adobe Consulting, London) are teaming up to present on all things related to the unit-testing, test-driven development, test-coverage analysis and optimisation of the kind of "Experiences on both sides of the glass" that we create when we build innovative and complex RIA front-ends in Flex or AIR and sit them upon enterprise architectures implemented in Java and/or LiveCycle ES as a service oriented architecture. 

We’ve been murmuring about a new version of FlexUnit for a while now, but we’re close to rehousing the FlexUnit project as a more active community open-source project; the most major contribution from Adobe Consulting to the project will be a brand new visual test runner implemented in Flex by a number of our user-experience and technical team, that we’ve been using internally on our own projects within Adobe for some time now. 

To the presentation at MAX; starting on the client-side, Alex will be focussing his talk around unit-testing best-practices for Rich Internet Applications.  Alex has been working on some incredibly complex Rich Internet Applications of late, on code-bases that have teams of 20-30 developers in projects measured in years rather than months. As you can only imagine, the complexity of such application demands rigor and discipline around unit-testing, and Alex will be sharing his experience and best-practices.

One such area is having the tooling to help you identify the strength of your test battery; identifying the areas of your application where test-coverage is weak using test coverage tools. Both Alex and Joe Berkowitz had been immersed in parallel efforts creating test coverage tools, recently joining their efforts to contribute to the open-source FlexCover project.  Alex will, I’m sure, be discussing how to leverage FlexCover in your development workflow, including your continuous build workflow, to ensure that you’re testing in all the right places. 

Meanwhile, Herve will be focussing on how we achieve the same level of coverage on the other side of the wire, where ActionScript becomes Java.  For pure-play Java development, the techniques are well understood – LiveCycle ES however offers a rapid development approach to many classes of enteprise application; just because we alleviate the complexity of implementation, the number of things that could possibly break does not change, therefore nor should our diligence around unit and regression testing of our delivered software.

LiveCycle ES allows the encapsulation of business logic into discrete components called DSCs; these are essentially service classes, that are packaged with resource files and component descriptors that allow them to be assembled and debugged graphically in the LiveCycle Workbench ES environment. Just because business logic is being encapsulated in a DSC, doesn’t mean it should become untestable.

LiveCycle Workbench ES allows your custom DSCs to be seamlessly choreographed and orchestrated into complex business processes, leveraging a number of pre-built services alongside other invocation methods out to 3rd party services.  While these orchestrations can be easily exposed to a Flex or AIR application through endpoints that can be invoked through RemoteObject or WebService tags, we should also think about how we create unit and regression test suites for the code that is essentially generated by the orchestration in LiveCycle Designer ES.

As best-practices emerge in how to ensure we are designing-for-test and testing design with LiveCycle ES, Adobe Consulting are keen to share them with the community.

I’ve attended MAX since the day Ely Greenfield stepped up on stage in New Orleans and showed this forthcoming project called Royale (what’s now Flex) to an audience of designers and developers, most of whom hadn’t heard the phrase Rich Internet Application.  That was the same conference where we open-sourced Cairngorm, and it’s amazing to look back over what’s really only a relatively short period of time, to see the kind and complexity of the applications we are building today upon the Flash platform.  Cross-pollenating software engineering best-practices into our enterprise RIA development has never been more important!

I’m confident that in attending this presentation, you’ll have the confidence to attack the most complex of Rich Internet Applications safe in the knowledge that defensive testing strategies can be used across the Adobe platform; and I know that Alex and Herve will do a tremendous job leading this discussion.

Session Details:

Agile Testing of Enterprise RIAs with Flex and LiveCycle ES

Hear how Adobe Consulting delivers complex rich Internet applications built on Flex and LiveCycle ES, while still employing agile engineering methods to assure quality. Learn about testing with FlexUnit; using Code Coverage tools, designing for testing, and improving test coverage; and how to extend these capabilities to unit-test LiveCycle ES applications "behind the glass."
Speakers: Alex Uhlmann, Herve Dupriez
Audience: Architect, Application Developer
Skill: Intermediate
Products: LiveCycle ES, Flex, AIR
When:
Wednesday, November 19, 2:00 pm – 3:00 pm

AC@MAX2008 on "Delivery of a Mission Critical RIA for NATO"

Another presentation from Peter Martin (Adobe Consulting, Edinburgh) in collaboration with Mansour Raad, of mapping partner ESRI.  If you’re wondering what the picture of a NATO E-3 AWACS (Airborne Warning and Control Systems) aircraft has to do with Flex 3, LiveCycle Data Services, Data Management Services and ESRI mapping, then read on…

We often talk about "mission critical systems", but this literally is a mission critical system – Peter and team within Adobe Consulting have been working for several months with a team at NATO (North Atlantic Treaty Organisation) to help create an innovative Flex, LiveCycle Data Services and Oracle solution that facilitates the mission planning for AWACS aircraft that fly out of NATO bases.

Known as "MSS" or the "Mission Support System", a key component of the MSS system is an interactive world map that can be scaled, panned, and overlaid with mission planning information.  Innovative visualisations and interactions for mission planning make for a visually-rich internet application, while the sheer volumes of data being managed from the geo-spatial mapping information to the mission information makes for a data-rich application as well.

To support collaborative mission planning, as well as to reduce the implementation effort associated with a data-oriented architecture, MSS makes significant use of the data management services features in LiveCycle Data Services.  Peter and team have continued to drive our best-practices around data managements services within Adobe Consulting, and I’m confident much of that goodness will come through in this presentation, especially if asked.

And if those details of the back-end persistence tier aren’t your bag, then you might be more interested in how the team are able deliver the innovative mapping capabilities that will be demonstrated. MSS greatly leverages the AWX Flex API from ESRI, and Peter and Mansour have spent many hours with Flash Player and Flex engineering teams both on-the-phone and face-to-face in San Francisco squeezing the maximum performance out of the rendering of highly detailed maps. A few small islands may have been lost along the way.

With the geo-spatial data for the map being brought under the control of managed data collections within LiveCycle Data Services, mission planning is a truly collaborative experience, as updates to geo-data are immediately pushed to all connected mission planning clients.

As more and more organisations understand the power of the "mashup" in the enterprise, I’ve seen an increasing trend towards real-time collaboration and visualisations over geo-spatial data; the applications can be as far removed from NATO misson planning as one could imagine, but the technical challenges and solutions remain the same.

Working within Adobe Consulting gives us the right to work on some of the coolest, most innovative and exciting projects – and the Mission Support System for NATO definitely ranks up there.  I hope you can join our team for this presentation, share in a truly exciting Flex and LiveCycle Data Services application, and learn how we’ve addressed the most challenging of design problems from the vectors to PL/SQL and stored procedures.

Why would you miss this ?

SESSION DETAILS:

Delivery of a Mission-Critical RIA for NATO

Adobe Consulting and ESRI will discuss the real-world implementation of a Mission Support System for AWACS aircraft, built in Flex for the North Atlantic Treaty Organization (NATO). See this powerful example of leveraging ESRI mapping technology with Flex and LiveCycle Data Services ES.
Speakers: Peter Martin, Mansour Raad
Audience: Architect, Application Developer
Skill: Intermediate
Products: LiveCycle DS, Flex
When: Tuesday, November 18, 4:30 pm – 5:30 pm

 

AC@MAX2008 on "RIA Development with Cairngorm – Tips from the Experts"

Peter Martin (Adobe Consulting, Edinburgh) and Eric Garza (Adobe Consulting, San Francisco) are both key members of the Adobe Consulting architect community who together have been responsible for leveraging many of the same patterns and practices across wildly different projects, whether they be financial services, manufacturing, military or healthcare projects.  Fundamental to all of their projects, have been underlying implementations based upon the Cairngorm architecture, and along the way the teams they participate in have had to face many of the same challenges that you are facing on your projects. 

Have you ever asked yourself:

“How might I use Cairngorm with Modules ?”

“I’m sure Adobe Consulting aren’t advocating a single huge ModelLocator class for all my client-side state, so what might be some tips or best-practices for managing the model in a Cairngorm application ?”

“Are there standard ways for managing Login and Logout behavior in a Cairngorm based RIA ? How can I more tightly tie this to the underlying security model of the application server, and how can I ensure on Logout that I’ve really cleared down the local state on my application ?”

“Are there times when I don’t need a business delegate and service locator; like when I’m using Data Management Services for instance ?”

I’m sure you have many many more questions, where the answer isn’t always that we should be adding more library, more code, or more APIs to Cairngorm, but rather we should be sharing with you the tactics and strategies we use when addressing these recurring challenges, and addressing them in a way that fits elegantly within a Flex and Cairngorm application, using the “right part of the right framework for the job”.

Over the last few weeks, I’ve observed Peter and Eric engaging the worldwide Adobe Consulting community in an “archaeological expedition” to dig up all the tips and best-practices that we could categorise and share around how we work with and within Cairngorm on our own Flex and AIR applications.  This presentation is very much a catalyst for us documenting so many of our learnings, will leave you with numerous tips and techniques that you can immediately apply to your own project, all presented in the context of learnings, solutions and recurring approaches on real-world Adobe Consulting projects.

If there are any particular tips or techniques that you’d like the guys to share, leave me a note in the comments and we’ll see if it’s something they can cover in the time available!

Session Details:

RIA Development with Cairngorm: Tips from the Experts

Learn some of the tips and tricks from Adobe consultants who are using Cairngorm on large-scale Flex, Adobe AIR, and LiveCycle ES projects. Discover emerging usage patterns on topics such as security, modules, internationalization, data management services, and working with AIR, and take away ideas for your own developments.
Speakers: Eric Garza, Peter Martin
Audience: Architect, Application Developer
Skill: Intermediate
Products: LiveCycle DS, Flex, AIR
When:
Wednesday, November 19, 5:00 pm – 6:00 pm

AC@MAX2008 on "Television on AIR – Creating Custom Media Player Experiences"

Adobe Media Player

Increasingly, our user-experience and technology teams at Adobe Consulting have been engaging in projects that not only leverage Flex, AIR and LiveCycle ES to create enterprise/business Rich Internet Applications, but in projects that leverage technologies like Flex and AIR "on the glass" with "behind the glass" technologies such as Flash Media Server and Flash Media Rights Management Server, in order that we can create innovative broadcast experiences that will be experienced by millions of eyeballs at a time.

Xavi Beumala (Adobe Consulting, London) and John Bennett (Adobe Consulting, Boston) have both been engaged in a number of these exciting projects over the last several months, and between them will be responsible along with their colleagues for the technical delivery of products that I’m confident many of us will be consumers of in the months ahead.

In the first instance, creating a custom media player is about creating an online experience that is more compelling than experiencing the content on a television. John and Xavi will talk about how some of these innovative features can be implemented on the Flex and AIR platforms – whether that be building social communities over the content itself, or more innovative ways of engaging with more innovative online content.

However, fundamental to a great broadcast experience is everything focussed around delivering the highest-quality of viewing experience.  With the H.264 capabilities of the Flash Player, there is ever increasing desire to deliver the highest-definition of quality, which in itself creates recurring technical challenges that must be considered and addressed.  Whether it’s considering encoding and codec tradeoffs, picture size optimisations, bitrate and bandwidth requirements or architectures for content delivery networks,or whether it’s understanding the workflows that allow the secure delivery of rights-managed video, there are a myriad of technology and application decisions that need to be made that can have impact on the overall viewing experience.

Drawing upon real-world experiences of implementing several television experiences online, I’m looking forward to the best-practices and deep technical-tips that I know Xavi and John will have to share.

Session Details:

Television on AIR: Creating Custom Media Player Experiences

Join Adobe Consulting for a discussion on projects in which broadcasters and media organizations needed applications to stream protected video to consumers desktops. Learn how to create these experiences using dynamic media technologies. Hear Adobe Consulting best practices for Flash, Flex, Adobe AIR, Adobe Media Player, Flash Media Server, and Flash Media Rights Management Server.

Speakers: Xavi Beumala Segura, John Bennett
Audience: Creative Designer, Architect, Application Developer
Skill: Intermediate
Products: Flex, Flash Player, Flash Media Server, AIR
When:
Monday, November 17, 11:30 am – 12:30 pm

AC@MAX2008 on "Lazy Innovation"

Success is a Journey, not a Destination.  So stop running.

 

In the days ahead, I’d like to summarise each of the presentations that the Adobe Consulting team are giving.  I’ll start today with one that I’m most looking forward to from our User Experience practice, titled "Lazy Innovation". George Neill and Jerome Doran are experience architects within our User Experience practice, in Edinburgh and San Francisco respectively.  The title of the presentation arose from George’s observations during what we call "User Experience Discovery".  In "User Experience Discovery", we engage in many UX practices including ethnographic research and user-interviews, where we seek to better understand the end-users of our application as a means of informing the design of the user-experience itself.  Before our technical practice concern themselves with "building things right", our user-experience practice concern themselves with the more fundamental question – "are we building the right thing ?".

George provocatively contests that a human-train often considered a bad behavior – laziness – is actually an inherent human behavior that should be recognised as a virtue that can identify opportunities for innovation in user-experience design.  It is his belief that the "search for laziness" and the ability to learn how to better observe laziness can create short-cuts to finding the opportunities for innovation that exist every time we are given the opportunity to create more innovative user-experiences.

In their respective roles, George and Jerome have touched most if not all of the rich internet applications developed within the Adobe Consulting stable over the last several years, and so in this presentation they’ll be using their own work and the work of our team to show where identifying and incorporating the inventiveness of the lazy users results in simpler, easier and more effective applications.

Over the next few weeks, I’m going to interview our MAX speakers around their chosen topics of presentation, so if you have any thoughts on this idea of "innovation through lazy design" then please leave them in the comments, and I’ll ask the guys on your behalf.

I can’t wait to attend this presentation, which I know is going to be as fun and entertaining as it will be informative and inspirational; it’s a really exciting theme through which to weave a showcase of user-experience from our team.

Session Details

Lazy Innovation: Strategy for the Design of Innovative User Experiences

When engaging with applications, users essentially want to complete their tasks with a minimum of difficulty and friction. In this entertaining presentation, the Adobe Consulting User Experience team will explore this "doctrine of laziness" as a means of identifying opportunities for innovative user experiences.

Speakers: George Neill, Jerome Doran
Audience: Web Designer, Creative Designer, Application Developer
Skill: General Audience
Products: Flex, AIR
When:
Monday, November 17, 11:30 am – 12:30 pm

Adobe Consulting Track at MAX 2008

I’m delighted that this year, Adobe Consulting has been given our own dedicated track at MAX 2008 where our consultants can share presentations that leverage our learnings of the last year delivering Enterprise and Dynamic Media projects on behalf of Adobe Customers. 

Next week, I’ll post a talk-by-talk breakdown of each of our talks, but for now, let me introduce the sessions and the speakers, to get you thinking about signing up for MAX 2008 and signing up for some of our talks.

Our talks are drawing down the experience of our User Experience Design practice and our Technology Practice, as well as drawing down on our experience of using technologies including Flex, AIR, LiveCycle ES, Flash Media Server and Flash Media Rights Management Server.

Lazy Innovation – Strategy for the Design of Innovative User Experiences; George Neill and Jerome Doran

Television on AIR – Creating Custom Media Player Experiences; Xavi Beumala and John Bennett

RIA Development with Cairngorm – Tips from the Experts; Eric Garza and Peter Martin

Delivery of a Mission Critical RIA for NATO; Peter Martin and Mansour Raad (ESRI)

Agile Testing of Enterprise RIA with Flex and LiveCycle ES; Alex Uhlmann and Herve Dupriez

Rapid Enterprise RIA Development with Solution Accelerators; Danny Saikaly and Steven Webster

Architectural Best Practices for Flex and LiveCycle ES Applications; Tunde Turner and Steven Webster

Delivering Collaborative Applications with AIR and LiveCycle Data Services; Xavier Agnetti and Alistair McLeod

Flex for Java Architects – Delivering Rich Internet Applications with Java, Maven, Spring and Hibernate; Francois le Droff and Eric Garza

As you can see above, we’re going for a dual-speaker approach to each presentation – I’ve paired our North American and EMEA consultants together on each talk, to ensure that what we present to the community in each of these subjects is harnessing the experience of our worlwide consulting team, across the maximum spread of our projects.

The prevailing theme for all of our presentations in our consulting mantra of "Innovation on Both Sides of the Glass", helping to bring together useful, usable and desirable user-experiences upon Flex and AIR with either the enterprise infrastructures of LiveCycle ES, the data-rich infrastructures supported by LiveCycle Data Services, the media and broadcasting infrastructures supported by Flash Media Server, or some combination thereof.

Our team are busy preparing these presentations – if there are any topics or examples you would like us to cover under the above subjects, then drop me some comments in the blog, and we’ll see if we can work them in for you.

I hope to see many of you sharing your your experiences with us during these presentations!