Skip to main content

The Java Store, a Q&A

Posted by joshy on June 17, 2009 at 10:53 AM PDT

One of the big announcements at JavaOne was the Java Store. I'm especially proud of it because I've been secretly working on the project for the past few months. Since the announcement I've gotten a lot of questions on the store and how it relates to the rest of the Java ecosystem. To supplement the excellent FAQ I thought I'd answer a few questions.

What's the one paragraph summary of what you've announced?

We have announced the private beta of the Java Store, a desktop client to let people browse and purchase desktop Java applications, and the open beta of the Java warehouse where developers can submit their apps for distribution. You can sign up to test out the store and warehouse today. Currently US only for both the store and the warehouse, with more countries coming soon.

Can I make apps for the Java Store in languages other than JavaFX?

Yes! All JVM based languages are welcome, not just Java and JavaFX. Remember, end users don't care what language your app was written in. They just care that you made a useful app that looks and performs well. Use whatever language lets you be the most productive and build your best apps.

What are the restrictions on apps in the store?

See the FAQ for full details, but the brief answer is: any JVM app. Must be consumer oriented. 50MB limit (for now). Must be unsigned or signed with a valid cert. All apps are free until the store is open for business, then you can charge. There's a few more details but those are the basics.

When will you let me sell my apps?

As soon as we can. The store isn't open yet. After all, you can't have a store with empty shelves. That's why we are giving you, the developers, time to get your apps ready. When we open the store for business you will be able to set your price and start selling apps.

How will customers find my apps?

The desktop client you saw at JavaOne is only the first version. We are already hard at work adding new features to the store that will let customers find your apps. Features like searching, filtering, ratings and reviews. And eventually the Java Store will be distributed with Java itself, ensuring your apps can be found by nearly a billion people.

What about mobile apps and TV?

The Java Store is really two parts. The storefront is the desktop client program which lets you buy desktop apps. There is also the Java Warehouse. This is the place where you, the developer, can store your apps for sale. In the future there will be additional storefronts for TV and mobile, probably carrier branded. The Java Warehouse, where you put your apps, will serve all these stores. Desktop is only the first exciting step.

What apps are in the store today? Where did they come from?

We worked with a group of partner companies to build new apps and adapt existing apps for the store. My personal favorite is the Astronomy Picture of the Day app, built by a cool company here in Eugene, Oregon called Concentric Sky. It connects to NASA's astronomy photo archive letting you browse through past photos, read descriptions, and even translate the text into other languages using Google Translate. See what the CEO of Concentric Sky had to say about the Java Store and JavaFX in their blog.

Why can't developers in other countries sign up? When will you let us sell apps in other countries?

We will open up the store to other countries as soon as we can. International commerce is far far more complicated that you might think (as an engineer I was quite surprised). Every country has different rules about taxes, privacy, and commerce. There's simply a tremendous amount of paperwork to go through. We have the lawyers and business guys working on it right now. Currently we are aiming for early 2010, but we'll let you know if we can get it done sooner.

To clarify we asked Jeet Kaul, one of the Java executives to explain: (click to watch)

SafariScreenSnapz024.png

If you have any other questions regarding the Java store please email me or submit your comments to our feedback page.

Comments

I like Java Store,

I like Java Store,

Hi Joshy, I am playing around with JavaFX Mobile and I have a question about the optional JSR's. Is it possible to add new API's and use them on my HTC Diamond? I tried to use JSR.82 and JSR-256, but none of them works, my phone does not start the programms. I saw your Accelerometer example and tried to use it, but it only works in the emulator. Is there anything I need to consider running this example on my phone? thanks huetz

What I don't understand as a *user* is why a Java App Store? I don't buy apps because of the technology they're based on, I buy apps because they run on my computer and do what I want them to do. It feels like another push of the Java brand when in the end the user should not have to care about what the application is made of.

How about opening up the store for international users with restrictions to only download or perhaps even produce free applications until their country is approved?

Have a look at my last comment at http://weblogs.java.net/blog/joshy/archive/2009/06/top_5_most_impo.html

coxcu can you give me some examples of the developer oriented apps you'd like to submit?

What does "consumer oriented" mean? There are millions of Java developers and lots of software development oriented applications that run on the JVM. Many of them would benefit from being available via an app store. Are they going to be allowed?

When you say "In the future there will be additional storefronts for TV and mobile, *probably carrier branded*" it sounds like Sun does not want to take the same direction of other app stores: to be carrier independent. I really hope the mobile storefront does not start like this.

gfx; "because they run on my computer and do what I want them to do" To me that's exactly the point. I want small apps I can run on my computer no matter what OS I'm running, and by "my computer" I mean my home, my wife's and my desktop computers. So again, regardless of the OS but maybe even more importantly location free apps which is the main thing I like about Steam. As for web apps (like Google Docs) this also seems like a nice way to run web apps in offline mode, which hopefully will be aware of not being in the network and can upload data when they are. Whether consumers are going to realize the value of that is a question that is best left for the marketing folks at Sun.

@coxcu, I think this is something we just simply haven't considered yet. Can you email me offline?

@ coxcu I'm a little confused. Are you talking about a locally running desktop app that happens to use HTML for it's interface, or a bundle which you must then install into a webserver on your server machine?

Joshy, Are web-based interfaces not allowed? Zoe is a pure Java consumer-oriented and web based app. http://zoe.sourceforge.net/zoe_installation_faq.html There are many web-based tools aimed at software development, like Hudson, Fitnesse, OpenGrok, etc... Will they be allowed? Back to my specific application. My goal is something that will be useful to a broader audience than DBAs. Anybody that uses or develops an application that persists to a relational database could benefit. It is currently web based. My plan was to deploy it to the store as a cheap, open source, web based application. A future update would add a more glitzy JFX interface.

I'm talking about running a local app that opens up a socket and responds to HTTP requests. The user would interact with it via a browser. That's one way Zoe, Hudson, Fitnessee, and OpenGrok can work. All of those, except possibly OpenGrok, can be trivially deployed without a separate web server. "Happens to use HTML for its interface" is a bit misleading. That would include applications that didn't open any sockets, but used a Java HTML rendering component to present the user interface. Thanks for you discussion. I'm really not trying to be difficult (nor do I feel you were implying such). I'm just trying to understand the restrictions.

@ tdanecito you can repack all of your jars into a single jar to include it in the store. our goal was just to keep it as simple as possible for now and carefully add features over time.

@tdanecito The Java Store uses webstart underneath, actually. You provide a jar for your app and we host it and generate the JNLP. Today you can provide only a single jar, but in the future we want to support multiple jars (to improve download time). You don't need a certificate for an unsigned app. Only signed apps require certs. @ coxcu We are planning multiple kinds of stores through the Java Warehouse, including things which are more developer focused. The Java Store, however, (meaning the desktop client eventually offered with the JRE), is targeted at consumers. That rules out selling libraries or command line tools. I'm not sure where a db administrator would fall. The links you sent seem to imply a webbased interface, though.

Sure, and let everyone steal my ideas? I have a database application vaguely similar to the one talked about at the URLs below. I was hoping to publish it via the store. Also, I know there are people who would like to see the store become the technology that would enable a Java component market. That's definitely developer oriented. As a developer, there are free Java tools that I occasionally use. If they were cheaply available via the store, I would sometimes choose to use the store version, just to show my appreciation. The one that springs to mind is Umlet, but I'm sure there are others. http://dev.massivebraingames.com/past/2008/10/21/a_db_admin_interface_wr... http://dev.massivebraingames.com/rbdb-screencast.mov