David Chandler's Journal of Java Web and Mobile Development

  • David M. Chandler

    Web app developer since 1994 and Google Cloud Platform Instructor now residing in Colorado. Besides tech, I enjoy landscape photography and share my work at ColoradoPhoto.gallery.

  • Subscribe

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 223 other followers

  • Sleepless Nights…

    November 2009
    S M T W T F S
  • Blog Stats

    • 1,033,666 hits

AppEngine needs an AppStore

Posted by David Chandler on November 30, 2009

I continue to be blown away by the power and EASE of Google AppEngine: one-button deploy from Eclipse, all the admin tools built right in (log viewer, data viewer, task queues, cron jobs, etc.), a graphical dashboard for monitoring performance and usage quotas, and even a system status page that lets me know how the Google infrastructure is performing.

I’m convinced this is a killer platform on which to deploy applications, especially for small businesses already moving into the cloud with Google Apps. And wouldn’t you know, you can already link AppEngine and Google Apps in two important ways:

  1. Your AppEngine apps can show up on your Google Apps home page. This happened for me automatically when linking my AppEngine app to a custom domain name using my Google Apps account.
  2. Your AppEngine apps can authenticate Google Apps users.

The only problem is, many of the small businesses likely to use Google Apps are doing so precisely because they don’t have an IT staff to maintain servers, email, etc. So they’re certainly not going to have software developers on staff to write custom AppEngine applications for their businesses. But there are plenty of folks like myself willing to write such apps, and AppEngine is already well suited for delivery of pre-packaged applications. It’s already got the control panel and admin tools built in, doesn’t require any database set up, and it’s easy to upload code.

All that’s needed is a marketplace for these applications. That’s where an AppStore comes in. Imagine if you could just sign up your business for a Google Apps account and select from thousands of pre-built applications for managing your business with the same ease as downloading an app for your iPhone. As a developer, I’d love to market such applications, and what better place to reach them than their Google Apps control panel? I’d be ecstatic to give Google a cut of the action! Besides their cut of the application purchase, Google gets more Google Apps sign-ups and sells more AppEngine resources. Google is already a market maker for small business applications through the core search engine and accompanying ad revenue, but a Google AppStore would be far more efficient for both buyer and seller. An AppStore would make many niche applications economically viable by eliminating fixed costs up front and enabling super-efficient marketing, thus realizing the much-written-about “long tail” of software development.

Google, are you listening? You’ve got something here! AppEngine is fantastic, and an AppStore would take it through the stratosphere!

