• Categories

  • Wayback Machine

  • My Defunct Podcast

    The Bungee Line was an audio podcast for web developers, covering web API's, software development, and the creation of richly interactive web applications.

    podcast feed  Main Feed

On API Replication and Web App Compatability

Commandeering Applications by Replicating APIs

I recently met with Jesse Stay to discuss some plans and ideas I have been working on at Mozy. As expected, Jesse’s insights and feedback were tremendously valuable. (Thanks, Jesse!)

Tweetie API endpoint config on iPhoneOne of the items Jesse directed my attention toward was the recent implementations of the Twitter API by three different sites: WordPress.com (the host of this blog), Tumblr (another popular blog hosting service), and identi.ca (a prominent Twitter alternative which has supported the Twitter API since 2008). By providing 100% API compatibility with Twitter, people can use any application built for Twitter with these other services (as long as the app allows you to modify the service URI/endpoint it uses). Because services survive or wither based on use, supporting a popular and relevant API can instantly yield a slew of applications to support users better. As a result of their work, WordPress.com has gained applications like the iPhone application Tweetie. Although many of the applications for Twitter currently do not allow you to modify the API endpoint (Tweetdeck, for example), most developers want more users, and API-level compatibility makes it short work for developers to support your service. I suspect that soon, nearly all applications created for Twitter will let you modify or add to the default API endpoint.

This got me to thinking about GroupWise, Novell’s strong alternative to Microsoft Exchange.

Novell: Align with Google for Developers

Novell GroupWise has a complete web API, and has for quite some time. Unfortunately, Novell seems to neglect developers these days–especially in their legacy products (as evidenced by GroupWise having only a SOAP API). Aside from their list of close partners, few developers use the GroupWise API.

Google Code logoMeanwhile, with Google’s enormous cachet with developers, numerous applications support Google’s collaboration-related APIs (such as Contacts). Perhaps even more importantly, developers can easily integrate Google’s API into new and existing apps through the numerous source code libraries available for Google’s various API’s (again, see Contacts, this time for the list of libs). Google’s Atom-based REST API’s are popular, well-understood, and widely used.

Consequently, Novell has an opportunity to serve their dwindling fan base better: replicate the Google API’s that are most relevant to GroupWise. Make it so that developers can easily adapt their apps to serve GroupWise, and so that end users can select from a wider assortment of 3rd party apps. This would give nothing over to Google that they don’t already have. It can only increase the relevance and extend the life of Novell’s venerable old product.

It also makes it possible for Novell to get on board with the biggest technology trend of the latter half of the last decade…

GroupWise in the Cloud

Since my time at Bungee Labs, I have been considering how Novell could offer GroupWise as a hosted SaaS offering as a way of acquiring aspiring new companies. As Salesforce has shown well, small is beautiful, and there is big business in the “No Software” proposition. This is where GroupWise competes (entirely ineffectively) with Gmail (“Google Mail,” actually) and its related collaboration components. It’s very easy to set up a Gmail account that uses your own company’s mail@domain. You can’t do that with GroupWise today.

But GroupWise does have something that Google lacks: a rich client. With all the apps that Google enjoys, none do a complete enough job of unifying all the typical collaboration features of an enterprise collaboration suite. With legacy collaboration being such an unsexy subject in the age of the social web, it seems unlikely that Google will re-solve some of these relatively mundane features. Finally, although there is a de facto rule about “everything through the web,” that does not mean “everything in the browser.” GroupWise has browser-based access, but it also has a full client that works online as well as offline, giving Novell a complete end-to-end advantage.

So put it all together–SaaS + Google API compatibility–and Novell has a viable technical path for GroupWise. All that remains is to figure out a  freemium model that can viably compete with Google. (This is where I clock out.)

Note I realize that it’s kind of cheap to sit back and throw out directives for how some other company should manage its API strategy while sparing any mention of the company over which I may have actual influence. Some of the above thinking applies to our planning at Mozy. However, we do not offer a public API (yet), so it’s a challenge to directly discuss this subject without getting mired in caveats and cautionary or indefinite statements. If you have any more than a casual interest in where Mozy is heading with our API, please contact me by commenting on this post.

Nat Friedman & the Personal Cloud: “Personal data warehouse”

Ximian co-founder and intrepid technologist with SUSE Linux, Nat Friedman recently blogged about a “Personal data warehouse,” stating:

What I want is a giant elastic bit bucket in the cloud, with a powerful search engine on top of it.

He goes on to describe several capabilities that he wants the search capabilities to have, essentially bringing together several disparate services available on the web today–such as face recognition (Polar Rose) and Optical Character Recognition  (OCR, the simplest form right now may be Evernote‘s)–in order to make his data imminently accessible and usable.

