His brainchild is SproutCore, a JavaScript library whose goal is to accelerate HTML5 apps on multiple platforms, including tablets, so their execution speed approaches that of native apps. Charles Jolley began work on SproutCore at Apple, and was a key architect for Apple’s vision of HTML5: a standards-driven effort that could yet be maneuvered to showcase Apple’s strengths.
But one of that effort’s first culminations was MobileMe, Apple’s first attempt at a data-syncing service for Mac and iPod/iPhone customers. That effort became synonymous with “disaster,” one which then-CEO Steve Jobs promised to rebuild. Not very good with failures, Apple let MobileMe languish, and its HTML5 message was dialed down. Rumors such as a reconceiving of the iWork platform diminished, and eventually Jolley left Apple, taking SproutCore with him.
The list of people who have left Apple to do something successful is very, very short – after Steve Jobs himself, the names aren’t very recognizable. Charles Jolley intends to change that in a very big way. His new company, Strobe, has completed development of an HTML5 apps delivery platform, the kind of nerve center for devices like the iPad that Apple would never have signed off on, because it caters also to devices unlike the iPad.
“One of the big reasons I left [Apple] is because I really believe that the next great app ecosystem for mobile especially, but also for PCs and television, is going to be built around HTML5,” Jolley tells RWW. “If you look at the people who are building mobile apps today, 70% of those people will say they want to use HTML5. But a lot of them don’t make it to market, except for a few large companies like Amazon and Financial Times, most people aren’t able to deliver HTML5 apps.”
The Apple platform for apps delivery is rich and compelling, Jolley points out. Unlike an ordinary “open” platform that, almost by definition now, is all self-service, Apple provides direct, personal business services to help developers organize themselves and get on their feet, even if their employer is already recognized around the world. Then Apple provides hosting and deployment services, managing user entitlements and licenses. It creates an ecosystem and then nourishes the entities that live within it, and that’s why Apple’s platform works as well as it does.
“Apple makes it very, very easy for someone to build an app and take it to market. You have these small groups of one or two people who can create businesses around them. And today with HTML5, that’s simply not possible,” says Jolley. “Even though there’s a huge benefit to HTML5 – you can be in any app store, you can go direct to the consumers, you can build any kind of business model you want – if you’re going to reach all the 1.2 billion people out there who are going to be running smartphones in the next few years, you have to be able to reach all of them and have the ability to control your own business. HTML5 is the key for that, but it’s going to have to be as easy to take a product to market and build a business around it as it is for native apps today.”
Currently in active beta, Strobe’s one principal example for iPad comes from NPR, whose approach is designed to mirror the native NPR app available from Apple’s App Store.. Today, Strobe’s Add-on Marketplace – its gallery of HTML5 tools for browsers – is only open to select developers by invitation. Heeding some of the lessons of MobileMe, Strobe intends to work the bugs out of the system before setting its milestone dates in stone. Those dates will not be determined by the release of other products in tandem, as was the case with MobileMe and iPhone 3G.
There is a self-service aspect to Strobe in this early round, at least in appearance. Its division of functions and resources appears more inspired by Google than Apple, with icons that lead prospective vendors along the way, and that promote a vision of simplicity and straightforwardness.
Strobe tries to be much more than a listing service for folks to go download stuff. These days, users expect apps to be supported by the services that make them available. They’re not looking for the equivalent of apps vending machines.
Jolley tells us, “When we started Strobe, we spent a lot of time promoting our open source JavaScript framework SproutCore, which came out of Apple. We did that to educate people on the fact that they could build HTML5 apps for mobile. But what’s remarkable is, that has really shifted in the last three months. Now, we do almost no education on HTML5. There’s a huge amount of people who have decided they know how to build an HTML5 app, there’s enough tools out there, they can make this work. Now, where we physically engage people is [at the point where], ‘I’ve built the app, now what? I need to take this to market.'”
That said, Strobe does utilize a JavaScript framework, called Strobe.js. Its developers page says it “provides a single API that smooths out the limitations and inconsistencies of the different platforms, using our server environment behind the scenes where necessary.”
Most importantly, Strobe.js resolves the problem of scripting that applies to multiple domains simultaneously, leading to the kinds of cross-domain discrepancies that security tools presently associate with hijack attempts, and which newer browsers disallow. HTML5 developers will want their apps to include links to functionality from Facebook, Twitter, and other social services. These links seem simple enough, but their security protocols require logins and virtual sessions – which means the domains of these services’ URLs must be addressed somehow.
Strobe.js creates a level of indirection, letting apps use Strobe servers as proxies to authenticate themselves on social services and use their APIs, without having to build OAuth functionality directly into their apps, or to force users to log in separately. This is the core of the Strobe Social add-on, which is key to the company’s unique business model.
Unlike Apple, which takes as much as 30% commission on sales through its App Store, Strobe’s business model relies on how much and how often deployed apps use Strobe’s server-side API. “It works a lot like an analytics system, like Omniture,” explains Strobe’s Charles Jolley. “Every time you launch an app, it hits our server for an update to see if there’s a new version available. That’s an API call. If you turn on one of these add-ons to get the server to do social, that’s an API call. You buy packages from us based on API calls.”
The first 10,000 API calls placed per month on a developer’s account are free, as well as the first 10 GB of bandwidth on Strobe’s servers. That’s to give developers a leg up during the testing phase. Typically once apps are deployed, the bandwidth use will expand to a level worth charging for. Up to 1 million API calls per month, and 50 GB of bandwidth, carry a $19 monthly fee. API calls numbering up to 10 million per month with 250 GB of bandwidth, costs $95 monthly.
Forthcoming iterations of Strobe will give participants greater app storage, Jolley tells RWW, as well as the back-end software necessary to connect downloaders with the back-end clouds these apps will require.
“Today, your options for doing HTML5 are basically to build the app and roll everything yourself, or to launch on Strobe. Those are your two options,” says the CEO. “The fact is, there are people who can build and launch a great HTML5 app… But they have huge teams that have to know a lot about a wide array of technologies in order to make this happen. It’s definitely not something that your average one or two developers in a garage or a cube, trying to launch the Next Big Thing, are going to be able to do. That, to me, is the big difference with Strobe. Now, all you have to do is build your app, and we take care of everything else. Today, with HTML5, building your app is just the start.”
CORRECTION: An earlier draft of this story incorrectly stated that Charles Jolley had developed the NPR app while at Apple. Though Jolley is the co-developer of the current build with Strobe, the original SproutCast demo was created by independent developers looking to mirror the functionality of the native iPad app.