X
Business

Adobe tools put desktop apps in the browser

The company will reportedly open source a set of tools allowing existing desktop and server software written in the C programming language to run in browsers
Written by Matthew Broersma, Contributor

Adobe is preparing to open source development tools that will enable existing desktop and server software to run in web browsers, according to reports.

The tools will work with applications written in the C programming language, said Adobe researcher Scott Petersen, who has been developing the project. 

Such an approach would bypass current web-programming techniques, such as Ajax, which are designed to simulate the features of desktop software in a browser environment.

Petersen has been developing the tools as a side project, and Adobe is now planning to open source the project in order to tap into developer interest, according to a blog posted last week by Mozilla Labs researcher Atul Varma.

The post followed Petersen's recent demonstration of the project to Mozilla researchers. Petersen also showed the project at an Adobe conference late last year.

During both demonstrations, Petersen demonstrated the computer game Quake running as an application for AIR (Adobe Integrated Runtime), Adobe's cross-platform environment for rich internet applications. C or C++ applications converted using Petersen's toolset could also run in a Flash-enabled browser, Petersen has said.

At the more recent presentation, Petersen focused on the open-source implications of the project, explaining that the toolset is compatible with Tamarin, an open-source version of the virtual machine used in Flash, according to Varma. Adobe donated the Tamarin code to Mozilla in 2006 and it will be integrated into Mozilla-based browsers such as Firefox 4. Petersen did not give a date for when Adobe would release the tools themselves as open source.

The project is based on the Low Level Virtual Machine (LLVM) compiler infrastructure, allowing it to turn C or C++ code into ActionScript instead of platform assembly code, Petersen said. ActionScript is the scripting language that runs in Flash Player. "I've created an LLVM backend that uses the same underlying mechanism as the platform-specific assembly language generators for x86, ARM, PowerPC, etc," said Petersen in an October interview with Adobe platform evangelist Ryan Stewart. "But instead of generating 'real' assembly language, it generates low level ActionScript."

At the Mozilla demonstration, Petersen also showed C-compiled versions of languages such as Lua, Ruby, Perl and Python running in secure Flash sandboxes, according to Varma. The toolset includes features such as an application programming interface (API) for custom Posix system calls and a C multimedia library providing access to Flash, he said.

The toolset is interesting, but could open up serious security questions, according to Nathan McFeters, a senior security adviser for Ernst & Young's Advanced Security Center.

He pointed out that the C language has a reputation for memory overflow and other systemic bugs, and that the browser environment has been the recent focus of hacker activity.

"If we're going to use C/C++ or any other older language for our web-application programming, let's think about the ramifications and implement it in a way that helps developers program it securely," McFeters wrote in a commentary on ZDNet.com.

Adobe did not respond to requests for comment for this article.

Editorial standards