10 Responses to “AppEngine needs an AppStore”

  1. Adi R said

    Good idea, but…

    I love App Engine myself, and if we focus around this potential small-business use, app store may be problematic from the maintenance perspective.

    In my mind, it could be something similar to how I run my own wordpress edition, which I constantly have to update and maintain as security patches come out or things change. This isn’t something small business will want as an overhead after buying something on App Engine market.

    What I see is a model similar to SalesForce.com solution. In it, single professional IT shop would create “SmallBizAccounting.appspot.com” (for example), which will then serve hundreds of businesses, much like single salesforce.com site does. And of course this SmallBizAccount app will be customizable by each individual business and maintained/upgraded uniformly for all everyone, since it is a single app from App Engine perspective.

    Or is this what you had in mind and I just misunderstood?

    • Yes, I think this is one very good way to make it work. I see three levels:

      1. The fully-automated solution you’ve described here, equivalent to a hosted wordpress.com blog like this one. In this case, Google would probably have to do some work to enable sign-on to an AppEngine app from multiple Google Apps domains, although the app could also use Google accounts or its own system.

      2. An easy install version like the iPhone, where Google Apps users simply click an “Install Now” link. Google sets up an AppEngine instance running the packaged application and users never see the code. Updates could be pushed out similar to the iPhone. The larger ISPs have push-button installs like this for many packages.

      3. A marketplace for developers to buy ready-to-run apps like a CMS and install themselves.

      I definitely agree that it needs to be as easy as possible for the Google Apps user.

  2. Baz said

    I’ve been thinking about that too, and I think it does have potential. Adi R brings up some good points, and for those reasons I don’t see it becoming an overwhelming world hit – but at the same time, Adi R you are still maintaining your wordpress edition when there are many salesforce like models for blogs for you to choose from. So even you are unintentionally admitting there is some benefit 🙂

    Some potential uses:

    – Hosting your own OpenID provider. I’m not a fan of telling an independent company everywhere I go.

    – Selling V1.0 of your killer app. Upgrading to 2.0 could have a charge, and would require some study, but no different than most other software.

    – Being able to extend/expand/customize a downloaded app.

    – Having control of, and owning all your data.

    Just some thoughts 🙂

  3. Darren said

    I had the same thoughts http://twitter.com/ninjamonk/status/5722478016

    It would be great to sell scripts that can run on google apps, I have some commercial scripts I am working on and this would be a great way to reach customers and also get around the deployment issue.

    Love the idea of a customer buying it and then having it deployed automatically to their domain.

  4. R.Rajkumar said

    Provision to install apps solves 2 problems for application developers..

    1. No need to handle segmentation of data within a single application, if each customer had an individual instance deployed.

    2. Billing for the resources used is already measured on a per instance basis. So, customer can just pay for their resources to Google.

    I have handled segmentation and plan to have limits (based on different pricing slabs, starting from free) on resource usage for my CRM application, instead of measuring resource usage (particularly CPU) on a per request basis.

    All this will not be required, if there was an AppStore for Google AppEngine.

    And, what makes me more sad is that Microsoft has such a store for Azure.

    • Good thoughts. The Microsoft Web app gallery does indeed look attractive; however, a quick perusal of the developer packaging guidelines suggests that the Azure app gallery is also quite necessary because provisioning an Azure app is much more involved than clicking the Deploy to AppEngine button in Eclipse. If I were a Microsoft developer, I would no doubt be more impressed with Azure, but having seen AppEngine first, I’m spoiled 🙂

      Having said that, if the Azure app gallery makes it easiest for people to buy software as a service, then it really doesn’t matter whether the platform is technically inferior. Microsoft’s historical success testifies to that.

  5. Ben Davies said

    I have only deployed one Google App Engine application running on its own custom domain to a separate domain once, but my impression was that this worked exactly like a hosted solution, meaning that maintenance can be performed globally by the application developers and all changes will be immediate to the users. Yes internally you would need to segment the data for each client domain but that shouldn’t be a problem. So architecturally Google App Engine is already perfectly placed for developer exploitation as a SAAS platform. Maybe I am wrong however?

    Google App Engine does have an ‘app store’ though at http://www.google.com/enterprise/marketplace/. It is not the one-click deployment app store we are used to but it is a nice starting point for Google Apps businesses – they are referred there when clicking on the ‘Add more services’ option on the Google Apps administration dashboard.

    • You’re correct. AppEngine is already a great SAAS platform, though I don’t think you can configure an application instance with more than one Google Apps domain for authentication. I’m looking for a cross between the Enterprise Solutions marketplace you mentioned and the AppEngine Gallery with one-click installs and updates. If Google combined the app packaging offered by the Microsoft Gallery mentioned above with a payment facility like Amazon DevPay, that would be amazing!

  6. Ed Anuff said

    Wow, didn’t find this post til a year after you’d written it, and about two years after I’d built exactly that at http://engineshare.appspot.com. Unfortunately, it’s broken at the moment and wont correctly install the chosen app into your app engine account because I have to update it to reflect the changes that have been made to the app engine upload process since then. If there’s still any interest in this, I’ll fix it and get it working again.

    • RoHa said

      @Ed: your Engineshare is realy cool, but how does it works? How can you or what kind of API can verify the users google account (login + password) inside an app engine with python? Did you install the applications direct with python from your engineshare.appspot.com to the users foreign appid?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: