abm (14) amp (18) ascape (6) biomed (6) business (22) butterflyzer (9) dharma (12) eclipse (62) emf (7) graphics (10) ip (8) java (35) life (5) osx (13) science (13) web (6) xpand (5)

Monday, February 1, 2010

Imagining the "Eclipse Store"

One of the really nice things that the Apple App Store has done is lower the barrier of entry for software developers. It's not news that this has created an incredibly vibrant, lucrative and diverse ecosystem. Why couldn't the same thing exist for rich client applications in general? And why shouldn't it be built around Eclipse RCP? All we need is Steve Job's gift for hyperbole. "With it's incredible breadth and depth of functionality, enormous pool of brilliant software engineers, and world class support for user assistance and branding, Eclipse is the natural platform for creating amazing software applications that will run anywhere. It will revolutionize the desktop software industry in the same way that the App Store has revolutionized the mobile device software industry. And with E4, the possibilities for creating truly unique user experience is literally mind-boggling."

There is one key ingredient missing from this nice dream. But first, let's imagine these scenarios..

  • You're an Eclipse software developer who's developed a cool little plugin tool. Yeah sure, it would be great to release it as an Open Source tool, but you've already done more than your share! A lot of people would really like using the tool, and they wouldn't mind paying a few bucks for it, especially if it meant supporting an Eclipse contributor. Wouldn't it be nice to get a little back?

  • You're a larger firm developing custom and proprietary solutions to go along with your Open Source offerings. You have a really deep solution that might be just what a small number of customers really really need.

  • You have a set of features that would make an existing Eclipse solution that much more powerful. You'd like to be able to package these up as a set of tools that anyone can install as an add-on. It would be especially nice if users had a way of discovering these tools from within Eclipse after installing the software.

  • My favorite You're a software developer with a good idea for a neat little product that might even be a killer. You have a nice self-contained RCP app, but you're not going to know if anyone will care until you have a chance to get it into the hands of some users. To make money on it though you're going to need to be able to target every platform, and you just don't have the time or expertise to put all of the little pieces together.


I doubt I'm the first one to think about this. There have been a number of really interesting discussions related to it:
  • There is a great discussion going on in this bug about applying the Mylyn Connectors approach to a general system-wide tool. Very cool! TaskTop has been pointing the way for small vendors in a number of directions and this is just another example. Subversive has stolen (in the best sense of the word) this code in order to support installing connectors and with this one change has single handled wiped out what I believe has been the number one barrier to Eclipse acceptance -- the pain that installing SVN connectors used to be.

  • Ian Skerret and others have been putting a lot of thought and effort into the new Eclipse Marketplace and into how to incorporate the marketplace into Eclipse itself.


But if we want to do what Apple did there is still that important piece missing... What is it that actually made the App Store successful? Was it the iPod? It could be argues that the App Store's success has been just as instrumental in the success of the iPod and iTouch as the other way around. Apple's unique marketing wizardry? It certainly doesn't hurt, but.. How about brilliant product innovations by Software Developers? There are plenty of iPod software products that are kinda dumb but that are making the developers lots and lots of money. (And interestingly, there isn't a single killer app store app like halo was for the XBox.) No, the single innovation that makes App Store work is..

Handling the transactions, and creating network effects and free marketing for developers. As I mentioned above, Ian and crew are hard at work on the second two -- ultimately I'd argue for even deeper integration into the Eclipse experience. But the bottom line is that handling money, "productizing" and marketing is difficult, especially for software developers and especially when complex licensing tools and integration are involved. Look back at the list above. What is the common denominator for all of the scenarios? The software developers all have really good, really useful software but no way to sell it, and not enough time and money to invest to get to a place where they can.

The bottom-line is that to make the Eclipse Store work, we need a common place for purchasers to go that allows them to preview, purchase and pay for software made by Eclipse community participants. This tool should also provide a way for software developers to easily sell Eclipse based software without the Eclipse tie-in as appropriate for their product image. So we need infrastructure and something to wrap that infrastructure in. Unfortunately, again, the current state of the art for Eclipse developers is pretty depressing. Here are the core issues as I see them, in order of importance.
  • Payments: We need a way to get money from the customer! I've been setting up Zen Cart on my website to handle this. There is a lot to mange and figure out here already. Probably too much for a few of the scenarios, and I can already tell you that there are a lot of things I'd rather be doing.

  • Licensing and Key Management: This is much harder. There doesn't seem to be any OOTB solution to doing this, even a $$$ commercial one. I know, I'm wanting to have my cake and eat it too, but while I'd be willing to pay a % to someone to manage this, I'm not prepared to pony up up-front cash for it -- I've already spent all of my available time and money making the software work in the first place. There used to be a solution by a company called Jigsaw Software but they don't seem to be offering it anymore -- no mention on their webpage at all about it in fact. And when I tried it it wasn't really what I was looking for anyway. There are a few scripts for Zen Cart including one that seems to have some Windows only bits but that is looking like weeks of hacking for not much gain.

