[HN Gopher] Symbian OS Kernel (2010)
       ___________________________________________________________________
        
       Symbian OS Kernel (2010)
        
       Author : initramfs
       Score  : 134 points
       Date   : 2022-11-12 05:19 UTC (17 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | jbj wrote:
       | saved up in high school to buy P1i (sony ericsson) and remember
       | the feeling of being blown away when installing the first third
       | party app, I think a weather app.
        
       | notRobot wrote:
       | Over the past decade I've purchased several Chinese cheapo keypad
       | phones, and they all seem to run a very similar java-based OS.
       | Does anyone have any information on what OS that is exactly, and
       | if it's open source?
        
         | xobs wrote:
         | It's probably Nucleus, which is what Mediatek uses a lot on
         | their low-end phones:
         | https://en.wikipedia.org/wiki/Nucleus_RTOS
         | 
         | It's not open source per se, but the phones themselves tend to
         | have very little modification from the reference EVK, which
         | means if you can find the BSP you can usually build a firmware
         | image that will work on a device.
        
           | jpegqs wrote:
           | I don't know if the Mediatek chips have overridable pins, but
           | the Spreadtrum does. There are also different LCD panels that
           | have slightly different interfaces for which you will need to
           | write a driver (and find it from the original firmware). The
           | button mapping also may vary.
           | 
           | So writing firmware that will work on most phones on a
           | particular chipset will not be so easy.
        
           | jpegqs wrote:
           | From the ones I got, I found MAUI in the name of the
           | firmware, and on Wikipedia I found these notes:
           | 
           | > MAUI, a feature-phone operating system used with MediaTek-
           | based shanzhai devices, also used on Motorola phones and some
           | Samsung feature phones.
           | 
           | > MediaTek developed an embedded operating system named MAUI
           | Runtime Environment which is based on Nucleus RTOS.
           | 
           | So it's not raw Nucleus.
        
           | HeckFeck wrote:
           | Nucleus? How's its Weissman score?
        
         | jpegqs wrote:
         | I recently ordered and researched the cheapest feature phones
         | (and some smartwatches), looks like half of that market is
         | occupied by Unisoc with the SC6531(E/DA) chipset (from the
         | Spreadtrum company they bought). It uses Mocor OS. The second
         | half of this market is occupied by Mediatek MT6260/MT6261
         | chipsets. I wrote tools to run my code on these chipsets.
         | 
         | There are also phones on Mocor5 OS, a little more expensive,
         | it's actually Android 4.4 on the Spreadtrum SC7715 chipset.
         | 
         | I didn't find any Java here, but these CPUs have a Jazelle ARM
         | extension to run Java bytecode.
         | 
         | P.S.: There's an old project based on reverse engineered MT6260
         | firmware: https://github.com/xobs/fernly
        
           | jpegqs wrote:
           | I wanted to run Doom on one of them. So far I have LCD
           | control for SC6531E (with 9306 LCD panel), USB control for
           | SC6531E/SC6531DA and USB control for MT6260/MT6261 (using API
           | from bootloader).
           | 
           | I load the code not while the OS is running, but through boot
           | via USB.
           | 
           | SC6531DA is similar to SC6531E, but some constants have been
           | changed, so additional research into its firmware is
           | required.
           | 
           | I have enough knowledge to run some game on the SC6531E, but
           | a lot of work still needs to be done.
           | 
           | Anyone want to cooperate with me?
        
         | seba_dos1 wrote:
         | Symbian is not Java-based.
        
       | kgeist wrote:
       | I wonder what was the rationale for their formatting rules. No
       | spaces around "=", "==" or "," but there're spaces around "?" and
       | "||".
        
         | swinglock wrote:
         | Are there rules? Nothing is consistent even within single
         | function.
        
           | secondcoming wrote:
           | There were definitely rules, but as the company grew it seems
           | they were not followed all that strictly.
        
       | HeckFeck wrote:
       | Interesting source dump. I see a lot of utility scripts written
       | in Perl; they even have the documentation as well-formatted POD.
       | 
       | I wonder if there are any references to its progenitor the PSION.
       | A cursory glance revealed none, at least not in the copyright
       | headers.
        
         | mananaysiempre wrote:
         | The e32 prefix used in the source is for EPOC32, Symbian's
         | original name, so you can count that as a reference. But books
         | about Symbian say it was a complete rewrite of the original
         | 16-bit, C-language EPOC, there probably isn't any code that
         | comes from there verbatim.
         | 
         | (The Psion was the brand of computers, the EPOC was the OS.)
        
       | DrNosferatu wrote:
       | Have you ever tried to code any non-trivial application for
       | Symbian / S60?
       | 
       | If you ever did, the business opportunity to build a mobile
       | platform with any sort of half-sane API will immediately scream
       | very loudly at your face - and that's exactly what Apple did with
       | iOS. The rest is History.
       | 
       | A real sad story - the hardware was quite capable for the time.
        
         | jamesdhutton wrote:
         | Yes. I made a game for S60, in 2004. I agree the SDK and the
         | API were poor. But I think the real mistake they made was
         | failing to build an app store. IIRC I think they might have had
         | some kind of rudimentary app store but it wasn't accessible to
         | mere mortals. The only way I could figure out how to distribute
         | my game was to post it as a freely downloadable file on the
         | web, which I did. I have no idea whether anybody ever
         | downloaded it. If they had just made it easy for developers to
         | distribute their apps then I think history might have been
         | quite different.
        
           | secondcoming wrote:
           | Nokia had Ovi which was an attempt at an app store.
        
             | seniorivn wrote:
             | all of it was a late reaction to iphone changing the
             | market. Initially they didn't have any of it, and at the
             | time when they got to a N9(an actually competitive device),
             | their leadership already decided to do windows
             | shenanigans(and alleged forced merge by microsoft executed
             | by steven ellop as a Nokia ceo).
        
         | ChuckNorris89 wrote:
         | The thing is Nokia was not a software first company. It was a
         | phone/electronics company so that's where the decision making
         | was biased. Someone here posted that the Symbian repos were in
         | such a mess that compiling the OS would take over 2 days and
         | nobody in management saw a problem with that.
         | 
         | It's easy now in hindsight to say they could have won the
         | market with a software ecosystem but back then that was not
         | clear for them.
         | 
         | It was clear for Apple since they had the experience monetizing
         | the iTunes ecosystem and they were a software focused company.
        
           | DrNosferatu wrote:
           | It was very clear then for me!
           | 
           | I had to professionally code an image processing application
           | for Symbian in 2008/9, and that's when I formed this opinion.
           | Apple & Android seemed to agree :)
           | 
           | What's surprising is that there weren't more attempts at a
           | sane mobile platform/API - and earlier.
        
             | ChuckNorris89 wrote:
             | 2008/2009 was pretty late in the game for such a large ship
             | like Nokia to change course. Their financial situation back
             | then was still good enough to no bother with a massive
             | change of course.
             | 
             | Sure, you saw it, but Nokia management was out of touch and
             | more preoccupied with the next quarter rather than with the
             | next 3 years, as it the case in many large old companies.
        
               | fifilura wrote:
               | The sad part was that they had the platform that could
               | have competed with ios and android. A linux based
               | platform that they had worked on since 2005. (Or 2004
               | even).
               | 
               | For som reason the not-so-visionary mgmt decided to cut
               | it, right when it should have started to scale up.
        
             | throwawaaarrgh wrote:
             | > What's surprising is that there weren't more attempts at
             | a sane mobile platform/API - and earlier.
             | 
             | It's all about leadership, vision, and courage. Leadership
             | that doesn't push new boundaries, has no vision, and lacks
             | the courage to try new risky things, are doomed, unless
             | they are monopolies. Nokia didn't have the market power to
             | succeed in a changing world with its lackluster leadership.
        
       | sturza wrote:
       | What did they use Obj-C for?
        
         | aaronbrethorst wrote:
         | You can click through to view matching files:
         | https://github.com/SymbianSource/oss.FCL.sf.os.kernelhwsrv/s...
         | 
         | In this case, it seems the answer is nothing. It's just a bug
         | in the GitHub language detection code.
        
       | dancemethis wrote:
       | The best thing about Symbian is that "it was never actually
       | Symbian, it's S60 or whatever".
        
       | jokowueu wrote:
       | In my opinion it's the best phone first os .
       | 
       | Tried it a few years ago and it was perfect
       | 
       | Happy it's been opensourced
       | 
       | interesting forks out there as well
       | www.github.com/squaklabs/miraicat-kernel
        
         | jillesvangurp wrote:
         | I worked at Nokia when management stubbornly kept flogging the
         | dead horse that was Symbian. It didn't work. It just wasn't
         | good enough. Android, even in it's early versions was hardly
         | perfect but still ran circles around Symbian. Android at the
         | time had issues with stability, features, performance, etc. But
         | it was a breath of fresh air compared to Symbian devices which
         | had even more of those type of issues. And of course the iphone
         | redefined what a smart phone should be around the same time.
         | 
         | Nokia actually opensourced it around that time as well. Symbian
         | has been open source for well over a decade. This looks more
         | like the retirement of what remains of that effort, which
         | included the Symbian Foundation. Presumably, by now there are
         | very few; if any, commercial users of Symbian left. So, they
         | are parking the source code at Github for whomever still has
         | some use for it. As you can see from the commit logs,
         | development has been dead since 2010. I seriously doubt that is
         | going to change.
        
           | Ste_Evans wrote:
           | Nokia's problem was their UI, which was not controlled by
           | Symbian, not the underlying OS. Hundreds of Symbian-OS based
           | phones were on the market from 2001, including in the
           | Japanese market which had the most testing. The p800 and p910
           | had a UI similar to iPhone and Android in 2003, 3 years
           | before the iPhone, on 3G networks. The second version of the
           | Symbian OS kernel from 2003 was real time i.e. a comms stack
           | could be run together with the apps off the one CPU. Are the
           | Linux kernel or iOS kernel real time now even?
           | 
           | Android OS and iOS are hacks of desktop OSes so are optimised
           | for performance rather than battery life or memory usage;
           | Symbian OS was designed as a mobile OS from the beginning
           | optimising power and memory management.
           | 
           | It was the timing of Google's IPO which scuppered Symbian.
           | Google were able to spend billions getting Android in place
           | to capture Symbian's market share and customers as iPhone
           | buzz grew the market.
        
             | jillesvangurp wrote:
             | You are right that there were lots of Symbian
             | manufacturers. Notable is that most of those were gone from
             | the market by 2010. Windows CE eroded the market share and
             | Nokia being so dominant meant most of its competitors did
             | not want to be second in line for OS updates and influence.
             | When Ericsson gave up being a phone manufacturer (they had
             | their own UI platform for Symbian), the rest of them
             | disappeared quickly.
             | 
             | By the time Nokia took ownership of Symbian, it was
             | effectively the only company left still depending on it.
             | The complex ownership of Symbian was one of the reasons it
             | took many years to get operating system releases to market.
             | Because first Symbian had to release a new version, which
             | would only happen every few years or so and featured a lot
             | of design by committee style decision making. And then it's
             | users/owners would design products around that, which also
             | took years.
             | 
             | It did not help that Nokia was a hardware company ran by
             | electrical engineers that did not realize it was being
             | bottle-necked on software. So, you would get new S60
             | products featuring bugs that had been fixed in other S60
             | products because they literally forked the same code base
             | those were based on but before the bug had been patched. It
             | was beyond stupid. And S60 was indeed a dumpster fire. One
             | of the (many) issues with it was that it did not actually
             | have any touch screen capability because Nokia killed that
             | off around the time the rumors about the iphone started
             | swirling. They then rushed out a version of S60 (v5.0) to
             | "compete" with the iphone that re-created some of that. But
             | then they also still had lots of v3.0 S60 products in the
             | market for several years. Which did not help the messaging.
             | 
             | 5.0 was a rush job and the initial products tanked hard.
             | First there was the tube and then the N97. Both were
             | products with lots of software issues. And subsequent
             | efforts to fix it did not improve things. Most of the fixes
             | amounted to too little too late.
        
               | pavlov wrote:
               | Nokia did their best to kneecap other vendors using
               | Symbian by fragmenting the base OS, which was a terrible
               | strategy in retrospect.
               | 
               | But somehow they also managed to do it internally. The
               | Series 90 Symbian UI could have been a real contender.
               | This is a touchscreen smartphone from 2004:
               | 
               | https://en.wikipedia.org/wiki/Nokia_7710
               | 
               | But Nokia canned this advanced Symbian UI as soon as it
               | shipped, and instead they started bolting features onto
               | the already terrible keypad-driven S60 UI. Oh, and they
               | also spun up a Linux touchscreen effort seemingly to
               | ensure a total lack of focus and clarity about Nokia's
               | software strategy.
        
               | LightG wrote:
               | Karma.
               | 
               | I was so disppointed (as a customer) at the trajectory at
               | the time. It could have been so much more and I was
               | willing it on.
        
             | edderly wrote:
             | No, the OS was a mess. The UI split was the root of the
             | nightmare.
             | 
             | Nokia were "running" (perhaps should read ruining) Symbian
             | well before they bought it. They were only one of the four
             | or was it five co-owners, but they ran rings around the
             | others when pressuring Symbian leadership. They were the
             | only phone manufacturer with a dedicated product support
             | org, and their pre-prod devices were available in core
             | engineering teams unlike Moto et al. Nokia were the key
             | players to create a Symbian OS core without a coherent UI
             | (Techview lol), no TCP/IP stack, no telephony stack. They
             | helped reduce Symbian OS to swiss cheese because they were
             | so concerned with with recouping their investment from gen
             | 1 SOS products and terrified their competitors at the time
             | got a tiny leg up.
        
               | secondcoming wrote:
               | Techview was a barebones UI used by Symbian devs on the
               | x86 emulator and ARM reference boards (TI OMAP H2 and
               | H4). It never appeared on any phone.
        
               | edderly wrote:
               | Indeed. So imagine doing performance profiling on a 90s
               | UI framework from Psion and then getting feedback from
               | S60 three months later after an integration cycle that
               | you have a core perf or latency problem.
        
             | sergers wrote:
             | I imported a Panasonic x800 from japan to Canada in 2005.
             | 
             | Ran Symbian 2.0
             | 
             | I didn't even know Symbian was available on non nokia
             | 
             | Was very advanced for the time, everyone was impressed here
             | as there werent any similar devices locally available.
             | 
             | This was my last phone before moving over to blackberry to
             | get on the BBM bandwagon(after the x800 fell, and hit the
             | push button opener and popped open the screen and
             | cracked... With no locally available parts wasn't worth it
             | to fix....).
             | 
             | Never had to do anything from the dev side, but the
             | usability/functionality was steps ahead at the time
        
             | secondcoming wrote:
             | And we know now that Google wanted its own OS so it could
             | scrape all the data it could from phones. That wouldn't
             | have been possible with Symbian.
        
           | jojobas wrote:
           | I don't know, Nokia C7 was pretty good in 2011, Android was
           | nowhere near it.
           | 
           | Granted, I never tried developing for it.
        
             | forty wrote:
             | Yeah, I had a Nokia E65 (2007) and with Opera mini I was
             | able to browse the real web normally. That's why I never
             | quite understood what was all the "revolution" around
             | iphone (except the touch part, but that seemed to me to be
             | a really bad idea at the time, as someone could not stand
             | fingers on screens ^^)
        
           | _448 wrote:
           | Symbian was not in a dictating position as Google or Apple
           | are. Symbian was a complex company structure with major
           | handset manufacturers having their separate agendas. People
           | at Symbian had to walk a very tight rope catering to the
           | demands of everyone. Not an easy task.
        
           | pjmlp wrote:
           | I was on the Networks business unit during those days, and
           | even today, trying to use Android NDK still makes me miss
           | Symbian C++ despite its warts, it is incredible how Android
           | team has managed to make a mess out of it.
        
         | js8 wrote:
         | I had Nokia E71 (?) with Symbian, worst phone I had, I replaced
         | that with Palm 650 (not sure I got model numbers right).
         | 
         | The Symbian UI was extremely clunky. I am not sure it even had
         | touch screen. They had whole keyboard, but you had to navigate
         | menus with arrow keys. Why not give user the full power of the
         | keyboard, like Emacs or Vim? Why can't I have menu options on
         | hotkeys?
         | 
         | I think people forgot about how bad phone UIs were before Steve
         | Jobs' heavy focus on UI. And I am no fan of touch-based
         | controls, still want a proper keyboard.
        
           | nix23 wrote:
           | What?? The E71 was the best phone i ever had!! I loved that
           | thing until it was "stolen" at dehli airport...
        
             | ljf wrote:
             | Agree, blew me away as a step up from e61 - I did so much
             | in both phones, loved 'SportsTracker' on them, and using
             | proper turn by turn GPS satnav.
             | 
             | I missed that phone when it died, but Android on the Dell
             | Streak was great step onwards for me.
        
           | secondcoming wrote:
           | Symbian never had a UI. Phone manufacturers were expected to
           | build their own. There were several; Nokia's Series 60 would
           | be the one most are familiar with. That sucked a lot. Nokia
           | were terrible at software.
           | 
           | There's probably a business lesson in there somewhere about
           | how your biggest customer can become synonymous with your
           | actual product, and you get ruined by association.
        
             | eliasson wrote:
             | In some way they did. UIQ was a subsidary owned by Symbian
             | that made the UI stack for Sony Ericssons P800, P900 and a
             | few Motorola devices.
        
             | vesinisa wrote:
             | Nokia actually bought Qt to help them make a modern GUI,
             | and had Qt/QML ported to Symbian S60. I was fortunate
             | enough to develop a few apps on it back in the day and
             | surprisingly - it didn't suck.
             | 
             | QML remains to this day superior framework to native
             | Android UI development. Only Jetpack Compose, and SwiftUI
             | on iOS, are starting to come on par with what Nokia had
             | with Qt/QML over a decade ago.
             | 
             | Nokia actually had all the right pieces (Qt, Maemo/MeeGo,
             | Symbian for feature phones, unparalleled engineering and
             | manufacturing talent) for continuing their world
             | domination, but their management was just laughably bad. It
             | was all lost to in-fighting between teams and an
             | inefficient middle manager heavy corporate culture it
             | seems.
        
           | hulitu wrote:
           | > I think people forgot about how bad phone UIs were before
           | Steve Jobs' heavy focus on UI.
           | 
           | And years later they are still terrible. At least Android
           | looks like an interface designed by people who have never
           | seen GUIs before: GUI elements (warning) obscuring other GUI
           | elements with no possibility to move them.
        
             | chunk_waffle wrote:
             | You think Android is bad... try Phosh
             | 
             | "Hey let's take GTK3 with all it's problems and love for
             | empty space and put that on a phone..."
        
               | LtWorf wrote:
               | well considering that phosh has 0.000000000000000001% of
               | the people working on it that android has...
        
         | mnd999 wrote:
         | There's no license though, right?
        
         | gonzo41 wrote:
         | Hard disagree. I really loved candybar phones. I just wished
         | that Nokia/Microsoft had picked up android for their feature
         | phones. IMO, the best OS is the one that has access to banking
         | applications and lots of vendor support.
        
       | initramfs wrote:
       | "Symbian Source Code Final repositories from the defunct Symbian
       | Foundation"
        
         | [deleted]
        
       | anta40 wrote:
       | So, how can we build this thing? No documentation/README etc
        
         | systemvoltage wrote:
         | You've ever been to a junkyard? If you pick up a broken
         | amplifier, it's not going to have a user manual taped to it.
         | You're going to have to figure things out. This is essentially
         | code junkyard. 13 years old and rusting.
        
         | edderly wrote:
         | I'd try to build a textshell image, maybe the emulator or the
         | beagleboard
         | https://github.com/SymbianSource/oss.FCL.sf.adapt.beagleboar...
        
           | edderly wrote:
           | Oh look qemu too
           | https://github.com/SymbianSource/oss.FCL.sf.adapt.Qemu
           | 
           | https://github.com/SymbianSource/oss.FCL.sf.adapt.Qemu/blob/.
           | ..
        
         | secondcoming wrote:
         | You will need to find a development kit somewhere.
         | 
         | The documentation on this random website seems accurate
         | 
         | https://docs.huihoo.com/symbian/nokia-symbian3-developers-li...
        
           | initramfs wrote:
           | OP Here. Found that there's a previous thread, with more info
           | SDK tools: https://news.ycombinator.com/item?id=31492447
        
       | pmarreck wrote:
       | Brings back memories of hacked N-Gage titles running on my Not-N-
       | Gage-But-Same-Hardware-And-OS Nokia lol
       | 
       | Seriously though I cannot understate what a step it was to go
       | from that to the first iPhone
        
       | zokier wrote:
       | What is surprising is that Symbian did not manage to pivot to
       | embedded market in any way, to compete with VxWorks and its
       | likes. It was a fairly advanced RTOS at it's heart afterall, and
       | proven to work well on ARM platforms.
        
         | miohtama wrote:
         | Symbian started as an embedded platform "OS for toasters." It
         | was independent, used by mobile phone manufacturers like Sony,
         | Ericsson, others. It was also used in non-mobile phone
         | applications.
         | 
         | Nokia bought the whole Symbian in-house in attempt to compete
         | against Android and iOS. Others non-Apple brands had already
         | switched to Android in this point.
         | 
         | Steven Elop joined Nokia had a had management bonus incentives
         | to sell the Nokia Mobile Phones (not Networks) to Microsoft.
         | Which he did.
         | 
         | It was good for Nokia shareholders. Few years later Microsoft
         | had screwed up things even worse and wrote Nokia purchase value
         | from $7B to zero.
         | 
         | In this point, Symbian was buried long ago. Microsoft had never
         | incentive to spin it out or make it a success story. Their only
         | goal was Windows dominance.
        
       | dm319 wrote:
       | When I got my Nokia E90 in 2007ish, it's hard to describe the
       | power and potential in that device. It was multitasking, 3G, GPS,
       | camera, video, email, web, app store etc. The big downfall of
       | these devices was that consumers weren't familiar with the types
       | of mobile contracts, and specifically data. The iphone got it
       | right by only selling the iphone with a data package, whereas
       | people bought these symbian smartphone and later found they
       | couldn't make full use of them. Not to mention back then we had
       | to set up the internet connection ourselves.
       | 
       | I moved onto the N900 when my E90 slipped out my linen trousers
       | in a taxi in Morocco.
        
         | nikanj wrote:
         | The software quality was also absolute dogshit. Your phone
         | would ring, you would click on the button to answer, and the
         | phone app would just crash.
         | 
         | It was nice having irc and a good ssh client on my phone, but
         | the phone was simply not stable enough for a daily driver.
        
           | dm319 wrote:
           | That's weird, the E90 was the last phone I had with reliable
           | phone features. The N900 could be buggy, but I've had iphones
           | and pixels since then and I give answering a phone that is
           | ringing in my pocket to be very often a miss, even now. More
           | an issue with a touchscreen I think.
        
         | thriftwy wrote:
         | N900 was a mighty beast, I only moved off it when its power
         | port tore away.
         | 
         | Too bad Nokia did not have the focus to stick to one platform
         | (Maemo vs. MeeGo vs. Windows Phone)
        
           | seba_dos1 wrote:
           | It took me about a decade to move from N900, and even then
           | it's still handling one of my SIMs.
        
             | ploum wrote:
             | The N900 was running a modified Debian Linux version call
             | Maemo. Not related to Symbian at all.
        
       | fork-bomber wrote:
       | In an attempt to learn more, I accidentally misspelt Symbian as
       | Sybian on Google search. The world truly is er wondrous. Cough.
        
       | edderly wrote:
       | Does anyone know what license this is under?
        
         | npteljes wrote:
         | They don't state explicitly, so it's basically source-available
         | software, not Open Source (nor Free Software).
         | 
         | https://www.theregister.com/2011/04/06/nokia_confirms_symbia...
        
       | chronomex wrote:
       | another copy, in the original Mercurial, and with mediawiki dumps
       | too: https://archive.org/details/SymbianOpenSource
        
       | thunkshift1 wrote:
       | How to begin to start understanding a codebase like this? Where
       | does one start
        
         | _448 wrote:
         | Depends on your interest. It is an operating system, so has lot
         | of different parts. It is a microkernel with other parts as
         | servers e.g for graphics there is window server, for filesystem
         | there is file server etc.
         | 
         | Start from the server for the area you are interested in and
         | then move down to the related drivers and finally the kernel.
         | You will need to understand some of the design patterns used in
         | Symbian though, which are bit unique.
        
       | borissk wrote:
       | I see why it was so slow - there are DELAYs sprinkled everywhere.
        
       ___________________________________________________________________
       (page generated 2022-11-12 23:02 UTC)