5 ms·
Open, free, and ignored: the afterlife of Symbian
- actionfromafar 1y agoIt's not the good stuff. Symbian is fast and small, but it's difficult to get perfectly stable. As hardware got faster, it got more important that the foundation is rock solid.
- fsflover 1y agoYet Mobian and postmarketOS are thriving for some reason. Why?
- doublerabbit 1y agoYou're not limited to a Nokia phone. More universal language rather than having to scramble to special documents I expect.
- akazantsev 1y agoI wouldn't have called "thriving" given the supported devices. Some are very niche, while others are old and outdated. https://wiki.debian.org/Mobian/Devices https://wiki.debian.org/Mobian/Devices
- fsflover 1y agoThese are smartphones working with free drivers and not tied to non-mainstreamed Linux kernels.
- raverbashing 1y agoWell yes? Symbian didn't die for no reason. Developers mostly described it as a pain to develop to it
- RobotToaster 1y agoWasn't a large part of that due to networks wanting a large cut of sales revenue?
- ezst 1y agoLet's not fool ourselves into saying that Android development isn't miserable in its own many ways
- fsflover 1y agoIndeed, which is why Mobian and PureOS exist.
- rstuart4133 1y ago> Let's not fool ourselves into saying that Android development isn't miserable Yes, Android's UI framework is miserable. But if you are going to use misery to describe the Android experience, I'm at a loss on what word would be used to describe Symbian. What is 10 times worse than misery? Symbian was a C++ templated nightmare solution only suited to a very memory constrained environment. My wild speculation is it grew out organically out this: https://en.wikipedia.org/wiki/Psion_Organiser https://en.wikipedia.org/wiki/Psion_Organiser The lengths they went to make perfect sense for a device like that. But in a much bigger device designed robustly host 3rd party apps written in the same style, it was insanity.
- BigChemical 1y agoSymbian wasn’t just early, it dominated. But complexity, fragmentation and slow moves killed it fast once iOS and Android shifted focus to clean developer tools and unified ecosystems. It’s a reminder that early lead means nothing if you can’t keep devs on board.
- pavlov 1y agoSymbian was the last time a mass-market operating system was designed from scratch [1]. No Unix compatibility, no C API, everything optimized for a particular use case. 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.
- Y_Y 1y ago> Symbian was the last time a mass-market operating system was designed from scratch I would have thought HarmonyOS/OpenHarmony met the criteria, though maybe you exclude it because it has an Android compatibility layer. https://en.wikipedia.org/wiki/OpenHarmony https://en.wikipedia.org/wiki/OpenHarmony
- jillesvangurp 1y agoSymbian wasn't really designed from scratch though. It has its roots in the nineteen eighties. The 32 bit version of Psion's Epoch is what eventually became Symbian and it wasn't until other consortium members gave up that Symbian was taken over by Nokia. 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.
- harshaw 1y agoI did Symbian programming back in the day. IIRC the Sony-Erricson P800. It was not developer friendly. The memory management model was hard to program and could crash easily. Also did some work with Nokia on the N60. I was working at Orange at that time and we had hired a contractor to integrate push to talk (because for some reasons Orange though push to talk would take off in Europe, lolol). I got a couple of free trips to Tampere to theoretically help Nokia debug this third party push to talk app. I seem to recall Nokia not being too enthused to work with some pushy American hacker who wanted to open a debugger and fix things. I remember that we had some nice reindeer dinners. Early mobile is littered with dead operating systems. not really that surprising. PalmOS, Symbian, SaveJE, windows mobile, etc. not worth crying over.
- aapoalas 1y agoAs a Tampere native working with a lot of old Symbian folks, it's good that you remember the dinners :) Hope you liked the city in general, we certainly do!
- selfhoster11 1y agoPalm OS is better described as "undead, and slowly reviving itself". There are ongoing efforts to port it to diverse new hardware (a couple of new-parts ARM boards, and the Nintendo DS among other targets), an alive community that preserves old software and writes brand new software, and at least one reimplementation project (Pumpkin OS).
- flowerthoughts 1y agoDevelopment was unfriendly because S60 supported running without virtual memory, so you had to be really careful releasing memory. I.e. it was targetting small CPUs. The wonky "cleanup" was a big part of this.
- sunshine-o 1y agoSymbian was as far as I know the last mass market open phone platform for developers. 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.
- reisse 1y ago> Symbian was as far as I know the last mass market open phone platform for developers. 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...
- sunshine-o 1y ago> Ultimately it died because it was unacceptably bad for a modern phone OS. 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.
- secondcoming 1y agoIt'd be a huge undertaking to even get the code to build. 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/cb2b9650af186844f7b5654964676284 https://gist.github.com/artem78/cb2b9650af186844f7b565496467...
- lproven 1y ago[Original author of the linked article here] > It'd be a huge undertaking to even get the code to build. It possibly would. On the other hand, a very educational undertaking. I was a Psion owner and user from the 1980s until the 2000-noughties, and I have posted things in various places about the Symbian source code over the years. Often some ex-Psion or ex-Nokia people pop up and mention the build tools, not unlike the post you link to. The knowledge is still out there. Updating it might be more instructive than building yet another Unix-like OS. There are so many of those on Github it's remarkable; here's a list: https://github.com/jubalh/awesome-os https://github.com/jubalh/awesome-os Some got a remarkably long way. A handful of examples I admired: * Serenity — https://serenityos.org/ https://serenityos.org/ -- also C++ * AtheOS — https://atheos.metaproject.frl/ https://atheos.metaproject.frl/ * Syllable — https://en.wikipedia.org/wiki/Syllable_Desktop https://en.wikipedia.org/wiki/Syllable_Desktop * SkyOS — https://en.wikipedia.org/wiki/SkyOS https://en.wikipedia.org/wiki/SkyOS * HelenOS (academic) — https://www.helenos.org/ https://www.helenos.org/ I could go on. There are dozens. Many are to some extent Unix-like. Symbian was very different indeed, which is one of the things that makes it interesting and different. > It had its own Perl-based build system, and I'm not sure that those SDKs are even available any longer. Perl is, of course. It may initially be necessary to hand-roll it, but I feel that a modernised Symbian that could be built with GCC or LLVM, and had more standard string types, error handling, and so on, would be a very interesting and desirable thing, even if it was totally incompatible with all classic 20+ year old Symbian software. And frankly, even if the result was 10x bigger and less memory-efficient, it would still be tiny compared to Linux or any of the BSDs.
- inglor_cz 1y agoI programmed apps for Nokia Symbian devices a lot, and it was amazing just how fast the OS was. Not the UI, mind you, Avkon was pretty slow, but the kernel. Lightning fast. 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.