Mar 2, 2009

Eclipse marketplace inspired by the gaming industry

I have blogged about the need for an Eclipse marketplace on an earlier post. Since I am a techie who knows about bundles, I have called it “bundle marketplace” but Eclipse marketplace is more friendly. The post revealed that others in the community were supportive of the idea. Moreover, I have discovered about the renewal of the EPIC, which can present an opportunity to make the marketplace happen.
I have started with the marketplace idea initially when the Equinox application model demo was made available two years ago. The demo shows the use of OSGi Application Admin Service specification to manage Eclipse applications. I was suffering from several Eclipse installation for different purposes syndrome back then. So I decided to put together my personal RCP application to manage those instances.
My inspiration for the RCP application was actually the Steam gaming platform that I used to use actively. This is an application platform that let’s you buy and download full games. It also keeps them up-to-date and informs you about the changes and releases. Sounds familiar? Here is how it works. On most of the time, the application is an icon on the tray. It manages the game updates, installs when idle. It also provides a menu as you can see on the screenshot below to reach your games and other stuff.
If you click the Games menu it opens up your list of games ( read applications here ).
There is also the store view which is essentially a web application in the embedded browser.
So I decided, I want the similar kind of experience for my Eclipse installations. So I started coding a RCP application that would most of the time sit on the tray and would launch my applications. Actually that part went smoothly and I was able to do the listing and launching of the applications. Introducing different Eclipse configurations as applications was a bit pain but it worked. Then, I have turned my attention to installing, and updating but remember this was two years ago, there was no P2! So that’s where I have stopped.
After the talks about the marketplace started I have checked back to my SVN and I still have the code. If a project to mix the capabilities of P2 and the EPIC to create a client is started I would be willing to contribute this work. Further, with the use of new SWT Browser APIs (for cookies and calling Java from web pages) on 3.5  stream, I think it would be possible to create web hybrid application as the front end for the Eclipse marketplace that integrates with this client and therefore with P2.