Managing an operating system transition isn't easy. The journey from System 7 to OS X nearly bankrupted Apple, and Microsoft's journey from DOS to Windows was hardly smooth.
Now Research In Motion is getting ready to make the break with its own OS past, with a shift to its QNX-based BlackBerry 10 next year. So how does it plan to keep developers on side?
The answer, going by what I heard at BlackBerry Jam Americas this week, is to put its faith in openness, open source and giving coders a lot of ways into the platform.
For one thing, the new RIM developer programme is very different from the old. The requirement for people to sign a notarised agreement before downloading the development tools is long gone. Now these are freely available, as are device simulators for the upcoming BlackBerry 10 platform, and RIM is providing airport-style information boards that indicate when key APIs are due to arrive — and whether they are delayed.
It's a much more open RIM — one that's adding transparency to what had been a notoriously secret developer programme.
At the San Jose event, Bob Taniguchi explained that RIM understands it needs to try to keep long-term BlackBerry app makers on the platform, as well as work to bring in new programmers.
"Current BlackBerry developers are the hardest to bring on board," said Taniguchi, who set up Microsoft's original MVP programme and now heads up RIM's rapidly growing developer evangelism team. "It's not Java [any more]."
And given BlackBerry 10's move to C and C++, Taniguchi said he was surprised to find "the expectation that we'd carry on doing the same thing from long-term developers."
The BlackBerry Jam event itself marked a shift — a renaming and a rebooting of the BlackBerry Devcon get-together. This year's edition put on hackathons, code-porting labs and an unconference, as well as traditional presentations, and while a little smaller than previous events, the convention halls were bustling.
The event fired the starting gun for the final sprint to the launch of RIM's new platform, with finalised APIs ready for developers to start coding, and an app store that's due to open at the beginning of October.
While RIM wasn't beyond using stunts to get its message across at BlackBerry Jam — its gruesome REO Speedwagon spoof sung by developer-facing execs being a case in point — it's the tools and options available that Taniguchi is keen to stress.
"We've given them multiple entry points, and more than just one SDK. Developers have different flavours: HTML5 developers are building mobile applications alongside C and C++ games developers. There a much broader appeal for this platform," he said.
Consumer developers aren't RIM's only constituency. BlackBerry devices remain an enterprise stalwart, and businesses are going to need to move existing applications to a new platform.
"Everything we announce at [BlackBerry Jam] is something the enterprise can take advantage of" — Gregg Ostrowski, RIM
One BlackBerry exec with a close-up view of this is RIM's senior director of enterprise developer partnerships Gregg Ostrowski, who helps businesses build applications behind the firewall. These are apps that need to be long lived, and they need to be delivered quickly. Ostrowski sees standards as key to achieving this in BlackBerry 10.
"The route in is HTML5 and RIM's WebWorks for connecting to enterprise data. We handle services, connections. There's no third-party middleware," he noted.
As BlackBerry 10 has dropped Java, Ostrowski can now help enterprises to move to HTML5, where, as an added bonus, "the app looks so much nicer", he said.
He also pointed to the BYOD trend, where consumer technology has begun driving business, as a way for the new platform to get traction. "Everything we announce at [BlackBerry Jam] is something the enterprise can take advantage of," he said.
RIM is clearly courting app writers on both the consumer and enterprise sides. But how do developers feel about the changes?
Nobex Radio has been a popular app on the current generation of BlackBerry devices, and developer Gadi Mazor now needs to move to the new platform. Mazor said the most important thing RIM could give him with BlackBerry 10 is the one thing most developers need: "The right tools to develop, as well as to see our code in action".
Having worked with RIM for many years, Mazor said he sees a lot of big changes in the way the company works with its ecosystem.
"They're definitely improving things; the arrival boards are huge, and we know what APIs are coming, when," he noted.
This has helped with Mazor's development of Nobex Radio for BlackBerry 10, he said.
"We know that there'll be a build in November with a new set of APIs. So in mid-September, we were able to know that we'd be able to have a build that took advantage of these features."
Mazor is also finding that RIM is giving developers a lot more resources — calling out events and developer evangelists in particular. "They're a big team that knows the local guys," he said.
The changes RIM is making with BlackBerry go a lot further than a new operating system and new devices. At the heart of BlackBerry 10 is Cascades, a UI framework that's built on top of the open-source QT. That's meant that the historically proprietary BlackBerry has had to adopt open source in a big way.
"I'm genuinely excited about BB10," said Till Adam, managing director for QT consultancy KDAB in Germany. "It's a very sweet platform, and QNX is nice and fun to work with. It's open: open standards, open libraries — all familiar territory to someone from a free software background."
"I'm genuinely excited about BB10. It's a very sweet platform, and QNX is nice and fun to work with" — Till Adam, KDAB
While he's been training Java developers to work with QT and RIM's Cascades, Adam is also hopeful that BlackBerry 10 will attract developers who've worked with QT in the past, on platforms like Nokia's Meego.
Perhaps the most significant thing RIM has done is provide developers with hardware. The Dev Alpha and the new Dev Alpha B are touch phones with much the same form factor as the first BlackBerry 10 devices. As they run an early build of the new OS, they're able to give developers a test platform with many of the APIs they'll be using — and that also has the same touch characteristics as production hardware. Instead of using simulators, code can be pushed to real devices.
At BlackBerry Jam, I heard again and again that the 5,000 or so Dev Alphas RIM has distributed really made a difference. Taniguchi certainly feels that about the developers who've got their hands on one.
"We're getting code out of them — nearly 100 percent are working on apps, and most are planning to deliver at least two applications," he said.
Mazor agrees, and points out another important feature of the Dev Alphas. "We can put Nobex in the Dev Alpha App World, updating it for new APIs," he said. "That lets us share it with our peers. 5,000 people can see the app, and try it out. We get peer review."
With the new BlackBerry 10 platform taking so long to arrive, you might expect developers to be impatient — but they're not. While the outside world waits for new phones, developers are quietly writing code and building new apps. There's a trust that's grown up between RIM and its developers over the last year, and that could well be the biggest change of all.