Monthly Archives: December 2007

2008 RIA Trends

2007 was a really great year for RIA technologies and looking ahead 2008 will be far bigger. As a technical evangelist for Adobe, I spend a majority of my days working with external developers building RIA applications and internal Adobe teams building the next generation of RIA development tools, servers, and services. I thought I would share my perspective and highlight the trends heading into 2008.

2008 RIA (Rich Internet Application) Trends

Distributed Applications

Logic is being moved to the edge of the Internet and executing on your computer. Your computer’s CPU, memory, and hard drive are being leveraged to create better applications delivered over the Internet. Be it via the browser, Flash Player, Java, or AIR, the trend of delivering client side logic integrated with servers/services will dominate 2008 as a trend. At some point these applications will run serverless/offline on your machine and talk to services both online and locally. There will be a ton of competition in 2008 for developers writing distributed applications as Sun, Microsoft, Mozilla, Google, Apple, and Adobe push major RIA platforms into the market. If anything it will be a wild ride for RIA in 2008.

Services! Services! Services!
2008 will be the year of services and I expect to see an explosion of services launch that run both on the Internet and your local computer. Distributed applications need services and they will be running everywhere near and far. Be it on your local machine or on some far off grid/cluster/utility, services will be sending messages all over the place. Armed with API keys, we will be storing data and interacting with the cloud on a level we never saw in 2007. Among the services I am watching are Google Gears, Adobe “Voice”, Microsoft’s Live, and several in development at Yahoo!.

AIR – Adobe Integrated Runtime
AIR is going big in 2008. I have been very impressed with the AIR team and AIR 1.0 is looking to be a huge breakthrough for Adobe. AIR will make creating deployable cross-platform desktop applications a reality. Today writing cross-platform software is hard as you typically need to write the application 3 times, one for each major platform. AIR changes this and allows you to write one application and install the same file on 3 platforms securely. Deploying a new desktop platform is no easy task regarding security and compatibility but the AIR team went way beyond the call with AIR 1.0. I am looking to release several AIR applications after the 1.0 release.

Grid/Cluster/Utility Computing
In 2008, we will see lots of competition emerge in the grid/cluster/utility computing market. Amazon took a bold lead in 2007 with EC2 but this is really just the tip of the iceberg. Microsoft, Google, Yahoo, Sun and others have major initiatives underway for utility computing and are racing to provide a foundation for service creation. Considering that many of these companies spent 2007 building massive data center capacity in Oregon, we will see the cost of cluster computing spiral downward. These clusters will support the creation of many new services supporting voice, storage, presence, and hosting will never be the same. If there were an ideally situated company it would be RightScale as they have the opportunity to be the service API atop several cluster/grid providers.

I believe that JQuery will become the defacto JavaScript library in 2008. I have been very impressed with this JavaScript library and its ability to simplify DOM manipulation cross-browser. Personally I think the work that the JQuery team has done is simply amazing and we will see lots more in the coming year.

The RIA Full Monty – Flash, Flex, “Thermo”, “Bordeaux”
At Adobe, we are working on several tools for building Flash Player and AIR based applications. Creating content for Flash Player is becoming a very large market and we are building new development paradigms for creating RIA experiences. I will refrain on going into specifics but 2008 will be filled with many tools for SWF creation. Make sure to be in attendance at Adobe MAX 2008 in San Francisco, we will be delivering the goods.

Mobile and Devices
We will see some great innovation in the mobile and device space in 2008 and potentially see the first real cross-device application platforms emerge. Google’s Android, Apple’s iPhone/OSX, Flash Player/AIR are racing for a leadership position for application platforms and there is no clear leader. We are seeing more and more devices that are capable of running Flash Player 9 and 2008 may be the year we cross over from Flash Lite to running the full Flash Player on many devices. The recent release of Tamarin-Tracing is clear progress towards seeing Flash Player and AIR everywhere. Just keep it is mind that the market for mobile and devices is far larger than any existing software market. Everyone will have a device capable of running applications in their pocket.

