More universal language rather than having to scramble to special documents I expect.
Symbian didn't die for no reason.
Developers mostly described it as a pain to develop to it
Unfortunately the timing was unlucky and the use case assumptions were short-lived. Symbian wanted a native C++ API, but the language in mid-1990s wasn’t great for embedded. So they reinvented everything from strings to exceptions to coroutines, creating a unique and clunky C++ dialect that nobody enjoyed learning and writing and which drifted further away from standard C++ as the language evolved.
And the other side of the coin was that Symbian was designed to squeeze every byte out of devices with 1 MB RAM and intermittent low-bandwidth networking. That’s what a viable smartphone looked like in 1997, but ten years later Apple and Google could just ship desktop operating systems shrunk down to mobile and assume always-on networks. Customers loved the products and Symbian’s efficiency advantages became more of a hindrance because nobody wanted the cheaper Symbian devices that did so much less (by the new smartphone standard).
Around 2008 Nokia acquired Symbian completely and tried to course-correct by ticking every box against Android. Symbian added POSIX and touch screen support and became open source. But there was no clear reason why anyone would pick it over Android at that point.
- -
[1] There’s Google Fuchsia, but it’s not mass-market in the same sense as Symbian which shipped on hundreds of millions of devices and had a real ecosystem of third-party native software.
I would have thought HarmonyOS/OpenHarmony met the criteria, though maybe you exclude it because it has an Android compatibility layer.
I worked at Nokia Research and Nokia Maps between 2005 and 2012. I witnessed the arrival of the Iphone and Android from the inside. There was a lot of disagreement internally on what the right thing to do was. And part of the company was actually very clued in and trying to do smart things. But Nokia did a lot of things wrong and most of that was just not getting that it was a software company. It had all the wrong reflexes.
The problem with Symbian from day 1 was that at the time it launched, it was already getting clear that embedded Linux was going to be a thing and it was a bit lacking in features relative to that. Between the late nineties and 2005, there were quite many attempts to use Linux on mobile and embedded devices. By the early 2000s it was widely used on things like routers and other devices. And there had been some attempts at building pdas and phones with it. Google bought Android (the company) in 2005; and they launched phones around 2008. 2005 was the year I joined Nokia. Rumors about Apple working on a device were already getting quite concrete around that time (i.e. Nokia execs would have had good intel about what was coming) and over the course of the next few years it became clear that it was going to happen.
Nokia was focusing on flip phones instead. They were really worried about the Motorola Razr. And the Blackberry. They completely missed the point of desktop operating systems being repurposed for mobile. They thought mobile was special and that they owned it. They stubbornly ignored all the internal signals (there were many) that that was wrong. Nokia even launched a Linux based device in 2006 the N770. It was not a phone and that was not an accident. Operators would object. This could not be. So, they crippled it.
Apple and Google both proved them wrong. The Symbian strategy was dead as a doornail before they even launched the first devices (around 2003/2004). Apple proved that operators were weak and could not ignore popular consumer demand. And of course IOS was a specialized version of OSX for mobile. And Google ended up benefiting a lot from Nokia's Linux work. The kernel was essentially the same for Maemo and Android. Google even bought N800s to dual boot them into Android before they had the first Nexus phone ready. The point here is that Nokia had a shipping touch screen based Linux device in 2006. Years before Google or Apple had phones on the market. The only reasons it didn't have a sim card were political. It could have been a phone, easily. The N800 continued the tradition. It even had a webcam and skype. But no sim card. Only the N900 fixed that. But that was way too late and they positioned it as a developer toy. Innovation around this topic was stifled. It was the obvious move. But the Symbian crowd successfully blocked and frustrated that.
By 2008 it was scrambling to undo a lot of really bad decision making around Symbian in the years before that. Which included actually cancelling S90, which is a touch screen version of Symbian that never saw the light of day. That happened around 2005. S60 3.x was the current version when Apple announced the iphone and had no touchscreen support at all. Nokia had to rapidly create a new version with touch screen support. It was a rush job and the first versions completely destroyed Nokia's reputation because it was unstable and unusable (both). The launch device for this was a complete flop. And it took until the early 2000s to stabilize it. And by then the phone reviews were brutal for any Nokia device. Apple was running circles around them. And Android was starting to actually eat into non Symbian (S30, S40) Nokia revenue. Which actually were most of the market. Nokia's entire OS strategy was failing at that point.
It's feature phone market started imploding and this was until then the money maker. They sold hundreds of millions of those. And then we got the whole drama with pissing in your pants to stay warm (Ansi Vanjoki, one of the VPs) and then Stephen Elop getting hired and chucking him (and Symbian, Linux, and all the rest) out. And then Windows Phone of course didn't make it and the MS acquisition happened and MS unceremoniously pulled the plug in 2014. Too little too late.
Early mobile is littered with dead operating systems. not really that surprising. PalmOS, Symbian, SaveJE, windows mobile, etc. not worth crying over.
You had Qt, JavaME and a lot of others framework to develop your apps. The old Skype was working perfectly on those devices, with full integration.
Then Google tricked us into Android because it was Linux and open source, Apple said no more Java the future is the web.
And now my bloated bank app developed in React Native or whatever won't start on Lineage and Graphene because of Play Integrity API. Also I can't access my homebanking in my web browser. Strangely I also can't find anything as good as the old Skype with the same features.
I am not saying I saw the trap at the time and Nokia and Sun might have turned evil too.
Have you actually used it or developed anything for Symbian?
It was neither "open" nor "for developers". Some of the sources were available, but unlike Android, you couldn't rebuild the OS from scratch and load onto your device.
You couldn't just build and run your own apps. You had to obtain certificates from phone manufacturer (Nokia) and sign them. Thankfully the security system had so many holes it wasn't a big obstacle.
J2ME was a second-class citizen, only to support a lot of existing J2ME apps from feature phones.
Qt was way too heavy for the devices of that time. Qt apps easily consumed 40-50 MB of 128 MB RAM, while C++ ones that used native APIs could fit in 5-10 MB. But the native API sucked. It was in a bespoke dialect of C++, riddled with a lot of generational legacy. "A lot of other frameworks" you mention were mostly stuff used by some single developer for their own apps, to workaround all the Symbian quirks.
Idk, I don't understand people trying to whitewash Symbian. It didn't die because of someone turning evil, Microsoft acquisitions, whatever. Ultimately it died because it was unacceptably bad for a modern phone OS. Been there, used it, don't want to, good riddance.
MeeGo, though, is an entirely different beast...
We have to remember nothing was "modern" at that time (around 2008)
My phone had a single 369 MHz CPU with 128 MB of RAM. That's about my ESP32 based smart plug.
People were running Windows XP. Linux and open source were still kind of fringe.
The fact I could run Skype perfectly on it and develop app easily using Java was amazing at the time.
Talking about unacceptable, remember the first generations of HTC Android phones? that was really bad.
It had its own Perl-based build system, and I'm not sure that those SDKs are even available any longer.
Edit: It looks like someone out there is still developing on it: https://gist.github.com/artem78/cb2b9650af186844f7b565496467...
The Active Object model was a bit tricky to learn, but once you knew what you were doing, you had "light threads" (that were not really threads) caring about your network, audio etc. very, very efficiently. I was in awe of efficiency of the kernel.
That said:
* the learning curve was basically El Capitan of all learning curves,
* the IDE called Carbide.c++ (a variant of Eclipse) sucked even more than regular Eclipse,
* on-device debugging was horrible, barely there,
* emulators were limited, a regular developer had no chance to debug many things such as audio or Bluetooth,
* build toolchains were obsolete (imagine using GCC 2.x in 2011, with all its inefficiencies and bugs),
* someone at Nokia decided that compatibility between devices did not matter and the Nokia world was so enormously fragmented (OS + UI) that releasing an application for all Nokias, even for all Nokias of one generation, was horrible, plus test devices were expensive.
Symbian OS kernel would work just fine today. The rest of the ecosystem was rightly abandoned.
actionfromafar•4h ago