So how can we get from here to there? Is anyone aware of better solutions than what I have mentioned? I have to call out Tasktop again and point out that they seem to have worked out some elegant solutions to these issues for their products, but it would be way too much to ask them to offer that to the broader community and in any case it would require a lot of additional effort. A bunch of us could get together and create a project to do this, but speaking for myself I'm already hugely over-committed and this would be an enormous distraction for huge external but minor direct benefit. The responsible course for me right now is to put together a one-off quick and dirty solution that works.

Recently there has been a lot of talk about the "tragedy of the commons". I think that this is a misunderstanding or at least a mislabling of what is actually a much richer set of dynamics but that's for another post. And I'm not sure that there is anything wrong with the way things are now. In the words of famous Zen teacher, "things are perfect, but they could be better". The point is that we all understand what the issue is -- who's going to pay for the stuff that's really boring, hard or requires long-term dedicated engineering effort? My feeling is that there has to be a way to make this come up organically and intrinsically from Eclipse itself. We can have all the openness in the world, but without a way to get some of the heavy lifting done in the interests of the Eclipse community itself, and controlled by Eclipse itself, we're missing out on a lot of potential.

So I'm going to make a radical suggestion here. My thinking at this point is that this is a perfect test-case -- and perhaps even a fundamental component -- for how the Eclipse Foundation and community can grow even further into what I think its fundamental brilliance is: a unique hybrid that propagates Open Source and Open Development practices and visions while nurturing a rich container for dynamic commercial success especially at the smaller scale. Why not invest in the supporting technology, infrastructure, marketing and branding for a fully integrated apps store, take a percentage cut off of each sale, and use the money to support on-going foundation supported development efforts?

I'm sure there are problems with this idea -- I've already thought of a few myself -- but I really think it can work. What do you think?

4 comments:

  1. Hi Miles, great idea! (see also [1] :-)

    The committer reps on the board already pushed for this, with most of the energy coming from Doug Gaff. See [2]:

    "RESOLVED, that the Eclipse Foundation implement an App Store on top of Eclipse Plug-in Central. At the Foundation’s discretion, member companies may assist in the creation of the store, but the Foundation will receive the revenue from the fees associated with selling directly from the store. This initiative should be viewed as an ecosystem-enabling activity and an additional source of incremental revenue for the Foundation."

    Unfortunately, it is not easy to do, especially for an organisation that is way smaller than Apple, and that does not have any extra money available to invest. In subsequent board meetings, we discussed potential business cases for an "app store" and concluded that it was too costly/risky at this point. So for the time being, all that's going to happen in the short term is that the Eclipse Foundation is investing in an Eclipse Marketplace client [3] that will ship with the Eclipse Helios download packages. This is a necessary (albeit small) first step that may give us more data for future business cases.

    (Btw, the committer reps have argued that the main purpose of an "app store" would be to make the ecosystem more attractive, not to make money for the Foundation, but it is pretty clear that there is no money that could be sunk in something that may not even be sustainable. If you can come up with a business case that explains how not to lose money with an app store, make sure to let me know!)

    [1] http://borisoneclipse.blogspot.com/2009/02/bundle-marketplace-1.html
    [2] http://www.eclipse.org/org/foundation/boardminutes/2009_06_17-18_Minutes.php
    [3] https://bugs.eclipse.org/bugs/show_bug.cgi?id=296131

    ReplyDelete
  2. Miles,
    I really like this idea.
    perhaps at EclipseCon "Unconference" there's a space to discuss.
    ekke

    ReplyDelete
  3. Great points Miles. Over the past few months Tasktop has had several request for licensing our licensing technology, which has been a pain to get right. We've flopped between a pure subscription style to a license and key and have generally spent too much time dealing with the need to break some new ground between releng, distribution and licensing. In retrospect I wish we could have outsourced all of that, but could not find a suitable solution when we needed it. As you say, one of the things that makes the iPhone ecosystem so healthy is that it provides licensing as part of the infrastructure. At a substantial cost, since Apple takes a whopping 30% of app revenue.

    As Boris points out, it will take some time to get the purchasing story sorted out for Eclipse. But I don't think that should dissuade small companies from using the new Eclipse marketplace mechanisms for their commercial solutions. It just means that you need to make sure that the user can install some kind of trial or free version, and then be driven to the vendors' web site in order to purchase post install.

    ReplyDelete
  4. Just to add to Boris' comments.

    It turns out that the major cost to doing an AppStore is actually not the software for the payments system and the like. The most expensive, time-consuming and annoying part is getting the corporate registrations, tax registrations, warranty & liability issues, etc. figured out for all of the countries that you want to sell to. Imagine figuring this out for US, Canada, Germany, France, China, Japan, Korea, Brazil, India, etc. etc. etc.

    The other issue that we have is that to make something like an appstore fly we would have to charge some sort of fee. As Mik points out, iTunes charges 30%. There are actually some companies in the Eclipse ecosystem that really would not want to pay the EF anything like that because the existing model actually works pretty well for them.

    At the moment we just do not have the resources to tackle an appstore. And surprisingly we weren't able to find anyone who was yet in the business of solving these issues. We committed to the Board to doing the Eclipse Marketplace this year and revisit the appstore concept next year. As soon as it is at least a break-even proposition for the EF we are going to be all over this idea.

    ReplyDelete

Popular Posts

Recent Tweets

    follow me on Twitter