Apple’s RIA Platform
I think 2008 will be the year Apple enters the RIA market. I have been quietly watching the changes within iTunes/Quicktime with a watchful eye. Looking at iTunes, the web presentation layer has made some amazing changes and added very rich controls in the last 6 months. The advanced UI controls, sliders, coverflow, menuing, image/data loading are really impressive and are all mark-up driven. Seeing as this platform is cross-platform, widely deployed, and based on WebKit/Quicktime, I think Apple has an entry into the RIA market in store for 2008. How, when, or if this will occur is wide open but something is cooking here.

Erlang Baby
Call me crazy but I think Erlang is going to explode in 2008 as a service development language. Today all programming languages really ignore concurrency and make development of scalable distributed services very hard. Erlang makes this easy and leverages the N-core machines arriving in the market. Recently switched over to a Erlang based XMPP architecture and Amazon launched SimpleDB built atop Erlang. Honestly, Erlang is powerful dark magic and can peel the paint off your house in parallel.

It looks like a great year for software developers all around. Just remember, programming is not a spectators sport!



Yesterday’s Blog Posts

Yesterday was not the best day for my blog as I made two very large mistakes. As you are probably aware things are moving at an ever faster pace at Adobe and in the RIA marketplace. I am clearly not perfect and try my very best to communicate clearly and get the details of what I blog as correct as possible with the deepest respect to the partners we work with.

Yahoo Maps

I want to personally apologize to Yahoo and the Yahoo Maps team. I posted on the new Yahoo Maps release in advance of their team. My blog post was disruptive to their launch and for that I sincerely apologize.

I do want to congratulate the team on their work and I am absolutely genuine in my praise of yesterdays release. Building software that is used by millions of users daily is impossibly hard and regardless of the technology in use that level of engineering deserves respect. To the engineers at Yahoo, you did an amazing job.

QVM is “Tamarin-Tracing”
Yesterday I posted on a new VM contributed to mozilla under the tamarin project. I got the “QVM” name wrong in my blog post as this was an internal name at Adobe. You can find details on “tamarin-tracing” here.

In both of these cases the error was miscommunication and I take full responsibility for what I write here. I am going to take some time and work out a plan for blogging news so that the quality of the posts goes up and respects the needs of our partners like Yahoo. For the mistakes I made yesterday I want to apologize publicly to those affected.


Ted Patrick
Adobe Systems

Meet QVM "tamarin-tracing", the new Tamarin VM contributed to Mozilla

Today, Adobe has checked in a new virtual machine called QVM “tamarin-tracing” into the Mozilla Tamarin project. QVM “tamarin-tracing” is a VM for constrained environments (read mobile and devices) so that just about anything with a CPU and memory can execute ActionScript 3 Bytecode under low memory and low CPU conditions.

Parts of QVM “tamarin-tracing” are written in the Forth programming language because you are create really efficient VMs in 50K of memory runable on just about any device available today. QVM makes AS3 bytecode execute on a majority of devices that consumers already own and is a key part of the future Flash Player and AIR strategies. The open sourcing of QVM will accelerate our device strategy and allow EcmaScript to scale up and down independent of system resources.

“As mobile and other non-pc ecosystems continue to evolve, we anticipate more applications will be developed using web technologies, and we believe that delivering a high performing, standard implementation of the ECMAScript language is critical to this evolution. The contribution of our early work on adapting our virtual machine to mobile devices supports this belief and we anticipate that this work will be deployed in Flash, over time, on both PC and non-PC devices. With this submission, we are also seeking the active participation of the best minds in the industry to ensure that Tamarin remains the leading VM for web applications high performing, mobile-ready, and standards compliant regardless of target platform.” – Gary Kovacs

What I find really cool is that this VM allows us to use full power of AS3 to deliver mobile applications. We no longer have to use legacy AS1/AS2 to create logic on devices and it exposes the entire Flex development model to a much larger mobile marketplace.

More to come!


Yahoo Maps: From Flex 1.5 to AJAX

Today Yahoo Maps turned off the the Flex 1.5 based maps application and launched a new version built upon AJAX. Having been involved with Yahoo Maps since I joined Adobe in 2006, seeing this app move to AJAX is troublesome for me because many of the reasons it moved were non-technical and I believe that Yahoo missed an opportunity in adopting ActionScript 3.0 and Flash Player 9.

