Artifacts of Browser Behavior: A new standard for applications?
One of the blogs I read is Ryan Stewart’s Digital Backcountry where he covers rich internet applications. (He recently went to work for Adobe and covers Flex/Apollo extensively.)
There is a useful post on some new features coming out in Flex 3 that concern “deep linking” in Flash/Flex/Apollo applications. This has been an issue for web developers who come from the world where linking out of the application is possible and/or the user employing the “back” button is an inherent part of the application behavioral syntax. Flash/Flex applications, as “contained” application environments don’t inherently have a back button or a back button syntax and, up till now, the user couldn’t link out of the application.
Ryan writes correctly:
In some ways I see this as an artifact resulting from trying to use one functional model to replace all other models whether or not it fit. The basic web technology (with its links and page sequencing (including back and forward)) was designed to present stand-alone objects (pages with text or whatever) in a sequential (or multi-linked-sequential) flow, originally without context or much control. Building functioning applications in this environment has always seemed like a bit of a kludgy hack to those of us who have designed contained and controlled application architectures. Of course, “web application” technology has evolved its capabilities to maintain application context and control behavior, but it has always suffered from a lack of true context control oftentimes because of behaviors like the back button.
So it is a “new” solution to a “new” problem: before the advent of the internet, application architecture enabled us exert control over content, context, and user behavior. Of course, they weren’t universally available over a ubiquitous universal network, so these days are better days in many ways. Adobe has published some really good talks and white papers on how application architecture took a large set of backwards steps, which are now getting addressed with several new offerings from many vendors.
Stewart reports that behavior that doesn’t reflect “browser” behavior is seen to be a deficient architecture. The reality is that every application needs to be able to control context and behavior as necessary within the requirements of the application, the user, and the proper control of the dataspace and context. Something as innocuous as the “back” button can’t be a sacred cow—elegance, usability, correctness, and common sense need to lead the day in building future applications.
The new application platforms that will allow applications to work on the internet and on the desktop (so far we’ve looked a bit at Adobe Apollo and Google Gears, though there are others) are exciting, but we have to get passed a need to hold them to a standard that only came to exist in the last decade and is a short term artifact of the current evolution of development capabilities.
mpanttaja on June 8th 2007 in Adobe Apollo, Business, GDD07, Technology