[HN Gopher] Symbian Source Code
       ___________________________________________________________________
        
       Symbian Source Code
        
       Author : thunderbong
       Score  : 325 points
       Date   : 2022-05-24 13:23 UTC (9 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | jerrygoyal wrote:
       | wow this gives me nostalgia. Symbian was probably the start of
       | the smartphones era.
        
       | btreesOfSpring wrote:
       | It feels like Garmin devices are still dependent on this era's
       | tools. When someone asks me about issues with using my Garmin
       | Edge 1030 for navigation, I often say it works fine enough but it
       | is sort of like using a Symbian phone in the early 2000s.
        
         | secondcoming wrote:
         | I think a fair amount of Symbian devs went to Garmin when
         | Symbian ceased to exist.
        
       | gendal wrote:
       | There's a great (and insanely detailed) book on the rise and fall
       | of Symbian by a guy who was there for most, if not all, of the
       | journey:
       | 
       | https://www.amazon.co.uk/Smartphones-beyond-Lessons-remarkab...
       | 
       | When I say detailed, I mean detailed... David Wood seems to have
       | copies of every email and memo he ever wrote when he was there...
       | and he doesn't hold back when it comes to sharing them.
       | 
       | Required reading for anybody seeking to build a platform
       | business.
        
         | secondcoming wrote:
         | Find the post in that article by Dennis May. It explains Nokia.
         | The atmosphere in Symbian/Nokia towards the end was really bad.
        
       | leafmeal wrote:
       | I was looking for their implementation of T9, but haven't found
       | it yet. Would that be in here? Does anyone with more context or
       | Google-foo know where it is?
        
       | ARTeamer wrote:
       | A lifetime ago, I spent lots of long hours on reversing Symbian
       | apps, writing tools and tutorials for it. Any old souls here from
       | the reverse engineering community of that era will recognize my
       | username. :)
        
         | sydthrowaway wrote:
         | Was it a waste of time?
        
       | oflebbe wrote:
       | i miss epoc32 source
        
         | exikyut wrote:
         | This is a thing?
        
       | marcodiego wrote:
       | I have to cite Nokia N8 [1]. It had USB otg, mini hdmi, FM
       | receiver, FM transmitter, MicroSD memory card, TV out and Nokia
       | later released a TV receiver adapter for it.
       | 
       | A friend of mine had one. He said he spent a few days in the
       | countryside watching films he copied to an SD card on an old tube
       | TV with it. He also told me how he could play MP3 files and
       | listen it on the old FM radio that was available in the house he
       | was in. It was also possible for him, once in a city a few
       | kilometers away, to answer e-mails and read news using WiFi. You
       | could just plug the mini HDMI to a modern TV, plug a keyboard on
       | it and use a Bluetooth mouse to get a fully functional computer
       | where you could even write and run python programs. All this at a
       | time when basically nobody even talked about "convergence".
       | 
       | We've been walking backwards since then. These days the only
       | devices able to give similar power are the still unpolished
       | linuxphones. That's why we should support them or else we will
       | continue walking backwards.
       | 
       | [1] https://en.wikipedia.org/wiki/Nokia_N8
        
         | seclorum_wien wrote:
         | > linuxphones
         | 
         | A hacker friend of mine carries around his pixel, which he has
         | set up to use DAS KEYBOARD (ohne buchstaben) as his Linux
         | development workstation.
         | 
         | This is a wonder to see, honestly. Truly a cyberpunk scenario
         | out there on the edge of linuxphones.
         | 
         | Apropos, I flunk out with my PinephonePro+KB setup, which
         | doesn't work nearly as well as his rig. Grr, power management
         | "last 1%" ..
        
         | tjoff wrote:
         | Yeah, the fact that we call iphone/android smartphones is kind
         | of triggering. Especially in the early days they represented
         | the dumbest phones imaginable, with the only saving grace
         | having a better app-store to try and make up for it.
        
         | jillesvangurp wrote:
         | Originally the N8 was going to run Meego. The N8 should have
         | been a flagship phone running Linux. Instead they chickened out
         | and and went with Symbian instead; pretty late in the
         | development process.
         | 
         | I had an N8. Really nice device. A 13 megapixel camera in 2010?
         | was pretty awesome and the aluminium body plus oled screen were
         | pretty amazing as well. It actually had a screen saver mode
         | that would stay on during the night where they'd only light a
         | few pixels to show a clock.
         | 
         | But it was crippled by the OS; Symbian just wasn't great. And
         | of course it still featured the resistive touch screen instead
         | of a capacitive one (which Apple used).
         | 
         | Meego eventually shipped via the N900 (nice but very awkward
         | form factor) and the only device that could have been great,
         | the N9. Except they launched that years late and with the
         | announcement that whole platform was being cancelled and the
         | phone was for developers only. A misguided UI switch from GTK
         | to QT, which Nokia bought to rescue Symbian did not help
         | either.
         | 
         | Then windows phone started happening and and they
         | unceremoniously killed Symbian. Then they handed the keys to
         | MS. Somewhere in between, Nokia actually shipped a Nokia
         | Android device, which MS promptly killed. Nokia also had
         | another Linux platform (called Meltemi) under development aimed
         | at feature phones. But that whole department got layed off a
         | few months before the MS acquisition. I actually got caught up
         | in that particular round (despite never having worked in that
         | department). In the years after that, tens of thousands of
         | engineers were shown the door. Probably the most bizarre and
         | one of the largest layoff round of highly qualified hardware
         | and software engineers in recent history.
         | 
         | Nokia had a great thing and they ran it straight into the
         | ground. Arrogance and incompetence lead to a lot of bad
         | decision making. The N8 is probably the key moment it went
         | wrong for Nokia. They had all the solutions ready for market
         | and then they chickened out and stuck with Symbian. There was
         | more than a little bit of anger inside the company about that
         | decision. The Symbian camp won and killed the company.
         | Absolutely nothing they tried in the nearly three years that
         | followed worked out.
        
           | kerpele wrote:
           | Not sure where your information that n8 was supposed to run
           | Meego comes from, but I remember working with the Nokia s60
           | team already early 2009 and they were using n8 protos at the
           | time. It's definitely possible that there were two parallel
           | projects though.
           | 
           | On the other hand, Maemo, the predecessor to Meego, required
           | a pen-like pointer to comfortable use at the time as the UI
           | elements were designed to be small. Only after they
           | completely overhauled the UI (and renamed the Linux based OS
           | Meego) it could have worked on the N8.
        
           | cycomanic wrote:
           | I still belief Elop was a MS trojan horse to somehow get the
           | Nokia phone devision to Microsoft. The whole "burning
           | platform" memo together with hamstringing the N9 which was a
           | great phone (I used one until the battery died some day) and
           | OS (maybe we would not have this IOS/android duopoly if Nokia
           | would have really pushed Meego), it all seemed incredibly
           | unprofessional and more like the actions of someone
           | competitor not what the CEO would do.
        
             | jillesvangurp wrote:
             | He was appointed by a Nokia board looking to sell the
             | business to MS. He was a patsy. Most of the bad decision
             | making happened before Elop. And they appointed him to
             | finish the job. The fault lies with the Nokia management
             | and the board, including their former CEO, Jorma Ollila.
        
           | birdman3131 wrote:
           | It was capacitive touch. The catch was it was not bonded to
           | the lcd like more modern smart phones are. This meant that it
           | was a 5 minute job by a smart 13 year old to replace the
           | digitizer without needing to replace the lcd.
           | 
           | I loved my N8. Built-in FM transmitter was awesome. And don't
           | get me started on how many times it got dropped and laughed
           | it off. At least 50 times onto concrete and such.
        
             | jillesvangurp wrote:
             | Ah true, I forgot about that. The N8 was one of the first
             | devices where they fixed that.
        
         | JohnBooty wrote:
         | It's funny how the top two comments on this article are (1)
         | yours, talking about how far ahead of its time this phone was,
         | even compared to modern phones in 2022 and (2) another post
         | from a Nokia engineer talking about how frustratingly limited
         | Symbian was thanks to cooperative multitasking, etc.
         | 
         | Of course, both are simultaneously true.
         | 
         | As you say, this phone was definitely ahead of its time as an
         | open computing platform.
         | 
         | I had no idea that it even had an FM transmitter and support
         | for composite video as well as HDMI. Thank you for sharing
         | that.
        
           | pavlov wrote:
           | Symbian wasn't actually limited to cooperative multitasking.
           | The kernel certainly supported preemptive multitasking, and
           | apps could use multithreading if they wanted to. The POSIX
           | threads API was available too.
           | 
           | However since everything in Symbian was designed first and
           | foremost to minimize power use and memory requirements, the
           | framework actively recommended against use of threads.
           | Instead they asked you to schedule things on the app's main
           | thread which gave the framework more control over when to run
           | your callbacks. This wasn't a terrible idea at all, but the
           | implementation of this system as a C++ multiple inheritance
           | contraption was pretty confusing as I recall.
        
             | secondcoming wrote:
             | CActiveScheduler ran your CActive::RunL(), IIRC
        
         | rollcat wrote:
         | > That's why we should support them or else we will continue
         | walking backwards.
         | 
         | I would love to, but the reality is that unless you're in the
         | Android/iOS duopoly ecosystem, you're increasingly unable to
         | participate in some parts of society. Talking to people,
         | banking, food delivery, parking, public transport...
        
           | marcodiego wrote:
           | Linux on the desktop was similar to that in early 2000's:
           | hardware, software and services were frequently not
           | compatible. The IE monopoly made things even worse. Pioneers
           | suffered, there are still some problems, but the landscape
           | changed drastically because of those people. Some pioneers
           | must be willing to change the world and pay the price for
           | that.
        
         | dm319 wrote:
         | As other's have already mentioned, Symbian traces it routes
         | back to the early Psion Organisers, which ran a pre-emptive
         | multitasking operating system before Windows did, and was
         | thought to be Microsoft's biggest competitor back then [1].
         | I've used the Psion II, and had a 3a, which you could program
         | in their basic-like OPL language. The 5mx looked like Win95 in
         | a palmtop and was a great pocket computing device with a
         | reasonable keyboard, terminal, email client and internet
         | connectivity. I remember back in 1998 or so looking longingly
         | at the expensive phones that came with a built-in modem (Nokia
         | 6210 and Ericsson R320 from memory), so I could use email and
         | web on the go. Nokia took EPOC and became the lead in the
         | Symbian consortium, using it on spiritual successors of the
         | Psions - the 9300 and 9500, and when the E90 came out with a
         | magnesium case and built in keyboard I had to get one.
         | 
         | That was in 2007, around the time of the first iphone, but was
         | so much more capable. Incredible at that time having all that
         | power in your pocket. I never got lost in foreign cities
         | because I could just get a GPS lock on the train station and
         | find my way back, without using very expensive data in a
         | foreign country. It was a strange thing being able to access
         | the internet anywhere back then. In some ways it was a better
         | time - social media networks hadn't cottoned on to the ability
         | to deliver dopamine from the pockets of world's population, so
         | the device felt powerful, but not like a ball and chain, or
         | distraction-device like my pixel does these days.
         | 
         | [1] https://www.independent.co.uk/news/why-is-bill-gates-so-
         | scar...
        
           | jw1224 wrote:
           | Got a lot of nostalgia seeing OPL being mentioned...
           | 
           | Twenty years ago my grandfather gave me his old Psion 3c. To
           | a curious 10-year-old, the novelties of a world clock,
           | spreadsheet and diary grew old after a few hours -- but OPL
           | caught my imagination...
           | 
           | Here I am now, two decades later, programming professionally
           | full time as a startup founder -- all thanks to a dinky
           | little BASIC-like language on a pocket organizer from the
           | early 90s :)
        
         | [deleted]
        
         | pavlov wrote:
         | I also had a Nokia N8. The UI was absurdly bad compared to
         | iPhone at the same price.
         | 
         | It's not obvious in Nokia's carefully crafted screenshots, but
         | the N8 UI was very static, slow, and unfriendly to touch
         | actions. It was fundamentally designed around menu navigation
         | on phone keypads. That's not something you can simply fix by
         | making the menu items touchable instead of using arrow keys,
         | yet that's basically what Nokia tried to do.
        
           | flaviojuvenal wrote:
           | Besides the awful UI, it missed several key third-party apps
           | that Android and iOS had. Also the GMail integration was
           | pretty bad.
        
       | oofbey wrote:
       | Looking through some of this code is a painful reminder of the
       | time when lots of people thought XML was a good idea.
       | 
       | <math result="sf.spec.sbs.numberofjobs"
       | operand1="${env.NUMBER_OF_PROCESSORS}" operation=" _" operand2=
       | "2" datatype="int"/>
       | 
       | instead of
       | 
       | numberofjobs = NUMBER_OF_PROCESSORS _ 2
       | 
       | Talk about a headwind to productivity.
        
         | seclorum_wien wrote:
         | I cringe at the places I've used XML for things like
         | declarative programming, its just too obnoxious to think about.
         | 
         | However, as someone who is currently pushing bytecode on the
         | wire in place of such things, because reasons, I can only tell
         | you the madness is just a toolchain away.
        
           | TedDoesntTalk wrote:
           | The example he gives may just be a config file. XML was very
           | popular for holding configuration, replacing the ancient
           | property name/value pair system.
        
       | lproven wrote:
       | It is odd to see people talking about how Symbian was so early
       | on, in the smartphone era.
       | 
       | It's considerably more mature than that. :-) (For the avoidance
       | of doubt: this is a _good thing_.)
       | 
       | Symbian was a rebrand of the Psion 5 and 5MX OS, which was called
       | EPOC32. It also ran on some other hardware, including the
       | Ericsson MC218, Oregon Scientific Osaris, and Geofox One.
       | 
       | The first EPOC32 device was the Psion 5 in 1997:
       | 
       | http://www.computinghistory.org.uk/det/5300/Psion-Series-5/
       | 
       | Succeeded by the 5MX:
       | 
       | https://uxdesign.cc/psion-pda-how-does-it-look-today-327e01b...
       | 
       | https://thenewstack.io/retrocomputing-in-modern-times-redisc...
       | 
       | In other words, this OS was out there in the real world, in use
       | by hundreds of thousands of people, _five years_ before the first
       | Symbian device (Nokia 7650).
        
         | markb139 wrote:
         | The first Symbian based Nokia device was the 9210. I helped
         | integrate the fax functionality - was amazing to see the first
         | faxes sent and received :)
        
           | lproven wrote:
           | Fair enough! I defer to your superior wisdom.
           | 
           | So, four years earlier, not five. :-)
           | 
           | I have seen comments from people who worked at Accenture in
           | the last days of Symbian, about the difficulty of putting
           | together the build system today. Apparently bits need a
           | specific MS C++ compiler that only runs on WinXP.
           | 
           | I think it would be _wonderful_ to see this resurrected and
           | ported to the RasPi or something. Symbian was capable of SMP,
           | and there were a lot of 3rd party apps back in the day.
           | 
           | One of the things that crippled Symbian in the market was the
           | range of UIs, all incompatible. I owned devices running
           | Series 90 (Nokia 7710), Series 60 (E90 Communicator), and UIQ
           | (Sony-Ericsson P910i). There was also Series 80 (earlier
           | Communicators), and MOAP and OPP in Japan only.
           | 
           | AIUI all needed different programming tools and apps from one
           | couldn't run on the other.
           | 
           | Frankly, none of that matters any more. Whatever is in this
           | FOSS release and can be used with modern FOSS tooling is all
           | that matters. Nobody needs early-noughties phone apps on a
           | RasPi. Just something that can be used on a desktop with a
           | mouse and keyboard.
           | 
           | I suspect a few old Psion and Symbian enthusiasts would
           | appear and enjoy modernising their own apps to get them
           | working again. It's not _that_ long ago.
           | 
           | EPOC32 and Symbian were great OSes to use: fast as hell,
           | stable, and low-resource. On a RasPi 4 I think it'd stomp all
           | over Linux, and it's vastly more modern than RISC OS.
           | 
           | C++ has come a long way, too, since Psion chose it. The rough
           | edges have been smoothed away.
        
           | [deleted]
        
         | gjvc wrote:
         | Thank you for that summary (and I have an email in my drafts
         | folder for you! will send it soon, honest :-))
        
         | miohtama wrote:
         | Do you think there is anything useful for modern day programmer
         | in the codebase? Any value on this code for anyone, anymore?
         | 
         | Or do we have better alternatives and rewrites for everything
         | that can be found in this repo?
        
       | atleta wrote:
       | I used to work for Nokia Research during the mid 2000's. I
       | remember how hard it was to get the source code for this back
       | then as internal employees... One of my colleagues was working on
       | a research prototype that needed tighter integration with the
       | system than what you could achieve with a deployed app. So he
       | needed the source code and the build environment for the OS.
       | 
       | And for that he needed quite a few people to agree and he had to
       | sign an NDA (again, as an employee, not a subcontractor!). Then,
       | of course the whole thing was pretty hard to make work on his
       | machine.
       | 
       | Later on I did some work with the (public) SDK as well. The build
       | system was based on the GNU toolchain. More precisely, a windows
       | port of the GNU toolchain, so it would only work on windows. But
       | even on windows it had a lot of warts (because these tools were
       | build for unix in the first place, so e.g. drive letters and back
       | slashes were problematic). As far as I can remember, a lot of the
       | build tools were written in perl. There was some script to
       | generate makefiles for your project and even that, as far as I
       | can remember had a front end script. (I remember something called
       | MAKMAKE.BAT, but I may be wrong.)
       | 
       | The whole thing was a pretty frustrating experience. And we
       | haven't talked about the libraries, the OS (cooperative multi
       | tasking, everything is a callback) or memory management
       | ('descriptors' that made trivial string operations a pain). No
       | wonder it couldn't keep up with android and ios. Now, to be fair,
       | the OS was based on a core and concepts created in the mid 1990s
       | to allow software development on devices with 64k of memory or
       | something. But even with several megabytes of RAM (so the early
       | 2000s), that programming model was obviously way too
       | constraining.
        
         | jillesvangurp wrote:
         | One of my colleagues in Nokia Research Center actually created
         | and maintained the python port to symbian. He was dealing with
         | some crazy stuff. NRC actually ported quite a bit of oss to
         | Symbian. You could actually run a webserver on the device which
         | you could share to the internet with a reverse proxy. So, you
         | could host your own photos from your device or use it as a
         | webcam. Php, apache, mysql were part of this effort if I
         | remember correctly. Another team in the same lab was
         | responsible for porting Webkit to Symbian. This actually
         | shipped when the iphone was nothing but a rumor. Ajax websites
         | running on a smart phone. In 2005 when Ajax was still a new
         | thing. Amazing stuff.
         | 
         | Of course all of this was labelled as research and wasn't taken
         | too serious by the business units until it was too late. A
         | pity, because a lot of the stuff that NRC produced wasn't bad.
         | There was a thing called friendview that existed before
         | foursquare was a thing where you could share your location on a
         | map with friends. The team that did that also did another app
         | that allowed people to share photos. Instagram was not a thing
         | yet back then. Another team was doing a thing called sports
         | tracker. These were tiny teams doing amazing things. Sports
         | tracker basically was allowed to take their software outside of
         | Nokia and create a company around it. Nokia shipped a lot of
         | stuff like this via Nokia Betalabs. A lot of that stuff came
         | from teams in Nokia Research Center.
        
           | exhilaration wrote:
           | Confirming that I was able to run a webserver on my Nokia
           | 3650 https://en.wikipedia.org/wiki/Nokia_3650 back in 2004.
           | Those were the days when T-Mobile USA actually gave you a
           | public IP address! It was pretty awesome to be able to
           | download photos from the phone via the web - even if only at
           | GPRS speeds.
        
           | teknolog wrote:
           | Sports Tracker was awesome. I used it for years before it
           | stopped being competitive with Strava and more modern
           | offerings.
        
           | miohtama wrote:
           | I was working on the mobile web server project. The project
           | was heavily subcontracted to a company in Oulu, Finland,
           | where I worked by the time before starting a career in open
           | source and Python consultancy. Mobile web server was a Series
           | 60 web server, based on Apache, some glue and reverse proxy
           | gateway (written in Java). You could deploy your own "apps"
           | that could be accessed by anyone, running on your mobile
           | phone.
           | 
           | Unfortunely, the project did not have a real business use
           | case. People believed that peer-to-peer is a thing (XMPP,
           | BitTorrent, IRC) and this would drive mobile-to-mobile
           | interactions. Unfortunately, it turned out not to be true.
           | 
           | Later me and my friend ported Python to Series 60 with our
           | own rewrite, as Nokia's official port had many issues.
           | Unfortunately by this time Series 60 was already losing
           | market share for iPhone and Android. Furthermore we found
           | that because of module import delay, Python will never be a
           | good run-time for mobile applications, unless you do some
           | sort of a binary dump/prewarmed up interpreter.
        
             | liuliu wrote:
             | Binary dump / prewarmed up Python interpreter would be
             | amazing even today. Could enable a lot use cases with
             | Python.
        
         | AceJohnny2 wrote:
         | > _The whole thing was a pretty frustrating experience. And we
         | haven 't talked about the libraries, the OS (cooperative multi
         | tasking, everything is a callback) or memory management
         | ('descriptors' that made trivial string operations a pain)._
         | 
         | My understanding, as someone who was peripherally in contact
         | with Symbian in 2007-2011, is that the multitasking concepts
         | were based on the Actor model [1]. This is indeed a kind of
         | callback-based cooperative multi-tasking, but it fits very well
         | in Symbian's tasks-as-C++-objects concept.
         | 
         | C/C++ strings are a nightmare from a memory-management and
         | reliability perspective, so I can't blame them for doing it
         | differently. However their tooling was indeed not up to the
         | challenge.
         | 
         | [1] https://en.wikipedia.org/wiki/Actor_model
        
         | usr1106 wrote:
         | I would claim that something 50% of the application developers
         | writing code for Nokia (internal or contractors) could not
         | handle strings correctly. It was in theory C++ code, but
         | because compilers were not very good at the time when EPOC32
         | was developed and memory was pretty limited there were special
         | implementations to work around all the limitations. Programming
         | was not easy, productivity was low, and buggy application code
         | was the norm.
         | 
         | I vaguely remember in the very late days there might have been
         | some simplifications, but the train had gone already at that
         | time.
        
           | OnlyMortal wrote:
           | Didn't Symbian Ed up using a version of CodeWarrior?
           | Unfortunately, a Windows version of memory serves.
        
             | teknolog wrote:
             | They did for a long time, but they eventually switched to
             | an Eclipse based system. I believe there was a Nokia team
             | in Dallas that built that.
        
               | usr1106 wrote:
               | First it was Visual Studio, second CodeWarrior and then
               | obviously Eclipse (I probably never used the latter,
               | jumped ship a couple of years before the infamous burning
               | platform.) So every 3-5 years they changed the
               | development environment. Can probably also seen as a sign
               | that Symbian development was tedious and not much fun.
        
         | cycomanic wrote:
         | Maybe I'm remembering wrong but didn't the iPhone not have
         | multitasking for apps for a long time as well. I recall that
         | essentially the OS did something like a snapshot of every app
         | when one switched.
        
         | baybal2 wrote:
        
         | pjmlp wrote:
         | I was on the Networks side between 2004 and 20011.
         | 
         | I painfully remember all the hoops that Symbian went through
         | during those years until the last days of Carbide.
         | 
         | Yet, sometimes I still miss it when comparing with NDK
         | development experience on Android.
        
         | marcodiego wrote:
         | > a windows port of the GNU toolchain, so it would only work on
         | windows. But even on windows it had a lot of warts (because
         | these tools were build for unix in the first place, so e.g.
         | drive letters and back slashes were problematic).
         | 
         | About a decade ago I worked on a project for a South Korean
         | cellphone vendor whose name I'll not cite for somewhat obvious
         | reasons. The build system was similar to what you describe: a
         | poor port of unix tools for windows that required windows xp
         | which was already obsolete in 2011. I asked why don't we use
         | linux since the build was probably more adequate for that
         | environment. The answer was something like "because they spent
         | a lot of money and time to make this port so we can use
         | windows." Korea was mostly a windows-only country at the time.
         | They had to change because of android, but for them it seemed
         | already too little too late.
        
           | melony wrote:
           | Is Odin still a thing?
        
             | 3boll wrote:
             | Yep, but a bit out of date...
             | 
             | https://www.odinflash.com/odinchangelog
        
             | marcodiego wrote:
             | I don't know. Last time I re-imaged a Samsung phone, I used
             | Heimdall[1]. It is open source and runs on linux.
             | 
             | [1] https://github.com/Benjamin-Dobell/Heimdall
        
               | heurisko wrote:
               | It works well, compiled and used it last week.
               | 
               | LineageOS said it was out of date, but it worked for me
               | on Ubuntu 22.04.
        
         | sonicggg wrote:
         | Now that nobody cares about this crap anymore, they release the
         | source code.
        
           | distances wrote:
           | Symbian was open sourced in 2010.
           | https://www.wired.com/2010/02/symbian-operating-system-
           | now-o...
        
       | zamalek wrote:
       | Wow. I did a quick random sample of their code and it's _really_
       | clean, which is especially impressive in the bare-metal domain.
        
       | miohtama wrote:
       | Here are the release notes for Symbian kernel
       | 
       | https://github.com/SymbianSource/oss.FCL.sf.os.kernelhwsrv/b...
       | 
       | 1998 - 2010
        
       | HidyBush wrote:
       | If anyone's interested here's [0] a Mediafire archive of Symbian
       | developer sources of all kinds, from compilers and SDKs to
       | manuals.
       | 
       | [0]
       | https://www.mediafire.com/folder/79jhy594xb3uk/Symbian_Devel...
        
         | secondcoming wrote:
         | Don't forget to `abld reallyclean`!
        
         | anta40 wrote:
         | Thanks. I wish I knew about these back to high school days
         | 2001. Instead, I learnt J2ME and.... weill still a Java dev
         | until today :p
        
           | distances wrote:
           | For what it's worth, I took a mobile software dev course in
           | University, and it targeted mainly Symbian. I learned that I
           | definitely do not want to do that. It was a painful
           | experience.
           | 
           | I ended up doing mobile development anyway, but not until Qt
           | was a viable option for Symbian.
        
         | TedDoesntTalk wrote:
         | Any way to get those onto archive.org?
        
         | doppioandante wrote:
         | Thank you, this is _gold_. I have discovered a couple of nokia
         | phones in my drawer and I was wondering how the hell I could
         | develop on them. Since then I have discovered the whole
         | "cooked ROM" scene, which has of course died in the meantime. I
         | hope that archive will answer my questions. Btw, if anyone
         | knows, is a special piece of hardware needed to flash the
         | firmware of a nokia symbian phone?
        
           | secondcoming wrote:
           | Symbian devs had their own flashing stations/cradles but at
           | some point it became possible to flash newer phones over USB.
           | The software tool was called Phoenix and used regularly be
           | leaked.
        
       | cja wrote:
       | Repo seems to contain personal data of employees. I won't post a
       | link to it.
        
       | magicloop wrote:
       | Great to see the code up there on GitHub. So many cogent points
       | made here. It brings it all back to me. What happened there from
       | Symbian to Nokia and then Accenture ought to be taught in MBA
       | programmes as a Greek tragedy.
        
       | antiverse wrote:
       | For anyone wanting to play Nokia N-Gage games (S60? I forget),
       | there is already a lengthy walkthrough and setup of how to
       | emulate the games on Windows that is available on The Internet
       | Archive; complete with a torrent/zip of all the games on the
       | system.
        
         | unlivingthing wrote:
         | Links, please. (:
        
       | networked wrote:
       | No LICENSE files. Is this official or a leak?
        
         | bobajeff wrote:
         | Pretty sure these are from when they open sourced it in an
         | attempt to drive adoption.
        
         | thomasjudge wrote:
         | I just looked at a couple of the files, it looks like license
         | info is inline
        
       | nickdothutton wrote:
       | Fond memories of running my day to day (email, diary, expenses,
       | task management) of a Psion 3a with 3xAA batteries and a
       | modem/cable to my Nokia mobile.
        
       | DeathArrow wrote:
       | My first smartphone was a Nokia running Symbian.
        
       | protomyth wrote:
       | Is it all licensed as Eclipse Public License v1.0?
        
       | substation13 wrote:
       | Anyone else feel sad coming across something like this? So many
       | hours spent for a product that is largely forgotten. Glad to see
       | the pieces out in the open though.
        
         | t_mann wrote:
         | I vaguely recall Symbian being adopted/developed(?) by Nokia.
         | It's incredible how early Symbian was, but what's most
         | remarkable is that it wasn't even Nokia's only shot at a
         | smartphone OS, they also had Maemo.
        
           | FridayoLeary wrote:
           | It's a shame Nokia is now throwing away everything they know
           | about Symbian. The new nokia OS is shockingly crap. Some
           | functions straight out don't work and other functions such as
           | T9 text are awful. It's a shame when you realise that their
           | old Symbian phones work perfectly well and there was no need
           | to change it.
        
             | dancek wrote:
             | The even older DCT3 generation of Nokia phones worked much
             | better than Symbian ever did. Nokia 6210 is still a great
             | phone if you only need to call and receive SMS. But
             | anything with a color display from that era is really
             | showing its age by now.
        
             | distances wrote:
             | Nokia hasn't been making phones for a long time. They
             | license the name for HMD Global and the modern devices have
             | nothing to do with Nokia itself.
        
         | cortesoft wrote:
         | It is the destiny for most code written.
        
           | whartung wrote:
           | Anyone who has been in this business for any length of time
           | will look back at a long legacy of retired, obsolete
           | projects. Very little in this space lasts. The high profile,
           | long lived projects we see are just an tiny fraction of the
           | software that's created, used, forgotten, and deleted.
           | 
           | I like to look back and note some of the companies I helped
           | in that little window of time I could contribute, but those
           | contributions are long gone.
           | 
           | We don't build bridges in this business, thats for sure.
        
             | mulmen wrote:
             | I have friends who ask me how to set their kids on a path
             | to a tech career like mine. I tell them they may not want
             | that at all. This is a good job, _today_. But I don 't
             | think it is so different from building pickup trucks in
             | Detroit in the 1960s. Nothing lasts forever. Including
             | those trucks, and those jobs. We can't know the future,
             | only that change is inevitable.
             | 
             | Software Manufacturing is a term that best captures my
             | impression of the industry today.
        
         | fps_doug wrote:
         | Especially if it's something you used and liked. But yes, I'm a
         | big fan of releasing these things to the public, for archival
         | and for the curious. It's crazy how even big companies lose
         | source code of old software, or at least only have it
         | accessible in a completely chaotic state, with a missing build
         | system, missing instructions, etc. Recent example would be 3D
         | Movie Maker by Microsoft. People got it to compile eventually,
         | but it apparently was a wild undertaking:
         | 
         | https://www.youtube.com/watch?v=gqXTzlDZmhU
         | https://www.youtube.com/watch?v=mjtKHPwTWsc
        
         | danuker wrote:
         | Indeed. Every time someone builds a walled garden, effort is
         | duplicated needlessly, both in building it, and in using it.
        
         | nomoreusernames wrote:
         | im still using workbench.
        
         | atleta wrote:
         | Quite a few of those hours were wasted and contributed to
         | Nokia's demise. They should have switched away from Symbian
         | waaay sooner. I think clinging to it is a classic case of the
         | sunken cost fallacy. By ~2005-2006 it was obvious, at least for
         | some of us, developers, that continuing to invest in Symbian is
         | a huge mistake.
         | 
         | By then, Nokia had been working on a Linux based OS for years.
         | (That would become Meego.) But, if I'm not mistaken, at least a
         | thousand people were working on Symbian and Symbian based
         | products. So switching away from it was simply out of question.
         | It would have been too bold a move. (Especially, since Nokia
         | was dominating the market and these products brought in a very
         | nice profit.)
        
           | kjellsbells wrote:
           | wasnt this pain the premise of the infamous "burning
           | platform" memo [1] and the eventual switch to Windows Phone
           | as an OS?
           | 
           | [1] https://www.alexanderjarvis.com/memo-nokia-ceo-stephen-
           | elops...
        
         | perryizgr8 wrote:
         | Nokia earned billions from this code. I bet those hours were
         | paid back many times over.
        
           | usr1106 wrote:
           | No, they probably didn't earn billions from that code. Their
           | biggest cash cows were feature phones (non-Symbian) that sold
           | 10-50 times as many as Symbian phones and were developed with
           | many times smaller budgets. While some Symbian phones were
           | pretty good for their area, there were probably at least as
           | many failed projects as successful ones.
        
             | perryizgr8 wrote:
             | I don't have any data to back this up, but I think they
             | sold hundreds of millions of high end (and expensive for
             | the time) smartphones running Symbian. Remember the N line?
             | The E line? Communicators? All running Symbian, all
             | bestsellers for years.
        
               | usr1106 wrote:
               | No, I remember attending parties when 1 or 2 millions of
               | a model had been sold. At the same time Nokia sold over
               | 100 million of feature phones a year.
               | 
               | Edit:
               | 
               | As you write they were expensive. So while Nokia was the
               | undisputd leader in the segment for a couple of years the
               | absolute numbers were not that big. I remember some year
               | the worldwide phone market was 400 million a year. Nokia
               | had over 100 million of them, but smart phones (Symbian)
               | only single digit millions.
        
               | perryizgr8 wrote:
               | One model, N95, sold 10 million units. It was priced at
               | around $500. That's 5 billion revenue from one model
               | alone. I'm sure feature phones sold a lot more, but
               | that's irrelevant.
        
               | usr1106 wrote:
               | Yes, 10 millions for the N95 sound possible to me. But
               | that was after 10 years of development with many 1000
               | developers. Revenue is not earnings. The orginal claim
               | was that they earned billions.
        
               | markb139 wrote:
               | Just before the iPhone, I think Nokia were shipping about
               | 70 million Symbian phones a 1/4 and had about 50% of the
               | market profit. Then, it didn't
        
         | [deleted]
        
         | spyremeown wrote:
         | Not really... it had its use. Code vanishes so quickly.
        
         | pavlov wrote:
         | Symbian, the Ozymandias of smartphone operating systems.
         | 
         | They had a lot of the right ideas very early. They started
         | building a high-resolution graphical mobile OS for 32-bit ARM
         | in the mid-1990s, when most phones barely could display two
         | lines of text and receive an SMS. Many concepts in iOS and
         | Android today were pioneered by Symbian.
         | 
         | IMO, the biggest failing of Symbian was to disown the UI and
         | focus on the lower layers of the operating system. Symbian's
         | licensees like Nokia, Motorola and SonyEricsson wanted to
         | control the GUI layer themselves, so they had annoyingly
         | incompatible GUI libraries for Symbian. The platform was
         | already hard to develop for, and then you had multiple vendors
         | piling gunk on top like Nokia's Series 60 which was a terrible
         | piece of work.
         | 
         | In a parellel universe Symbian would have acquired the BeOS
         | team in 2003 and kept them in Silicon Valley, tasked with
         | building a truly excellent mobile GUI on a five-year time
         | horizon independent of Nokia's meddling. A well-designed high-
         | level UI framework in a reasonable language could have made the
         | embedded C++ underpinnings of Symbian mostly irrelevant --
         | basically shipping Android a couple of years before the fact.
        
           | msh wrote:
           | I think as long as it was companies like nokia who liked to
           | create smartphones that where primarily phones with texting
           | first and computers a very distant second Symbian did not
           | have a chance.
           | 
           | I know that they made stuff like the 9x00 communicators but
           | they where never intended as mass market products.
           | 
           | Nokia was never able to craft a desirable product that
           | brought applications to the mainstream user, most people who
           | got their smartphones only used them as phones.
        
             | tuukkah wrote:
             | Third-party apps for Symbian may not have been mainstream,
             | but third-party games definitely were. Even before that,
             | Java ME games were popular on feature phones.
        
           | klaussilveira wrote:
           | TIL: https://en.wikipedia.org/wiki/Ozymandias
        
             | ff317 wrote:
             | Also one of several instances where the Breaking Bad
             | writers put a lot of thought into amazing episode themes
             | and titles:
             | https://en.wikipedia.org/wiki/Ozymandias_(Breaking_Bad)
        
           | orev wrote:
           | Before the iPhone, mobile device companies were held ransom
           | by wireless carriers. Carriers dictated _everything_ about
           | the phones, down the Verizon demanding Bluetooth file
           | transfer was disabled to force people to use data minutes to
           | send pictures.
           | 
           | This is one of the things that I think modern techies have
           | forgotten. No matter what you think of Apple, they were the
           | only ones with enough market power to force carriers out of
           | that position (Apple having been newly minted at the king of
           | digital music) . It's why the iPhone was exclusive to AT&T --
           | because Verizon was the market leader and AT&T _had_ to make
           | the deal to get the iPhone. And Jobs wouldn't make the deal
           | with any carrier that insisted on adding crapware to the
           | phone.
        
             | 8ytecoder wrote:
             | This was true in the US. I don't know about Europe. But it
             | wasn't true anywhere else. Even in the US it was dominated
             | by Motorola (and BB) as a result. Motorola didn't have much
             | success outside of Razr in the rest of the world and Nokia
             | and Sony didn't have much success in the US. So it was
             | really a tale of two worlds. I really liked the Sonys and
             | Nokias of the era.
             | 
             | Symbian didn't screw up the UI and it certainly was "too
             | open". It was so common to have malware and viruses on
             | nokia phones. Bluetooth was scary.
             | 
             | The biggest issue of all was the incompatible app
             | ecosystem. Each phone and OS and sometimes even models were
             | different. Some were Java, others were Symbian and then the
             | whole world of blackberries and windows.
        
               | TedDoesntTalk wrote:
               | > was so common to have malware and viruses on nokia
               | phones
               | 
               | I never experienced that and don't know anyone who did.
               | Was it really a thing?
        
               | miohtama wrote:
               | I don't think this is true. I worked extensively in the
               | mobile industry back in the day and all Nokia apps had
               | more painful signing process than iOS apps have today.
        
               | distances wrote:
               | It was not true in Europe either. You could of course use
               | any device, and in many countries bundling a device with
               | a phone contract was even expressly forbidden. Carriers
               | had no control at all.
               | 
               | Insert the usual disclaimer that Europe has a lot of
               | countries with different legislation, but the carrier
               | stranglehold was a US specific problem.
        
               | pmontra wrote:
               | I've been working for a carrier in Italy in the first
               | half of 2000s. We designed some phones with manufacturers
               | but any phone could work on our network AFAIK. There was
               | not much choice at the beginning because we only had a 3G
               | network and there were very few 3G phones (only one at
               | launch.)
        
       | teknolog wrote:
       | Heh. Worked on that in a previous life.
        
         | crb wrote:
         | 'sup seb
        
       | umarniz wrote:
       | Symbian was the era that trains you to never be afraid of
       | debugging the hardest problems and understand how big of a
       | blessing documentation is.
       | 
       | A few examples of my childhood experiences making a game for
       | Symbian:
       | 
       | 1) Debugging that one problem which would cause the whole OS to
       | crash
       | 
       | The crash log didn't help cause it wouldn't flush the logs to
       | disk in time. My under developed concepts of multi-threading
       | didn't help much either not that I know much more today 10 years
       | later.
       | 
       | 2) Overriding OS memory safety to read accelerometer data from
       | memory in phones that didn't have APIs for it
       | 
       | The patience and creative thinking you learn tackling with such
       | high levels of uncertainty and painful problems is incredible.
       | 
       | I am not aware of how engineers learn engineering (I am self
       | taught) but this kind of patience and endurance does shape a lot
       | of my engineering skills today.
        
         | abcd_f wrote:
         | Earlier Windows versions shipped with the same wonderful
         | developer experience. My favourite was a bool API function
         | returning 2 under certain circumstances that you'd better be
         | aware of.
         | 
         | And by "earlier" I mean from Win 3.1 and up to W8 era or
         | thereabouts, when the documentation finally started to improve.
        
       | grishka wrote:
       | Oh, cool. I remember trying to write native apps for my Nokia
       | 5800 and the SDK being... not very good. Also I lacked experience
       | and a sufficiently powerful computer. Also I don't think the
       | thing was documented much, either that or I didn't know where to
       | look for the docs. And the bizarre class naming scheme. And the
       | bizarre dozen types of strings. And the most bizarre custom error
       | handling mechanism (iirc it was called "leave") instead of C++
       | exceptions.
       | 
       | I do wonder if this code is enough to build a working firmware
       | image for a Nokia phone, but most probably some of the required
       | parts are missing.
        
         | rhubarbtse wrote:
         | It is not, unfortunately. It's missing plenty of proprietary
         | middleware etc that you need to run it on Nokia phones.
         | 
         | IIRC you are supposedly able to build and run this source dump
         | on some BeagleBoard.
         | 
         | I was there, coding multimedia stuff for the last generation of
         | Symbian smartphones. I remember this dump was originally
         | released on Gitorious (later acquired by GitLab) some 10++
         | years ago.
         | 
         | Fun fact: the source was originally supposed to be licensed
         | under a different roll-your-own open source license (I think it
         | was named "Symbian Foundation License" or something like that)
         | but Nokia switched to Eclipse Public License 1.0 before the
         | public release.
        
       | pm2222 wrote:
       | This reminds me of those android tv boxes. Their spec is pretty
       | good to run linux. Is there generic way to convert them to say
       | arch/ubuntu linux?
        
         | deno wrote:
         | I've played some with those and it's not pretty. It's all the
         | pain you get with commercial SBCs except: even less support,
         | much lower quality hardware, and terrible thermal solutions
         | (ventilation holes under the case with no feet and tiny/non-
         | existent heatsinks).
         | 
         | In the end what killed my interest in them is that the cheapest
         | you can get those is like 30 USD and for that price you can
         | also get X86 thin clients that are just better in every single
         | way.
         | 
         | Still, if you want to get your feet wet I suggest you start
         | with RK3318. Those boards are much harder to brick than AmLogic
         | and are the only ones with at least some support from Armbian:
         | https://forum.armbian.com/topic/17597-csc-armbian-for-rk3318...
        
         | zozbot234 wrote:
         | If they can be boot-unlocked and run a custom ROM, you could
         | look into supporting them under postmarketOS. That's the
         | closest we get to a clean Linux install on AOSP-native devices.
        
         | lproven wrote:
         | I think you will need to be specific. Which particular
         | make/model do you have in mind? Have you looked to see if
         | someone's already done it?
        
       | tjstankus wrote:
       | Wow, memory lane here. My first programming job was working on
       | Symbian apps. I think I had a 1MB heap and something like an 8KB
       | stack to work with. Good times!
        
       | kevsim wrote:
       | Spent some time at Nokia when I was fresh out of university. The
       | thrill of getting "hello world" on the screen in Symbian/S60 is
       | not something I'll ever forget. Took ages of battling CodeWarrior
       | and I think even a simple app was something like 6 files, but
       | seeing code I wrote running on a phone in 2004 was pretty
       | awesome.
        
         | ingenieroariel wrote:
         | "Battling CodeWarrior": back when N95 was exciting to mention.
        
         | secondcoming wrote:
         | The moved on from CodeWarrior to Carbide, which was based on
         | Eclipse.
        
       ___________________________________________________________________
       (page generated 2022-05-24 23:00 UTC)