Symbian’s Secret History: Davies on what went right (and wrong)
Former CTO Charles Davies shares his memories
Part Three Leading British technologist Charles Davies was Psion’s first employee – and as a director for two decades he was instrumental in the success of the British computer company. The plasma physics PhD was Symbian’s CTO for five years and left Nokia earlier this year. He rarely gives interviews but kindly agreed to talk about Symbian for our series of historical pieces on the creation of the venture and the early years of the smartphone business.
On Symbian’s biggest mistake
Davies recalls: "There was no understanding or discussion of how the owner-licensees would compete. I don't think that was ever discussed or resolved. I don't remember people saying, "OK, so how are our devices going to be different from each other?"
"If the licensees had gone with Microsoft, in practical terms, they would have been unable to differentiate. Just like how Samsung doesn't really differentiate from HTC on their Android phones. They try to with their UI. But on Windows 7 they're not allowed to.
"And that was fudged. In the end they chose not to have a common platform: it was common only from the waist down. They did that without realising it. And that made it almost impossible for developers. If it was discussed, I never heard about it. And that was the flaw in the joint venture...
"The right thing to do to make Symbian stronger and more successful would have been to have the equivalent of Series 60 in Symbian – which is what Pearl was. But Motorola and Nokia ultimately couldn't agree on the spec. You had a situation where the platform was split between Nokia and Symbian, and that's just not a good thing to do from the point of view of designing a competitive stack.
"If you took Android and cut it in half and gave one half to one organisation and the other half to another, with no principles on what to do – it wouldn't help!
"I remember stories of Cisco considering Symbian – thinking it was one platform – for their VPN client, and they were probably incredulous to find out it there were flavours of it, like UIQ, Series 60, Series 80 and Series 90 and incompatibilities between versions (we hadn’t sorted out backward compatibility at that time so apps written for Symbian 7 wouldn’t work on Symbian 8).
"So we should have hung onto the original scope of Symbian.
"I saw no agreement that [the owner-licensees] were helping each other – in the interest of having aftermarket developers. They went for maximum differentiation in the end – UIQ was completely different to Series 60. This hampered Symbian's ability to innovate, and it stopped the aftermarket. We could have had an App Store 10 or five years before Apple.
"Looking back now, Symbian was too remote from the user. You had to go through all these companies to get to the UI. We could only work on the plumbing.
"With the benefit of 20/20 hindsight, what we should have done – between us, including Nokia – is have said that either we help each other by limiting our ability to differentiate against each other, or we let somebody else in. That's the key thing. And in the end, they let somebody else in – because they couldn't agree amongst themselves."
On creating... and closing Symbian
"At the time that Symbian was formed, I heard Microsoft were charging $55 per device. Symbian at that time, based on the people involved, was charging $10 for a communicator and $5 for a phone – compared to $55. You could argue that Microsoft created Symbian by charging for CE on the basis of a risk of it cannibalising Windows sales. At that time that's the kind of figure based on the Windows licence fee model. That gave an overwhelming business case for doing Symbian, which was considered comparable at least, at least, if not an advantage, over CE, and something they could influence. And that would save them vast fortunes.
"Nokia are very quantitative in their decision-making, and quite financial. So the decision to open-source Symbian had a business case in terms of royalties being arbitraged against the cost of owning it; it was positive before they would do it. I don't think that's understood."
On APIs... and making development easier
"I did try as CTO to at least capture more APIs into Symbian, but I failed, I didn't get traction. Nokia were, understandably, more concerned about making a success of their devices rather than making a success of Symbian. They were not antipathetical to Symbian but they had a large number of projects, and any disruption was hard to deal with. And they were doing very well. They were selling lots of high margin products. It was not a good time to ask them to slow down in order to unify the platform.
"We were always a bit sniffy about OPL. We had this idea that OPL was a bit Noddy. Given my time again, I'd make it more powerful. There's a success story there; people could program for it very easily and it abstracted the changes underneath.
"Do you remember OPXs? [An OPX was a like a Windows DLL, compiled functionality accessible to an OPL programmer] The problem with OPL is that you hit a brick wall – some API will be missing. But [as with Visual Basic], the OPX lets you get around that. We should have been quicker with two-tier development. At one level, OPL is productive and protects you from the changes in the underlying system: then you hit a wall and hire a C-programmer. We should have done it sooner. We had this idea that somehow you had to do C to do good software, and there's an element of truth in that.
"Then there was Java – that was a standard. It's surprising what you can do with it; Opera Mini has done quite well. Unfortunately there was this dumbing-down of Java to MIDP. The idea was Java could do more in the native environment. Java as a lang has never had much wrong with it, it's OK. But the particular platforms like MIDP were constrained, in the way Android isn't. It's ironic Java has come back as a language with Android."
On creating Epoc
"It was quite engineering achievement. We had to deal with memory leakage, and had to be able to run for a very long time.
"Garbage collectors would have been unthinkably expensive to do at that time, and the processors were too slow to support garbage collection, they weren't up to it.
"We probably went too early with C++. My opinion now is C++ is a pig of a language, it gives you too many ways of doing some things that are dangerous. Java is a nicer object-oriented language. The standard was just solidifying, and we went with our own proprietary exception.
Charles Davies and Colly Myers in 1984. Myers designed the
Epoc32 (later Symbian OS) kernel and was Symbian CEO
from its foundation in 1998 to 2002.
"We actually measured the stacks. The idea is that a stack, which you need for every process thread, is just too expensive. So we were incredibly tight with memory. We'd see how far the stack came down and calibrate the stack on the basis of that. It's an unimaginable world for people used to modern things.
"Android suffers from non-deterministic responsiveness because it has to do garbage collection every now and then. It'll get better over time, but it's an issue.
"I think of Moore's Law as an order of magnitude every five years – and it's just huge. And it changes the nature of the software.
"Symbian was quite demanding at the time in requiring an MMU. The way that the screen was drawn was the only affordable one – which was reactive repaint. The way the window server works is it sends an event all the way to the application when something needs to be redrawn. You don't buffer, in any sense. That evolved over time. It turns into the wrong paradigm when you've got GPUs. For composition with transparent windows, that becomes important. When Windows was XP, a GPU was optional, but when it went to Vista, a GPU became mandatory. It was a similar transition in phone OSes."
On joining Symbian in March 2003
"The key thing was API compatibility – and we succeeded on that. We got far more disciplined in our processes, and as much as not, that was for [the benefit of] Series 60 and UIQ. That was a big thing. [I also looked at] the boundary of where we sat in the scheme of things.
"When I joined Symbian, the organisation wasn’t sure if Java was an application or a system language. I took the view C++ was our system language and Java was more like an application. Java was more high profile in 2003...
"The Japanese were really good for Symbian. They were very demanding on quality and the most diligent in testing, so quality was a huge push at Symbian. People were rewarded on that.
"Then we had Platform Security which was incredibly disruptive – more disruptive than people thought. And we did it in a way that broke compatibility, and said that would be the last time. It was a big kicker. We could have done that better. We could have done Platform Security in a less disruptive way. We underestimated the downstream disruption."
On Apple… and future mobile design
"The time Apple made its first iPhone was about the first time that anyone who wasn't already incumbent could. So timing is everything. Why? Because of the IP, and the signalling stacks – remember the iPhone couldn't manage 3G, but it could just about manage 2G.
"Apple works very hard at things people find appealing. There's a saying that 20 per cent of your functionality has 80 per cent of the appeal, but you never know which 20 per cent it is until after the fact. All companies essentially tinker with product specifications without any certainty of what the market will like, including Nokia and Apple. Apple are working harder at seeing if something is a better fit to the market. There's also something called looking at the user experience (UX) backwards, and Apple is very good at that. But nobody can do it with absolute certainty.
"Perhaps there's a backlash to more utilitarian functionality – like making a phone call. Then there's the value of apps; it's a question of degree, and how absolute that lock-in is. iPhone and Android have a hell of a following, it's tough for Microsoft to catch up; and Nokia almost had it, and threw it away, because of fragmentation." ®