Nat describes several other aspects, all of which in my view comprise not a single service, but a data platform. This Personal Cloud concept really cannot be delivered well by a single service provider–you don’t want it to be. Once you have your personal data in the cloud, the next step is to have a selection of relevant applications to choose from for helping you to manage your Personal Cloud. That means APIs that allow developers to offer best-of-breed services, such as face recognition, as applications that you can use with your cloud-hosted personal data.

All of that reminds me that I really need to write up a post about the necessity for data owners (you and me as individuals) having ultimate control over who can access our data (and what data they can access).

Thoughts from eBay Dev Con

Over the past few years, demand for APIs into web-hosted services has increased enormously. Fewer and fewer big, web-based companies can resist the market imperative to provide API access into the services they offer. The number of APIs tracked by Programmable Web—from companies large and small—continues to grow.

Here are some stats to chew on, direct from the eBay Dev Con keynotes on Monday:

  • Total active users on eBay: 84,000,000
  • Developers in eBay Developer Network: 70,000
  • Developers employed by eBay: ~2,000
  • Number of applications using eBay platform: 12,000
  • Frequency of listing updates on eBay: 500 per second
  • Transaction volume on eBay: $2,000 per second
  • Number of people who make some or all of their income through eBay: 1.3 million
  • Amount earned by eBay’s top 10 affiliates through listings last year: $20,000,000 (yes, that’s averaging $2 million each)

What I found particularly interesting is the marketplace for developers. If you’re a developer looking to make money by developing to the eBay platform, the primary target market is not getting items to buyers. Rather, it’s providing the right tools to sellers. Independent developers and smaller development firms have provided everything from tools to get listings up faster, to tools to analyze data and optimize selling techniques.

In general, for the Amazon.coms and eBays of the world, providing web APIs supplements revenue—often from channels previously inaccessible via their main web storefronts. By opening APIs, these companies found that independent developers would willingly augment their platforms in numerous, innovative ways in order to exploit opportunities either too small for the companies to pursue themselves. Consequently, the APIs of these companies have created new opportunities for small shops and independent developers, benefitting both themselves and the API providers. By opening up APIs into their platform, eBay has increased its own success.

What I’m saying in general is: expect this trend of increasing data access through web APsI to continue. The model works.

Congratulations on openSUSE 11.0

I still love the work of my old comrades at SUSE, Novell and in the openSUSE community. openSUSE 10.3 was by far the most polished and solid SUSE Linux that I have ever used, and though distro preferences are often much like personal tastes, I still have to say that to me, SUSE makes the most user-friendly distro I have used.

openSUSE version 11.0 comes out on June 19, just a couple days from now, and I am eagerly anticipating its release. A bunch of people I know and admire, some of them good friends, worked long and hard to make it happen. Congratulations to the team for your perseverence, dedication, and contributions.

The Emergence of Cloud-based Computing

Discovery at the great Sutter’s Mill in the sky: the age of cloud-based computing has arrived, and new entrants are appearing in the Platform-as-a-Service (PaaS) space each week.

The founders of Bungee Labs and creators of Bungee Connect (whose developer network I now direct) had this insight a few years ago, and set about creating a platform especially well suited to this coming age. Salesforce also had their ear to the ground ahead of the curve, introducing Force.com last fall. Heroku also offers a very slick cloud-based platform based on Ruby-on-Rails.

Last week when Google announced App Engine. Although lacking several features of a true PaaS offering (its really more a Python hosting offering with some some supporting infrastructure components), the announcement did a lot to validate the seriousness of PaaS. Across the web, it seems that bloggers now herald the new model as an emerging reality rather than an inevitable future whose time has to be determined.

Now Intuit enters with a Flex-based offering, too.

This is shaping up to have all the characteristics of a technology gold rush. Surely, there will be more entrants. If the gold rush analogy applies, all claims get staked early, some claims will prove richer than others, an economy will rapidly grow upon the initial base, and even after it normalizes again, permanent institutions will remain long after.

It most certainly will be interesting to watch unfold.

Interviewed at Socal Linux Expo

SCaLE6 conference organizer, Orv Beach, interviewed me at this weekend’s big event in Los Angeles.

I speak in the interview about the switch from a large Linux distributor to working for a small startup, and some of what I have been doing at Bungee Labs over the past year.

Fun with GroupWise in Bungee Connect

GroupWIse iconYes, I used a mac to make this movie.In my quest to learn how to develop software in Bungee Connect, I decided to use the SOAP service for Novell GroupWise. I chose to use GroupWise as a reference platform for two reasons. First, the SOAP API for GroupWise has all the sophistication you could want: multiple levels of object inheritance, and its scope is comprehensive to say the least. (I wish I had understood that when I was in charge of marketing for GroupWise!) Second, nine years of working at Novell left me knowing how GroupWise works, so I would know when I actually got something to work.

Here’s a video of the project I am working on, available in patent-encumbered mpeg4, and freedom-loving Xiph (Ogg).If you would like access to my source code, drop me a line. I’m happy to provide you with the code and guidance on developing in Bungee Connect.