Buzzword – RIA Word Processor: Built Using Adobe Flex / AIR
Coletta and Staley provided InfoQ.com an overview of the Buzzword product, features, and architecture:
Buzzword is a web based word processor, built with Adobe Flex. Buzzword looks and behaves like a normal word processor but it operates inside a web browser. It combines the rich user experience of desktop word processors with the ubiquitous access and collaboration capability of other web based word processors.On the process of choosing the AIR/Flex platform for Buzzword:
This includes meticulous letter spacing and complete repagination of the document with each keystroke - instantaneously. Buzzword also offers easy and powerful image manipulation within the document, including drag and drop for placement and resizing. The significant performance improvement in Flash Player 9 made this approach feasible.
Buzzword is available free for public use at www.buzzword.com.
When the first beta releases of Flex 2.0 and Flash Player 9 became available in the fall of 2005, we updated our prototypes and discovered that the performance of the Flash platform had increased enormously. It was immediately clear to us that Buzzword could be built, and that Flash/Flex was the only platform that could do the job.
We have encountered (and mostly overcome) quite a few challenges. Here are a few examples.InfoQ.com asked if there was anything Coletta or Staley would like to see added to Flex and/or AIR:
Another technical challenge is keeping Buzzword's user interface responsive without the use of background threads. ActionScript 3, the programming language used in Flex development, is fundamentally single-threaded, and requires asynchronous completion functions for all network operations. Performing time-consuming background operations on a separate thread is a common technique for maintaining responsiveness in a user interface, and since we can't do that, we have to resort to alternative techniques which are sometimes clumsy and difficult to implement and maintain. (But multithreaded programming is notoriously hard to do correctly, so this limitation is not without a silver lining.)
On the design front, it has been challenging to find the right balance between simplicity and judicious use of visual effects. Flash and Flex provide a very rich palette of animation and transition choices, and once animation is introduced into one area of an application's user interface, it becomes necessary to consider how to use visuals effectively throughout the application. Similarly, we have been able to innovate in a few key areas of interface design, such as Buzzword's formatting toolbar, document scroll bar, and collaborator bar, while working hard to strike the right balance between visual innovation and consistency.
There are a number of possible improvements to Flex and AIR, but many of the constraints are necessary and would be very difficult to overcome, so wishing would be pointless. One thing that would be useful and realistic to ask for is a facility for compiling and running ActionScript code at runtime.Coletta and Staley offered the following advice to those considering adopting Flex and/or AIR:
When you're looking for talent, don't worry too much about background in Flash or Flex. Not a single member of the Buzzword team had ever worked in Flash or Flex before starting on Buzzword. Instead, hire people with strong object-oriented software development backgrounds, with experience in languages like Java, C++, or C#. They'll find ActionScript 3 and the Eclipse-based Flex Builder environment to be quite comfortable and familiar.Next Coletta and Staley were asked about the Adobe acquisition:
A key part of the Buzzword vision was to deliver an elegant user experience on the web, and this led to the evaluation and selection of Adobe's Flex as the development environment, with the application to be deployed on the Flash platform.Coletta and Staley on what the future holds for Buzzword:
When Adobe saw the work that the Buzzword team had done on their platform, which included an early version on the newly announced Apollo (now AIR) platform, Virtual Ubiquity became the first recipient of Adobe's venture fund in the fall of 2006.
The Buzzword team realized that in order to tackle the crowded and chaotic new market, we needed to work with an established software firm to get the kind of stability and market exposure needed to effectively launch Buzzword.
Adobe was an obvious choice - not only because we built Buzzword on their great Flash platform, but because Buzzword fits so well into the Adobe heritage, which is all about great design and documents that matter. We think we can truly make a difference with Adobe, and help them in a variety of ways. Adobe has some exciting plans for the future, and Buzzword is poised to play an important role in their increasing presence in the area of web applications and collaboration. For more information on the acquisition, check the Adobe site to view the press release and the FAQ.
Buzzword will continue to evolve as a word processor - we're eager to implement some great designs and innovations in areas like change tracking and named styles. Because we're delivering Buzzword on-line, we can apply regular updates - we've settled into a 6-8 week update cycle, which should hold for the foreseeable future.Buzzword offers an excellent example of a true Rich Internet Application built using Adobe Flex. The experience of Coletta, Staley, and the Buzzword team should help those evaluating the RIA landscape.
We also expect to add PDF export support in the near future. This was a requirement we heard from our users, even before news of the Adobe acquisition was made public.
As part of Adobe, we are eager to extend the Buzzword in a number of areas. First, of course, is the AIR platform, which will not only enable off-line use but will also provide a cleaner user interface (without distraction from the browser chrome) and even closer integration with the desktop.
Beyond AIR, Adobe's collaboration platform and emerging hosted applications will provide a rich portfolio of capabilities that will complement Buzzword nicely, and provide a great environment for collaborative on-line work.