Downloadable Eclipse Plugins
The following post outline a suggestion for a new Eclipse feature which will make it easier to download and install Eclipse plugins. If you like this suggestion please vote for this bug. Comments and further suggestions may be posted here or in the bug itself.
Here's a common scenario: you are surfing the web, and then, out of the blue, you come across this incredibly interesting tool. You decide to give it a go. What will you do next?
If it is a web application, you would probably signup. If it is a desktop application, you would download it. It turns out that most people will not install it right away. You are now browsing the web: searching for answers, reading articles or just enjoying some leisure time. You are not interested in breaking your concentration and start fiddling with installations.
Eclipse plugins, however, are different. The best way to install Eclipse plugins is using the built in update manager by providing an update site URL. Instead of downloading the software you are left with an update site URL. If you are not going to install the software right away, what will you do? write it on a piece of paper? bookmark it for later? The odds are that you will forget about it a couple of hours later and never install it anyway.
It's a key element in selling software: People who decide to try desktop software should be left with something very tangible: a downloaded file.
Oh, and all you open source developers reading this, trust me: you want to "sell" your software too. There's nothing more rewarding than having people using your software. You won't get money but you will get recognition and gratitude. We are on the same page.
There is an existing option of using the "Dropins" folder. I would bet that most people who use Eclipse or Eclipse based IDEs don't even know these droppings (sorry, couldn't resist) exist. It is not common knowledge when it comes to Eclipse (people working on the platform for a long time tend to forget that).
The Proposal: A New Eclipse File Format
A new Eclipse downloadable file format is introduced. The files will have a unique extension which is associated with Eclipse. Upon double clicking a file in the operating system, Eclipse will receive an open event for the file, much like other OS applications.
The format itself will be a JAR with a different extension (much like WAR and EAR). There are several options as for the contents of this JAR:
- A URL of an update site. The URL could be in the manifest or in a dedicated resource bundle file. Upon launching the file, Eclipse will automatically add the site and start an installation process. One may think of more advanced options to include other than the URL, e.g. the feature name to install, which will transparently select the feature and move on the installation phase.
- An archived update site. Operates much like the remote installation, but uses the local archive. It would be nice to add an option to check for newer versions.
The platform should protect against malicious content, check for code signing and confirm with the user before executing the code, much like it is done today with downloaded content in Windows and OS X.
Future plugin updates will use the current Eclipse update mechanism, although it could be possible to download a newer version of the plugin and install it in the same easy manner.
The result: Installable plugins may be downloaded from web sites. The installation process is a simple process as it is will all applications today: double click to execute the installer, receive an installation UI and complete the installation.
IMHO, the main challenge is associating the platform with the file. For example, I have at least a dozen different Eclipse instances on my machine. Which one is loaded upon double clicking such a file? Well, each OS has a way of handling these file associations and there should be a preferences page for defining which is the Eclipse installation which receives the file open events by default, unless a different platform is already open. Handling the case of multiple running platform also seems simple enough.
Please vote for this bug here.
Sounds simple enough! Can I please have it yesterday? In fact, can we have it for Eclipse 3.4? :-)
He is a entrepreneur and a software architect from Tel Aviv, Israel. He is also a technology freak with about 20 years experience working with computers. He is currently working on his first private initiative in the area of software development tools. His vision is to maximize the abilities of software developers by providing pragmatic tools that enable them to get fast results. Zviki is a DZone MVB and is not an employee of DZone and has posted 25 posts at DZone. You can read more from them at their website.
- Login or register to post comments
- 1423 reads
- Printer-friendly version
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)










Comments
Christopher Brind replied on Thu, 2009/10/08 - 3:32am
Peter Stibrany replied on Thu, 2009/10/08 - 8:46am
Hello Zviki,
I am working on Eclipse plugin installer for my own plugin. At the moment, it is windows-only, but there is nothing windows-specific about it. Scerario is that user downloads single .exe file (of course branded with own icons), which can be executed. This exe is self-extracting rar archive which contains local update site + code that is automatically run on extraction and
It runs with admin priviledges and therefore can update Eclipse applications stored in "C:\Program Files" under Vista/Win7 too. It uses latest P2 code and can update both eclipse 3.4 and eclipse 3.5 based apps.
Code is based on Equinox P2 Director application. I hope to finish and write more about it soon, at the moment I have beta version available at Foglyn Integrator
I would be happy to receive any feedback on it :-)
--Peter
Zviki Cohen replied on Thu, 2009/10/08 - 5:56am
@Christopher: You are not the target audience for such a plugin. However, you belong to the tech-savvy minority (proof: you read this post on EclipseZone... :-). What you read here is the result of the frustration involved in trying to create a better world for us, developers. Plain and simple.
@Peter, You know me, I'm a Mac head... I have customers on Mac and Linux. As a Mac users, getting to the download site and discovering that I'm a second class citizen is a real turn-off. I won't do it myself out of principal.
If your app is an RCP app and you'd like to share the sources, I might take a look, though. I would gladly pay for a proper cross-platform solution with functionality similar to what you describe.
BTW, I tried fiddling around with the P2 director myself. Its' design really makes it hard to use it in any case other than its' original use case: command line installation. My main rants were support for progress monitor and proper error reporting. It probably deserves its' own bug...