Flex 1.5 is much harder to develop with compared to Flex 2.0. In several cases development can take 2X longer using Flex 1.5 vs Flex 2.0 but the version difference of .5 makes this seem deceptively minor. Flex 2 was a ground up re-write of Flex on ActionScript 3 utilizing clean API’s and a new JIT VM in Flash Player 9. Code execution is 20+ times faster than prior versions of Flash Player and the API changes really remove the development barrier to making rich applications. Yahoo was having a difficult time maintaining the Flex 1.5 version of Yahoo Maps and as Flex 2.0 took off, the developers on Maps were lured away by higher rates. Currently there is not a single Flex developer left from the original Yahoo Maps team and they are all now working at high level Flex positions at ESRIA, Disney Internet Group, Fidelity, Metaliq, and Ribbit. Flex 2.0’s success in 2007 lead to a developer shortage and the Yahoo Maps team was gutted of its Flex talent given market conditions.

Advertising using Flash Player is commonplace online but putting Flash advertising inside a Flash application is hard given different frame rates. Yahoo has a javascript ad api that is ready to add into any html based application but with Flash based solutions all ad apis needed to be custom developed and maintained. When companies create Flash advertising they encode them at a certain frame rate. If the frame rate of the Flash application is faster or slower than the rate of the advertisement then it will play incorrectly. The irony is that you cannot easily put Flash advertising into a Flash application today without modification of the original SWF. The Flash Player team is working on a very elegant solution for this in a future Flash Player but this made montization of Yahoo Maps more difficult than it needed to be. We need to solve this problem and it MUST be drop dead easy to add advertising into Flash content.

It is also frustrating for me to see nearly every other maps provider enhancing mapping applications with Flash Player. Google, Mapquest, ESRI, and even National Geographic are all leveraging Flash Player within their current mapping applications. With the ability to work with image data in memory, vector maps, optimized data loading, alternative views (street view) , filters, and custom user interface elements, Flash Player is an ideal medium for maps and map syndication/integration.

Long story short, we have some work to do. We need to make Flex/Flash work with advertizing so that it can become the primary content not the ads. We need to get more developers trained on using Flash/Flex and especially ActionScript 3 so that teams and solutions can grow. We also need to highlight the API’s within Flash Player and make them easier to adopt. Many developers have no idea that these API’s even exist. As a medium, Flash Player still has some very large barriers to cross to see larger scale adoption and mainstream use.

I want to congratulate the Yahoo Maps team on delivering a great AJAX implementation. Sincerely, what they have accomplished is really great and is technically awesome in terms of compatibility and performance. The issue for me is that I know that maps leveraging Flash Player 9 and ActionScript 3 could be dramatically better than anything in the market and as a long time Yahoo user, I wanted to see them jump ahead.

Yahoo! Maps on Flex 1.5, you will be missed!


2007 Adobeted Charity Auction >> $5774.76 to the SF Food Bank

The auctions are now all closed and they could not have gone better. The auctions raised $1443.69 in total, I matched $1443.69, and Adobe matches $2887.38 for a total of $5774.76 to the SF Food Bank. I need to publicly thank the auction winners:

Jens Brynildsen
Oscar Cortes
Mark Drew
Cyril Hanquez
Peter Elst
Aaron West
Josh Tynjala
Russ Ferguson

During this holiday season, give something back to those in need and encourage others to do the same. Sharing your success with those less fortunate is the right thing to do and you get a greater gift in helping others.

All the bags are packed and will be sent out tommorrow.



Ribbit leveraging Flash Player… duhhh

I have had the distinct pleasure of working with Ribbit for the past 6 months and watching this Silicon Valley start-up emerge as the leader in merging RIA and VOIP. The key is that Ribbit can integrate voice and PSTN phone features into any website or desktop applications using AIR or Flash Player. They chose Flash Player because it runs on 95% of computers connected to the Internet with no installation. Flash Player in this case provides real-time 2 way audio integration through the use of Adobe’s RTMP protocol and allows developers complete control of the user interface. I keep seeing great things coming from Ribbit and I think this is just the tip of the iceberg.

Hats off to the development team at Ribbit, especially my good friend Charles Freedman. Charles was a key engineer on Yahoo Maps and early Flex adopter. Charles departed Yahoo to help Flex enable Ribbit’s VOIP platform with rich UI.

Chuck, golf is on me this week!