Adobe showed off internal developer projects on Tuesday that ran the gamut from pure research to almost finished products, and gave a hint of where the company is heading over the next couple of years.
Each year at the company's MAX conference, selected developers from Adobe get the chance to demonstrate internal prototypes and projects at the Sneak Peeks session. With a focus on developers and the design/developer workflow, many of the projects are tools that customers will likely see over the next five years or so — if they make it out of the lab and onto the PC.
This year's session, hosted by Adobe's Flash platform evangelist Ted Patrick and actor Mark Hamill, saw assorted Adobe developers in Star Wars costumes roll out sample code and applications — from developer tools through to cloud applications and 3D multiplayer games — to audience applause.
One developer gave a demonstration of Flash Professional Creative Suite 4, which introduced inverse kinematics, designed to give animations a more natural feel.
Another showed a prototype version of Flash Creative Suite 5. This comes with a new physics engine that is able to calculate and animate the effects of physics on items in a Flash movie. Once items are placed on the stage and their physical properties defined, a calculation engine applies the rules of physics to object interactions and delivers the results as a animation. The technology is not just for Flash designers, as it provides ActionScript access to the physics tools for Flex developers.
There is a lot of mathematics handling the heavy lifting in the Creative Suite tools, producing everything from filters and special effects to complex image blends and edits. Adobe's academic research partnerships build on the latest mathematical techniques. A collaboration with Princeton University resulted in a demonstration that showed how a future version of Photoshop could be used to remove objects cleanly from images. The result was a much more sophisticated (and reliable) version of Photoshop's existing spot heal tool, using statistical techniques to choose appropriate pixels from the rest of the image.
Developer tools for Flash
As for developer tools for Flash, the Sneak Peeks session saw a presentation of the forthcoming mobile version of the Flex framework and language, a reflection of Adobe's commitment to working with the next generation of mobile devices. New tags helped manage screen-based navigation, and a persistence engine handled state for dormant applications.
Like the desktop version of Flex, the mobile framework is skinnable, and like the next release of Flash Professional, the mobile version of Flex is likely to include tools that can target the iPhone as well as Flash and AIR.
The session also saw a demonstration of what Adobe is calling 'Edit/Continue' development, where applications can be stopped at a break point if they need to be edited. Once edited, they can be restarted without a complete reinstall. The code that is changed is refreshed and the applications — now debugged — continue to run. The technique will work well with large applications, according to Adobe developers, as it will jump straight to where there are possible problems.
Two closely related demonstrations showed off extensions to Adobe's Eclipse-based IDE. The first showed how code running on a server and a client could be developed using the same IDE and the same project; the IDE determines where code will be deployed and how it will be run. The platform is intended to make code more portable.
Adobe also used the demonstration to show that its ActionScript language can run on servers as well as in browsers and on PCs, which should simplify the process of debugging complex web applications. The prototype platform handles continuous debugging between client and server, with full access to both client and server variables.
Cloud applications were popular in the session, and one final demonstration showed off a cloud-related image-editing and processing tool codenamed 'Rome'. The Rome prototype, which has a mouse-over user interface, is a cloud-based version of Adobe's Flash Catalyst design tool. The presenters said it offers quick and easy image-based development, where image content can be mapped to buttons and used to host Flash animations. It is a hefty application, with more than 20,000 lines of ActionScript code.
Another project used cloud-hosted servers to play multiplayer games through very thin clients, and was described as suitable for mobile devices and netbooks. Each game runs entirely on remote servers, with the streaming video sent to devices — in much the same way some mobile browsers work. The developers said complex 3D images can be rendered using server power, and small thin clients can be used to view the game video and send back control signals.