In what seems like several lifetimes ago, the mobile devices market seemed like it would be wide open. Even as the window for platforms that weren’t Android or iOS was closing rapidly, we were all hoping we wouldn’t end up with another duopoly. While there were several contenders – BlackBerryos 10, Windows Phone, to name a few – quite a few more nerdy mobile device users held out hope that instead of neutered, restrictive, and limited operating systems, we’d end up with a true computer in our pocket.
No other device represented this slice of the market better than the Nokia N900.
Like what we do? Become an OSAlert Patreon and support our continued work!
The N900 was the last standard Linux mobile device from Nokia, the last in the line of the N770, N800, and N810 internet communicators. The N900 was the first to include mobile phone functionality, making it the first Linux mobile phone device from Nokia, but not the last – the N950 and N9 would follow, but those were markedly different, more Android and iOS than standard Linux.
The N900 ran Maemo, Nokia’s Linux platform for mobile devices, developed in collaboration with and/or using many popular open source Linux projects, like the Linux kernel (obviously), Debian, Gtk, GNOME, Qt, and more. Maemo’s user interface used the Matchbox window manager, and its application framework was Hildon. Underneath the Gtk+ user interface, Maemo was a remarkably standard Linux distribution, based on Debian, so you had easy access to all the usual Linux and Debian command line tools. It used APT for package management and software installation, BusyBox as the replacement for the GNU Core Utilities, and the X window manager.
Still, despite its heavy focus on open source software, certain parts of the software stack were still closed source, like some code related to power management, as well as certain bits and bobs of the user interface, like a few status applets. This “mostly open source, but with some closed bits and bobs” would be a running theme into the future branches of the platform, like Sailfish and MeeGo.
The hardware of the N900 is a case of throwing everything humanly possible into a single device, but to keep costs down, it mostly consists of cheaper parts. For example, the 800×480 resolution looks crisp on the 3.5″ display, but despite being released almost two years after the iPhone, the touch screen is resistive and requires a stylus. The SoC is a Texas Instruments OMAP3430, with a single core running at 600Mhz, supported by a 430 MHz C64x+ DSP and a PowerVR SGX530 GPU. You’ve got 256MB of RAM, 256MB of NAND flash, and 32GB of eMMC flash.
The star of the show, of course, is the slide-out keyboard. It’s a full QWERTY keyboard that’s reasonably comfortable to type on considering its small size, and anyone who has ever used a Symbian device with a keyboard will feel right at home. It’s got a little kick stand, stereo speakers, and TV-out functionality through a special dongle and cable. Seeing Maemo 5 output to a giant 55″ 4K TV is a special kind of entertaining. Add to this the various standard things like WiFi, Bluetooth, a headphone jack, removable battery, rear and front camera, a dedicated camera button, and probably a few other features I’m forgetting.
The N900 comes packed.
Users of the N900 when it was new were a special kind of people. One of them was my brother – he was a die-hard N900 user for many years, so much so he bought a spare N900 in case his main one died. It wasn’t until the N900 really couldn’t keep up with modernity anymore – well past that point, honestly, but let’s not hurt his feelings – that he begrudgingly decided to switch over to an Android phone. He gifted one N900 to me for my collection.
The N900 is a special kind of device that, while a footnote in mobile history, holds a special place in the hearts of a dedicated group of users who nobody is serving any more. These people wanted a proper mini-computer in their pocket, preferably running Linux, and the N900 was the only device that properly fit that niche. Its sort-of successors – the N9 and Jolla Phone, which I both have as well – simply do not fill that niche and do not scratch that itch.
Today, most N900 users have probably migrated on to Android (and a few stragglers to Sailfish, I’m guessing), leaving behind the standard, regular Linux installation for the bastardised, weird Linux offshoot from Google. While you can install BusyBox on Android and unlock the bootloader and sort-of create an approximation of a standard Linux computer in your pocket – without the keyboard, without the more standard stacks and toolchains, it’s just not the same.
There is still some hope for fans of the N900 – and other people who want a true Linux computer in their pocket – since there are two companies that sort-of cater to this niche. First, there’s F(x)tec, which probably comes closest with its line of smartphones with a slide-out keyboard. They currently offer a very cool device up for pre-order that’s capable of running Android, Sailfish, Ubuntu Touch, and standard ARM Linux distributions as well. I’ve been trying to get into touch with them for a review unit, but they have not responded (we’re small, after all).
Another option that requires a bit more squinting are some of the very tiny laptops made by GPD – such as the GPD Pocket 2 and similar devices they make. They’re not quite the same as the F(x)tec or N900, but you can get quite close. GPD, too, has not responded to review requests, but again – we’re small, and if you can send stuff to outlets like Linus Tech Tips, OSAlert simply isn’t on your radar.
I’m genuinely sad that the N-line was yet another victim of Nokia’s endless mismanagement, since the N900 is simply a unique, one-of-a-kind device in a category virtually nobody even dares tip their toes in. I was never anywhere near the kind of hardcore user my brother was – I only used it as my main device for a few weeks, years ago – but I’ve seen the kind of loyalty it inspired, and that, in turn, was truly inspiring.
Despite its age, the N900’s story isn’t actually over. The community has stepped up and is developing an updated version of Maemo, called Leste. The last release stems from December 2020, and if there’s enough interest, I’ll see if I can get it running for a short review.
Another option soon to be available is the DragonBox Pyra (which currently has preorder units going out, IIRC).
https://pyra-handheld.com/
It’s designed to run Debian with a supplementary repo, spec’d to offer a version with 4G support, and designed to be an ARM-based competitor to (and software-compatible successor to a precursor of) GPD’s gaming palmtops.
(And EvilDragon (the guy who runs DragonBox) is very liberal and detailed with the development status updates on the forums.)
Planet Computers in the UK also produce a couple of modern-take-on-psion PDAS, named Gemini and Cosmo, with a mechanical keyboard and optional debian OS.
The Gemini is deceptively useful, other then no back-light for the keyboard. Renders it annoying in the places you are most likely to be using as diminutive device. Still using Android, with Termux.
They have the Astro Slide in the making which is expected to ship this year in June, which looks really promising.
I still have mine like a treasure. I still miss it.
I wish I had kept both of mine. I got the first one soon after launch and at that time Android was in its infancy and nigh unusable for any serious work. I used it successfully for a couple of years before giving it up for an iPhone after the WiFi module started flaking out, and I sold it for parts on eBay. Then back in 2013 I wanted to see how it would fare as a daily driver again, so I found a listing for a new sealed unit cheap on eBay and gave it a go. It was, of course, far behind the times at that point but it was still fairly serviceable as a daily phone provided one didn’t need iOS or Android specific apps. Unfortunately by then I had come to rely on certain such apps for work, so I had no real use for it and sold it a few months later.
Fast forward to a few months ago when I started working on an idea for a handheld Linux machine based on a Raspberry Pi Zero, with a 3D printed case and a Bluetooth mobile-style keyboard, and I started thinking “hey I’m just trying to recreate the N900 at this point!” and stalled. Seeing this article makes me want to continue the project (I just need to refine the case design and print it, and I’m there).
My dad had the precursor this, the N800. It didn’t have the keyboard, but used the same Maemo system, which wasn’t really a phone. This must’ve been 2007/2008 time frame. It was a really nice system, for the time. There were some kinks, but it definitely performed better than the Windows CE tablet that my dad had bought a few years earlier.
Alas, the screen died a few years later and it became unusable. Nokia had already abandoned the Maemo system when it happened, so I did not see any reason to try to fix it.
Haven’t read the entire post, but the N9 was still very much a Linux phone end to end, they just slapped on what was essentially an early version of the Gnome Shell. Though the n900 is basically the inspiration for gnome shell.
N9 was a brilliant phone, and MeeGo was going to be epic, if Nokia could have decided on a platform instead of fighting within itself. If they released a new N900 style phone I would switch in a heart beat!
Pretty sure the N9 had a Qt-based user interface. It was part of Nokia’s whole plan for a Qt-based future. When it flopped, they sold Qt to Digia.
While many will believe that the iPhone heralded in the age of modern smart devices; I actually think it was the beginning of the end.
It drew users in with all it’s technical berries whilst in the technology sector was only cementing in the rentseeking/walled environment that the rest of the mobile sector was forced to conform to to catch up.
It put an end to the kind of future that the N900 might have eventually evolved to, and in place gave us lockdown.
It would be like as if Facebook and Google were around in the early days of the internet. It would never have evolved the way it did.
As another side-note; Thom you reference time only very vaguely in the article – it’s a nice read but it would be nice to have some actual years to place the products you mention in history properly.
jmorgannz,
I agree. It is so important to open our eyes to the importance of open technology. We should not try to stop the evolution of technology, which is inevitable, but we should do everything we possibly can to make sure open platforms don’t loose to proprietary vender restricted platforms. I’m afraid today’s tech companies are exploiting social ignorance of the dangers of unchecked corporate power. It creates a positive feedback loop that’s much easier to avoid than to fix once it’s broken. Queue the parallels to greenhouse warming and government debt…short term thinkers are dooming society’s fate
I agree. It seems to me, however, that so many open technology developers and/or advocates make the 80/20 mistake. They go the 80% of implementing the technical bits of the system, often far better than anything else. But the 20% which goes into polishing and user experience… well, it’s generally ignored completely. Unfortunately, I’d say at least 90% of users really only care about that 20% part. Open or closed, technically superior or inferior doesn’t matter to them.
Bottom line, you want open technology to take the world by storm? Make the user experience better, not just the technology itself. Go that extra mile.
Yep, an example of the Chinese completely obliterating the competition with that 20% is DJI drones… literally every feature you can think of and many you handn’t they have crammed into thier drones… if you compare with what is available in open source its sad…
US companies end up regulating themselves to niche markets not because competing is impossible but they are afraid to… so choose to loose by default.
Apple, Tesla, NVIDIA, AMD, Intel, Qualcomm, Google, Facebook, Microsoft, IBM, Cisco, Oracle… all great examples of companies reduced to tiny niche markets and terrified of competition. Them US companies are doomed doomed!
I’m confused. What does Chinese vs U.S companies have to do with the lack of user polish of open source solutions? Sorry, but the connection does not seem apparent.
When the hammer was first introduced, very few people knew how to make hammers, a few more figured out how to use the hammer. Some of those would be obsessed with the hammer, endless discussions about the best shade of wood for the handle, what’s the best material for the head. Should the head be round or square? Then there were the purity debates between wether a hammer with a declawer is a real hammer. Then there were the hammer collectors, people who fetishized the hammer in all its shapes and forms. Then there were those who claimed a home made hammer is much better than those mass produced hammers. Endless debates were also conducted on how the newer generation of hammers were just too light and easy to handle, and thus not real hammers like back in the old days when you needed 2 hands to hold a hammer.
Then one day these hammer aficionados realized non-hammers were buying hammers. But they were doing strange things with them, stuff like using the hammer to nail things. These people didn’t care about the hammer, they only cared about building stuff with it.
Suddenly strange things like tables, chairs, and even houses started to pop everywhere, and most people seemed to be more engaged with the stuff that the hammer helped them build than with the hammers. And the hammer geeks looked in disbelief…
A nicely written allegory The world needs both hammer aficionados and people who just use hammers to build wonderful things. If we had only one or the other we’d be like Golgafrincham’s without telephone sanitisers.
Of course we need voth: people who make the hammers and others who make stuff with the hammers. Those who do neither and just talk endlessly about the hammer however…
Both… lol
javiercero1,
Word has it the voth may have originated here on earth, and had notable accomplishments even beyond the hammer.
https://memory-alpha.fandom.com/wiki/Voth
Then there were those who specifically sought out meeting places of those who like to discuss hammers, and then became strangely surprised by the fact that those who they met had more passion for the hammer than the wonders produced by a hammer well wrought.
Maemo Leste looks interesting at first. But then you see that they’re using Devuan as base system.
My n900 will stay in a drawer a bit longer, then.
Don’t know what is wrong with Devuan. If you have a working Debian system that depends on inittab, you have two options: or you re-architect it around systemd or you simply “update” to Devuan.
If there is no tangible benefit by changing to systemd in your system, it may be wiser to use those working hours fixing existing issues.
IMHO it is better having a stable system using old tech that a cutting-edge system with unresolved issues, and trying to be always at the forefront of technology may distract you of your goal: having something that works. That is what made me use Debian for servers and embedded systems… if not I would be using arch for them and not only for desktops!
Agreed, systemd will have its place once it’s mature and the developers forego the “move fast and break things, damn the consequences and screw the userbase” attitude they currently ship with. Until then I’ll stick to stable, reliable, time-tested solutions for bringing up an OS and managing it. The last thing one needs to see when rebooting a mobile device is a systemd hang that lasts five minutes. At that point you may as well be running Windows on it.
I’d consider that a massive pro. systemd is still some of the worst trash to make the rounds in the *nix world in the past 20 years right up there with implementing objects in C and passing it around as void for bad design.
It completely ignores KISS philosophy… and interoperability. It’s like an answer to the question how can I make this suck as much as possible while still releasing source code.
cb88,
I’ve said this too. Systemd goes against the unix philosophy of having simple tools that do one job well. And I say this as someone who does not like sysv init and felt that it needed to be replaced with something more reliable and less clunky. Systemd might have been a great unintrusive init system if it had focused on one thing and doing it well.
“We view the universe as one thing.” – Lennart
Alfman,
I will have to disagree on the systemd. To be fair, I too was initially opposed to the idea, and still not as proficient with the new system as I was with init.d. However it solved several practical issues that no other system came close.
First, there were as many “distributions” as Linux installations. Every custom script here and there broke eventually, and it was not an easy task for package / distribution maintainers.
Second, and more importantly, computers were no longer “static”. With wireless networks, roaming, vpns, USB docking stations, multiple displays, multiple GPUs, etc, it has become very difficult to manage sanity.
And finally, cloud happened. With native cgroups support, it was much easier to manage Linux services (I think they are no longer called daemons anymore, which is a loss). httpd needs a restart? just shut down the cgroup, and it is ensured that no artifacts remain. You also get free security.
Overall systemd is not very *unix like*, it is not even the best solution, but it was the only working solution.
sukru,
To be clear, I’m not opposed to the idea at all, it’s merely the implementation that I’m opposed to. As cb88 mentioned they threw KISS under the bus and ended up with tight coupling that makes life harder for those who prefer alternatives.
I need to be clear, I was never a fan of sysv init scripts, I fully accept we can do better than sysv scripts, My own distro does not use them! My gripes with systemd have more to do with the fact that they throw away unix traditions. Like binary logs…nobody asked for that, we didn’t need it, yet now systemd ropes that in.
Things wouldn’t have been so bad if we could have ended up with a simple portable init system, but systemd fell short. Granted, this probably was never their goal, but for the sake of unix, it should have been!
I’m ok with cgroups actually. I think lxc did a good job of using them before systemd. But when systemd came around it broke a lot of the tools we were using.
https://wiki.debian.org/LXC#Incompatibility_with_systemd
These sort of problems create friction with long time unix admins. Yet for better or worse systemd devs didn’t give a crap about anybody else. Admittedly most of these episodes are behind us now, but to be perfectly honest I’ve lost respect for developers like Lennart Poettering on account of his carelessness and detrimental nature, which IMHO harms linux’s reputation. It really didn’t have to be this way.
Anyways, that’s just my 2 cents, it is what it is.
Alfman,
Yes, they were very heavy handed in their approach. And they did the first choice that came to mind. (Cannot handle all the log types? Just make them binary).
They not only broke LXC, but they also broke lots of HOWTOs, years of knowhow built by sysadmins, and many custom scripts.
At the end of the day, I could not even manually set up ethernet devices on Ubuntu without going into the GUI tools anymore. (All my knowledge was obsolete, all the guides I found referred to older versions of config files).
Well SystemD is mainly a Linux thing, which is not Unix.
javiercero1,
But that’s exactly the point. Sysvinit was not a great standard in my opinion, but a standard nevertheless. Systemd missed the opportunity to create a much better portable standard. Its regrettable because now it’s harder to make software portable.
But I think there is where the disconnect lies. Linux is not Unix, and people keep expecting it to be one. SystemD comes from a “modern” (monolithic close to the kernel) approach to service management that has more to do with Windows than traditional Unix. It was not intended to be a generalized portable standard, but rather a specific standard for linux.
I understand it makes some software less portable because a lot of other projects are starting to depend on hooks with SystemD.
javiercero1,
From my point of view, this is worse. A linux specific init system was neither necessary nor ultimately beneficial IMHO. Lots of us feel the whole thing could have been handled better.
Yeah pretty much. I don’t work for redhat, so there’s not much I can really do about it, haha.
There was a need for a new init system. Specially for the datacenter and embedded folk, e.g. traditional Unix init approach does not give a lot of information about the services themselves, and it’s more convenient to have a single service manager to query.
IMO. A lot of people that have such attachment to *nix, should just use FreeBSD instead of linux.
javiercero1,
The goto argument in defense of systemd always follows the same “There was a need for a new init system” theme, which I’ve always maintained myself. But surely you can understand why systemd is being criticized on it’s own merits. It failed to advance portable standards. It fails the longstanding KISS principal for software development. High coupling creates undesirable consequences and decreases portability, etc.
I hear that, but I’m not sure that you appreciate the irony here. I don’t think that linux is better than freebsd, if anything the development process is arguably more reckless, but for better or worse linux is the monopoly of unix. When linux developers push linux specific standards, this can really harm alternative platforms like BSD, which end up suffering from portability issues and being less viable for many.
I have no proof, but I’m partly suspicious that Pottering’s controversial work at redhat wasn’t accidental at all. Unnecessarily high coupling and low portability may have been intentionally planned goals to increase their corporate sphere of influence at the expense of others in the community. It saddens me if this is the case, but these kinds of power plays are a fact of life and linux isn’t immune from it.
SystemD is a Linux thing, so it doesn’t affect any *nix. J.
C++ and Objective-C implement objects just fine. I’ll take Stroustrup’s ideas on computer languages over any rando nobody anytime.
Nothing is stopping you from just using FreeBSD an using /etc/rc.conf if having a simple and limited init system is somehow a priority in your life.
It’s fascinating how people establish emotional and qualitative connections with something as impersonal as the booting process of an operating system.
FWIW Just about every commercial *nix (AIX, HP/UX, Irix, etc) ended up with their own extended booting infrastructure. Mainly to meet enterprise production requirements, which is one of the main reasons behind SystemD
I LOVED my N900 it was a fantastic phone and one of the true first Linux phones which is still somewhat of a dream today, the hardware was fantastic also, Nokia ruined themselves by selling out to Microsoft one of the worst decisions in history. Nokia maps were so far ahead of their time, I used to have the whole of Europe downloaded on my phone when I used to drive between the UK & Germany.
It wasn’t without it’s flaws, I remember a time where I left my phone on my desk whilst in a meeting, it had a unfortunate bug where if a call came in it would just resume music playing (even if it was stopped) so my colleagues were treated to some rock music blaring out of my phone for 15 mins
The more things change, the more they stay the same. My 2020 iPhone SE has the exact same annoying “feature”. I’ve learned not to leave my phone at my desk without exiting the music app first, which is such a hassle I’ve pretty much stopped using it for music at work and I’ve gone back to playing Youtube mixes on the computer.
I still think the N9 was the apex of design. A fully gesture based interface and the most beautiful body ever designed to this day. I really hate Stephen Elop for what he did to Nokia, and Microsoft for Windows Phone.
So many mistakes and mismanagement because of arrogance and blindness.
The phone I always wanted. At the price I would not pay.
90% of that being it’s inevitable demise and the ultimate requirement to move anyway. I stuck on windows mobile until they runined it with 7!, then jumped to android in a moany ok I guess this does enough and should last as a platform, sort of way.
I guess I wanted it in the same way I wanted a Toshiba Libretto.
This runs too close to home. I had previously bought the N800 (for more than $350 as a student, which was a lot of money back then), and given Nokia’s terrible support for that device, I later opted for HTC HD2, which was a more open device.
The reason I chose N800 over all other devices, especially Windows CE back in the day, was I wanted to use Linux. However very early, I realized Linux was only a tool for Nokia, and the device was more of a toy, not something they really wanted to invest in. The software and hardware had so many issues, it would take a long while to list them here. But the real letdown was immediate dropping of all support as soon as the N810 (the successor) was announced. No more OS updates, no new apps, and since there were lots of binary blobs, even open source community did have little success. (Did I say hardware had issues, too?)
N810 was similarly dropped for N900, which also received minimal updates, and N900 did not fare any better. During these the Linux brand Tablet OS was replaced by Maemo; which was dropped for MeeGo, which was later dropped for Tizen and Mer/Sailfish. Yes there was almost as many fragmented Linux distributions as individual hardware devices for Nokia and their partners.
(I should have learned my lesson after Sharp Zaurus. At least they *tried* to support the device).
Compared that to the HTC HD2, albeit being a Windows Mobile phone, had an unlocked bootloader, can be upgraded to WIndows 7 (with a hack), had CyanagenMod for Android (which I actually used daily), and even some experimental ones
The result: No more Nokia phones for me, except for short term throwaway ones.
Okay, this reads too much like a rant. Apparently I still have gripes more than 10 years after being let down by Nokia.
I loved the n900 except for one small detail that was an absolute deal breaker at the time for me: The resistive screen. I hate them with a passion. At the time there were plenty of strange people here that swore that good resistive screens were superior and would replace capacitive. I would have bought one if not for that.
Yeah it wasn’t that bad though, and finger input actually was acceptable if inferior to capacitive.
Yeah if touching a touch screen wasn’t something that I did a great deal I could have lived with it. Its like getting an opportunity to purchase a bottle of the worlds best scotch, but hey you have to drink it through a peppermint candy cane straw. Bleck. No thanks. I’m sure its very good peppermint, but the interface ruins the enjoyment of the contents for me.
It’s really sad that Opera is no more, it was the best browser on the N800, and probably the N810 and N900 as well. I’m still convinced that it is probably the peak of browsers, everything thereafter has mostly been attempting to fix the unfixable instead of just shaming developers into using the right tools for the job (javascript performance).
When you say “Opera is no more” do you mean a particular version? Both the company, and browser, are still very much a thing: https://www.opera.com/
flypig,
Last I heard it became a wrapper for webkit. Cue the semantic debate over what constitutes an independent browser
https://www.sitepoint.com/opera-switches-to-webkit-rendering-engine/
Several years ago I recall opera got around the apple’s IOS browser restrictions by rendering webpages on a remote server, but I believe this has been discontinued as well.
https://cupertinotimes.com/use-opera-mini-9-ios-get-around-censored-blocked-video-websites/
https://en.wikipedia.org/wiki/Opera_Mini
Does anything remain of the original browser?
I’m no longer an Opera user myself, but I assume the thing that remains is the nice shell and a focus on innovative features. This is reminiscent of the “hammersmith, hammerer” discussion above. I’m very much in favour of more software implementation diversity built on top of open standards (i.e. more browser rendering engines, not fewer). But this is a view concerning the ecosystem rather than the functionality of a specific browser. I suppose for most people the rendering engine is of little interest or consequence, as long as it works well.
Perhaps I fell into this trap
Strictly speaking, a wrapper around blink (lead by Google), not webkit (lead by Apple)
“the touch screen is resistive and requires a stylus.”
wasn’t this because the iphone couldn’t be operated with mittens in cold Scandinavia ?
Or am I remembering something wrong here ?
I think its basically because they weren’t spending that much money on the development of the phone. It was heavily outsourced and kind of an orphan without many advocates within the company. It wasn’t their symbian based os that was still printing money for them.
Nokia spend so much time on it, changing direction as well if I remember correctly, their time to market for these Nokia products was a mess.
No mention of Purism Librem 5 ?
It’s a good concept but the company behind it is shady as hell and I question that they were ever in it for the FOSS aspect. I’d much rather put money into something like the PinePhone and PineTab, fully open source from the board design on up. Yes, I know the modem baseband is closed but that’s impossible for any mobile device maker to avoid until the carriers start allowing fully open source baseband connections to their networks. At least the Pine64 folks have the guts to admit it and give the user the option to disable it, rather than lying about it and doubling down on their lies like Purism did with the IME fiasco.