Since Purism announced the crowdfunding for its new Linux phone, the Librem 5, on August 24, 2017, it has been heavily criticized by the Linux community for deciding to create a new mobile desktop environment (DE) based on GTK and the GNOME ecosystem. It dubbed its new interface “Phosh,” which is a portmanteau from “phone shell”. Despite all the criticisms that Purism has received, I believe that the Phosh DE is likely to become the most popular user interface for Linux phones and will play a crucial role in helping to establish mobile Linux as a viable alternative to the Android and iOS duopoly.
There were already many existing mobile desktop environments (DE’s) that Purism could have selected when it announced the crowdfunding for the Librem 5 on August 24, 2017. There have been over a dozen mobile Linux DE’s created since the first two Linux phones, the Motorola A760 and the Yopy YP3500, were released in February 2003. Purism could have selected from many mobile interfaces, including Sailfish OS’s Silica, Firefox OS’s Gaia, KDE’s Plasma Mobile, UBports’ Ubuntu Touch, Maemo Leste’s Hildon, LuneOS’s Luna Next and Nemo Mobile’s Glacier UI. Many in the community felt Purism was wasting resources and causing needless delays by creating yet another mobile interface.
Most of the available mobile Linux desktop environments (DE’s) had serious limitations that would have prevented Purism from using them. Many of these DE’s are either based on siloed codebases which would have required a huge commitment on Purism’s part to help maintain them in the future or they are based on outdated frameworks and libraries and it would have required a huge amount of labor to update them to use new frameworks and libraries.
It is worth going through the limitations and challenges of each of the available mobile DE’s to better understand why Purism decided to not use them:
- Sailfish OS, which is based on Qt5, QML, Quick and the Mer Project, has an excellent swipe-based Lipstick + Silica interface, a well-developed set of apps, and the ability to run Android apps. Unfortunately Silica is proprietary and Sailfish OS has incorporated other proprietary bits as well. Purism probably could have licensed the use of Silica from Jolla, but one of the goals of Purism was to create a phone that runs on 100% free software and gets the FSF’s Respects Your Freedom certification.
- Maemo Leste is a project to update the old Maemo 5 codebase by basing it on Devuan Beowulf. Its Hildon interface is very dated technology based on GTK 2 and its developer community is tiny. Although the project has managed to replace all the proprietary bits in Maemo 5, it still would require quite a bit of work to make it usable for the Librem 5, and even more work on Purism’s part to update it to use GTK 3.
- LuneOS is based on Qt5, QML and Halium, and it is developed by a tiny community of volunteers who took the code from HP when it open sourced webOS in August 2012. Although LuneOS is a complete system, there are very few volunteers in the LuneOS community, and it would require a huge amount of work on Purism’s part to help maintain LuneOS’s large codebase.
- Nemo Mobile is based on Qt5, QML and HTML5 and is built on top of the Mer Project. The project is creating a swipe-based FOSS interface named Glacier UI, which is similar to Sailfish OS’s proprietary Silica. Glacier is still not complete and getting Nemo Mobile to a usable state for the Librem 5 probably would have required as much work on Purism’s part as creating Phosh.
- UBports’ Ubuntu Touch is based on Qt5, QML, Quick 2, and Halium and it is a huge codebase that Canonical stopped developing in April 2017 and turned over to the volunteers at UBports. It uses some tech originally developed a decade ago for Meego, such as the oFono telephony stack, accounts-sso for single sign-on, and Maliit for input. It implements convergence by using the Mir display server, which is still maintained by Canonical, and Unity 8, which Canonical abandoned in favor of standard Wayland and GNOME Shell. Ubuntu Touch’s native apps use QML and HTML and are available in its OpenStore, plus standard Linux desktop applications can be run inside Libertine containers, and Android apps can be run inside Anbox.
- KDE’s Plasma Mobile is based on Qt5, QML, Quick, KDE Framework 5, KWin, the Kirigami convergent framework and Halium. It can run Qt, QML and GTK apps, and most Linux desktop software can be installed.
Out of the list of available mobile DE’s, the one that was best developed and best fit Purism’s needs for the Librem 5 was Ubuntu Touch, which Canonical had been developing since 2011. Ubuntu Touch has good app store in its OpenStore and its software covers most of the basic uses of a smartphone user, plus it has the ability to run all the standard Linux software in Libertine containers, which is one of Purism goals with the Librem 5. Another of Purism’s goals is to provide better privacy and security. Although Canonical has made some questionable decisions regarding user privacy in the past, UBport’s Ubuntu Touch does not rely on any of Google’s Web Services or share user data. It has an excellent security model based on sandboxing apps according to their AppArmor config file to specified directories and hardware access has to be authorized by the user or AppArmor. It also provides Unity 8 (which was recently renamed as Lomiri) for the convergent desktop, which was another of Purism’s goals for the Librem 5.
While Ubuntu Touch checked many of the boxes for what Purism wanted in a Linux phone (user friendly interface, good app store, privacy, security and convergent PC desktop), Purism never seriously considered it. I suspect that Purism’s biggest concern was that Ubuntu Touch and Lomiri (i.e. Unity 8) is a big stack of siloed software that would not be properly maintained after Canonical turned the code over to a tiny group of volunteers at UBports. It would be a huge commitment for Purism to help UBports to maintain that huge codebase. In August 2017 when Purism announced the Librem 5 crowdfunding, Purism had little assurance that Canonical would continue to develop the Mir display server, on which Ubuntu Touch and Lomiri depend. It was much safer for Purism to base its phone on the standard Wayland display server and do desktop convergence based on GNOME or KDE, rather than rely on the siloed codebase developed by Canonical.
Looking back over the last 3 years, we can see that UBports has managed to keep alive Ubuntu Touch and Lomiri, but there have been problems that show the risks of Purism tying its future to UBports. The UBports community has plenty of volunteers to do things like testing Ubuntu Touch on 41 different devices, but it only has a handful of dedicated volunteers who are willing to do maintenance on the core. The project is still using Qt 5.9 which was released in May 2017, when Canonical was still updating the code, and the UBports volunteers are still trying to update Qt despite the fact that Qt 5.9 support expired on 2020-05-31.
The collaboration between Purism and UBports to port Ubuntu Touch to the Librem 5, which was announced in April 2018, shows how short handed the project has been in terms of volunteer labor. Purism has done a poor job of collaborating with UBports. Purism sent out out Librem 5 DevKits in early 2019 to the GNOME and KDE communities, but UBports didn’t get two DevKits until mid-July 2019 due to poor communication between the two groups. When they were received, UBport’s Florian Leeber commented that UBports had a “small team”, so they would prioritize porting to the PinePhone first, before working on the Librem 5:
We are a small team now and it took a long time for these DevKits to arrive in our place, and currently we have assigned the resources in a little bit different way,
so we will not immediately jump on the Librem boards and start working with them, because there is already a lot of progress in the Pine64 kits, and basically it is a similar thing, so when we have finished a few things for Pine64, and those things can be taken over to the Purism DevKit, and it should work out nicely more or less.
UBports reported in October 2019 that it had managed to get a basic Ubuntu Touch image running on the Librem 5 DevKit, but wrote that “we can not commit to more development on the platform until we have a final device.”
When Purism sent an email to its contact at UBports to get the Birch batch of the Librem, the contact didn’t respond because he had left the UBports project. Purism was finally able to deliver a Librem 5 to UBports at FOSDEM on February 1-2, 2020. Purism employee Sebastian Krzyszkowiak commented on Reddit:
We tried to get [the Librem 5] to them much earlier, but weren’t getting any reply when trying to contact them (turned out that our point of contact wasn’t active at UBports anymore and mails were effectively going into /dev/null…).
Also, they had devkits for a while as well, and when it comes to software support they’re very similar (if your OS works on the devkit, all you need is some finishing touches to make it work on the phone as well).
UBports has done very little work on the Librem 5 so far. There are only 5 commits in its codebase related to the “Librem”, and the last one was on Nov. 3, 2019. The UBports community decided to prioritize porting to the PinePhone and PineTab over the Librem 5. This was an understandable decision considering that the PinePhone reached mass production earlier than the Librem 5, and PINE64 is paying UBports $10 for each device it sells with Ubuntu Touch preinstalled. UBports earned between $40k and $45k on the sale of the PinePhone Community Edition: UBports, and can expect a comparable sum from the sale of the upcoming PineTab.
The volunteers at UBports have made heroic efforts to maintain Ubuntu Touch and Lomiri (i.e. Unity 8) and work on the PinePhone and PineTab for PINE64, but the project is short handed and the volunteers have limited time to dedicate to the work. There are only 9 users registered to make commits to the UBports’ project on Github. There have only been 29 commits to the Ubuntu Touch project since UBports took over in May 2017 and only only one of those happened in the last year.
The lack of code commits by the UBports community shows the difficulty of maintaining a complex code base after it has been abandoned by a commercial company. The volunteers at UBports didn’t develop the code, and they don’t have nearly as deep knowledge of the code as Canonical which developed it. There aren’t people working on each component or app in the system who are invested in its maintenance and can be counted on to keep updating the code over time, like at KDE and GNOME.
The only mobile interface that Purism seriously considered using was KDE Plasma Mobile. KDE’s mobile interface had a lot to recommend it. It is based on the Qt5 toolkit with components such as QML and Quick, which are well designed for mobile devices and adaptive interfaces that can adjust to any sized screen. All the active mobile DE’s have chosen to use Qt5 (except for the outdated Hildon in Maemo Leste), because it has much better support for mobile devices than the other programming toolkits (GTK, FLTK, EFL and SDL). Plasma Mobile is being actively developed with 19 commits in just the last 24 hours and there are developers responsible for each component and app who are committed to their maintenance. Its Kirigami framework allows for the creation of adaptive apps that can work on any size screen.
According to Purism’s former CTO, Zlatan Todoric, CEO Todd Weaver was originally in favor of using Plasma Mobile in the Librem 5, but then decided that it would be better to create a new mobile DE based on GTK and the GNOME ecosystem. This decision appeared capricious and a classic example of NIH (not invented here) syndrome to many in the Linux community, but there were actually good strategic reasons for Purism create Phosh, rather than adopt the existing Plasma Mobile.
Unlike Ubuntu Touch, LuneOS and Firefox OS, which are relatively complete systems that just lack maintenance, KDE Plasma Mobile still requires a lot of initial development. If Purism had used Plasma Mobile, it would have needed to invest a lot of time and resources into making it a usable system for the Librem 5. Although Plasma Mobile started its development in July 2015, its roadmap in September 2017 showed it as having finished the prototyping phase, but not yet ready for feature phones and basic smartphones. It would have been less work to use Plasma Mobile than creating Phosh and adapting existing GTK/GNOME software, but using Plasma Mobile still would have represented a sizable investment on Purism’s part.
One major problem with using KDE Plasma Mobile is that Purism has been developing its own distro, PureOS, since late 2014 based on GTK and the GNOME Shell. Purism was faced with the difficult choice of:
- Maintaining both its existing GNOME system for the desktop and adding a KDE system for mobile, so it had double the maintenance work in the future,
- Throwing away all its previous work in GNOME and switching to KDE on both the desktop and mobile, which would have annoyed its existing desktop users.
- Keeping its exist GNOME desktop and creating a new interface for mobile that uses the same software stack as the desktop, which would reduce long-term maintenance costs.
Switching over to KDE on the desktop or maintaining two separate systems were not attractive options for Purism and bore significant costs for the company. In the initial crowdfunding page for the Librem 5 in August 2017, Purism said:
We are leaning towards GNOME/GTK for the middleware, due to PureOS being GNOME based and our great experience with working with GNOME as an upstream as well as GNOMEs OS and design-centric development model, we will also test and support KDE and the KDE community, and of course we will support Qt for application development. We will continue to test GNOME and Plasma, and should have a final direction within a month after funding success, whatever is chosen Purism will be working with both communities in an upstream first fashion.
Purism never clarified why it ultimately decided to create the new Phosh interface based on GTK and the GNOME ecosystem, but the following goals that Purism laid out for the Librem 5 in the following months were better fulfilled by Phosh, rather than using one of the existing mobile DE’s:
- Ability to “run most GNU+Linux distributions“,
- Convergence to be able to use the phone as a desktop PC,
- Lifetime software updates and fighting planned obsolescence,
- First phone to obtain the Free Software Foundation’s Respect Your Freedom certification for using 100% free software.
The initial crowdfunding page emphasized that the Librem 5 would be able to run on most existing desktop Linux distributions, including Debian, Ubuntu, SUSE, Fedora, Arch Linux and Subgraph.
The problem was that all the existing mobile Linux DE’s were based on distinct mobile stacks that would be difficult to integrate into a desktop Linux stack. The Mer Project, which took over all the FOSS parts from Nokia and Intel’s abandoned Meego, is the mobile stack used by Sailfish OS and Nemo Mobile. The Halium mobile stack, which is used by Ubuntu Touch, KDE Plasma Mobile and LuneOS, also has many pieces not found in the standard desktop Linux.
Although taking one of the existing mobile stacks would have been the easier and quicker route to produce a new Linux phone, Purism wanted to create the first phone that can run the same stack on both the desktop and mobile, not only because it would be easier to maintain in the future, but it can also be easily adopted by other desktop distros. The original Librem 5 crowdfunding page from August 2017 explained:
Why don’t you build a free UI ontop of Mer (Sailfish OS)? Or resurrect Firefox OS? Or insert-name-here?
Because we want to promote a pure and unified stack, not have a separate mobile OS with proprietary bits or a completely different middleware stack. We want to support the community efforts of GNOME (as well as KDE) and allow for any GNU+Linux to work out-of-the-box providing mainline improvements that work not just on mobile but across the device spectrum. The Librem 5 is a new approach to use a regular Linux system and adopt it to mobile use-cases instead of creating a completely new system. We do not create a walled garden, instead we tear down these walls, creating an open utopia. A fully standards-based freedom-oriented system, based on Debian and many other upstream projects, has never been done before–we will be the first to seriously attempt this.
Purism has worked hard to get its code changes upstreamed into parent projects such as the Linux kernel, wlroots, GTK, and GNOME applications, so that Phosh can easily be adopted by desktop distros in the future with minimal effort, unlike the other mobile DE’s.
The second reason why Purism chose to create Phosh is that it would offer better convergence as a PC. Most convergence in the past was based on using two separate systems for the desktop and mobile with separate sets of applications for each system. Microsoft’s attempts at convergence with Windows Phone and Canonical’s use of GTK-based Unity on the desktop and Qt-based Ubuntu Touch required the maintenance of two systems. In late 2013, Canonical started developing a set of convergent Core Apps that could be upsized to run on the desktop.
Likewise, KDE has created a number of apps with QML and Kirigami, such as Discover, that can be upsized for the desktop, but it has not always worked well. As Nate Graham, one of Discover’s developers, admits:
Kirigami–KDE’s UI framework … facilitates writing convergent apps that look and feel good on both the desktop and a mobile device.
…At least that’s the idea. The truth is, KDE users have voiced a lot of criticism for how well this works out in practice. An especially common complaint is that the desktop user experience gets short shrift, and Kirigami apps feel like big phone apps.
Graham had to work hard to make Discover a better desktop application, and this is a common problem with upsized mobile apps. Taking existing desktop applications and downsizing them for mobile will provide a better user experience on the PC’s desktop than upsizing mobile apps, because mobile apps reduce the menu and configuration options and simplify the interface for fingers and end up wasting a lot of space when upsized on a PC desktop.
Purism’s strategy is to provide convergence by creating a new libhandy library, which allows existing GTK desktop software to be adapted to be used on small mobile screens. The code of the existing GTK software has to be changed to use libhandy classes, but it allows existing desktop GTK software to do double duty as mobile apps, which means that Purism can avoid created new mobile applications. Adding libhandy improves existing GTK/GNOME software and makes it more flexible, plus it strengthens the existing GTK/GNOME ecosystem by attracting new mobile developers to the existing applications, rather than dividing the developer community between two mobile and desktop codebases.
Now every GTK and GNOME application has a path become a mobile app, which is important because the majority of desktop Linux users already use GTK-based software. According to an unscientific survey by opensource.com, 61% of desktop Linux users prefer a GTK-based desktop environment such as GNOME, XFCE, Unity, Cinnamon, Budgie, MATE, etc., whereas 32% prefer a Qt-based desktop environment such as KDE. Current desktop Linux users will appreciate having convergence based on the same feature-rich GTK desktop applications that most of them already use, and they will be able to use those same applications adapted for a mobile interface in their phone. Previous attempts at convergence have generally failed because the PC desktop provided by a phone didn’t have as good of software as a PC, but the Librem 5 with a standard GNOME desktop can change that.
Another reason for Purism to select the GTK/GNOME ecosystem is its historical alignment with the Free Software Foundation. Purism is one of the few companies (along with Raptor Computer Systems and LulzBot) that makes new hardware and publicly aligns itself with the FSF and the ideals of Richard Stallman. Although today there is no reason to prefer GTK over Qt in terms of freedom, the FSF was the sponsor of GTK and GNOME in its early days and its community has remained closer to the FSF than KDE’s community. Purism CEO Todd Weaver talked to Richard Stallman when he created the company and frequently mentions his ideas in his public interviews. The FSF has endorsed Purism’s distro, PureOS, for containing 100% free software, and recommended the Librem 5 in its last Ethical Tech Giving Guide, because it is the first phone to seek Respects Your Freedom certification for hardware running 100% free software on its main CPU cores. People who care about RYF certification are more likely to prefer GTK/GNOME over Qt/KDE.
Unfortunately, if Purism wanted to use the GTK/GNOME libraries and applications used by the majority of desktop Linux users, it would have to create its own mobile interface, because all of the existing mobile DE’s are based on Qt5, except for the outdated Hildon interface used by Maemo Leste, which would have required a huge amount of work to update to GTK 3.
It can be debated whether Purism made the right choice in selecting GTK over Qt and creating Phosh over using Plasma Mobile. This decision has required Purism to invest a lot of time and labor into recreating what was already available in Plasma Mobile. Instead of having to create its Calls phone app and its Chatty XMPP/SMS messager app from scratch, Purism could have used Plasma Mobile’s Dialer and Kaidan, which have been developed since March 2015 and November 2015, respectively. Instead of having to create a new virtual keyboard, Squeekboard, Purism could have used the Maliit virtual keyboard, whose development started in February 2010 for Meego and is now used by most of the mobile Linux DE’s. Purism still hasn’t begun code development for its future camera app, whereas development of Plasma Mobile’s camera app started in December 2018.
The Librem 5 Evergreen batch is likely to ship in Q4 of 2020, meaning that it will arrive at least 21 months after it original due date in January 2019. Many of the biggest delays for the Librem 5 have been caused because NXP hasn’t implemented key features in the i.MX 8M driver for the mainline Linux kernel, such as suspend-to-RAM, the MIPI CSI-2 camera interface, and the DCSS video interface. Nonetheless, Purism’s decision to create a new mobile DE has also helped delay the phone and it certainly added to the cost of developing the Librem 5.
The question is whether the extra work that Purism is investing in creating Phosh and the delays that it has caused can be justified. Purism’s extra work in the present to create a new mobile DE, and adapt existing GTK and GNOME software for that DE should in theory save the company a huge amount of maintenance work in the future.
One of the goals of the Librem is to offer lifetime software updates, which is a promise that no other phone currently on the market can hope to match. The reason why this promise is credible is because once Purism finishes developing Phosh and its associated parts, there should be less software maintenance afterwards on Purism’s part, than if it had used one of the existing Linux DE’s. Unlike Ubuntu Touch, LuneOS and Firefox OS whose components and applications often don’t have active maintainers, all the software that Purism has modified to incorporate into PureOS/Phosh has active maintainers who will continue providing updates in the future. The maintainers of programs such as the Linux kernel, wlroots, GTK, libpurple, Fractal, Epiphany, gEdit, Animatch, Kings Cross, Geary, Lollypop, and all the rest of GNOME (Contacts, Control Center, Passwordsafe, Clocks, Software, Calculator, Podcast, ModemManager, Usage, Chess, etc.) are invested in the future development of their code, so Purism will have much less of a burden to bear in the long term.
Because Purism upstreams its code changes to the original software projects, future versions of these programs should require no or very little modification to be re-incorporated into Phosh. Purism has managed to get libhandy incorporated into GNOME, as well as Calls and Chats (aka, Chatty), so it is likely to get help from the community in maintaining their code. The few programs such as phosh, phoc, squeekboard, haegtasse, wys and feedbackd that Purism will have to maintain alone will not be nearly as difficult as shouldering the maintenance burden of one of the other mobile DE’s, and some of these Purism bits are likely to get incorporated into GNOME in the future, as more devices will be needing an adaptive mobile interface, cellular telephony, and haptic feedback.
By developing on top of GTK and GNOME, Purism should have less long-term software maintenance to do than if it had used Plasma Mobile, because Phosh will be based on the standard GNOME stack (after Purism’s changes are accepted upstream), whereas Plasma Mobile uses Halium. The only commercial company helping to shoulder the burden of maintaining Halium is Jolla, a Finnish company with 50 employees that develops Sailfish OS. In contrast, IBM/Red Hat, SUSE, Canonical, Google and System76 all contribute to the development of GTK and GNOME, but those same companies contribute much less to KDE Plasma, and they have no interest in helping to develop KDE Plasma Mobile, since they are focused on desktop Linux.
Although Plasma Mobile has some applications like Discover and Kaidan which it shares with Plasma on the desktop, a lot of KDE software such as KOrganizer and Calindori will still be divided between the desktop and mobile. If Purism had chosen to use Plasma Mobile, this desktop-mobile division makes it more likely that Purism would have to help maintain Plasma Mobile’s apps in the future, and it wouldn’t have any other commercial Linux companies to help it, which explains why Purism decided that developing Phosh was better than using Plasma Mobile.
If Purism had chosen Ubuntu Touch or KDE Plasma Mobile, it would have gotten its phone to market faster, but it wouldn’t be able to promise “lifetime updates” for its phone, because the long-term maintenance costs would be too high for the company. There is huge market opportunity for a phone that provides lifetime software updates, because the market is now trending toward consumers who want their phones to last longer, rather than being forced to constantly buy new phones.
New types of ICT often experience a period of rapid growth as advances in the technology increase the functionality of the device, but at some point, the technological advances stop translating into increased functionality for users, who no longer perceive much difference between last year’s model and this year’s model. At that point, sales peak and start reducing as consumers decide to keep using their old models for longer or they switch to new technologies that offer the same functionality in a more convenient form factor. Global shipments of desktop PCs, netbooks, laptops and tablets/detachables peaked in 2007, 2010, 2011 and 2014, respectively, and have been declining ever since.
The same trend that has already happened with desktop PCs, laptops and tablets is starting to happen with smartphones. The Geekbench scores for mobile processors like the Qualcomm Snapdragon, Apple A-series and Mediatek Helio may keep going up, but at a certain point, the processor gets powerful enough that more processing power doesn’t make the interface any smoother or capture video any faster. A gamer who wants the best 3D performance or a videophile who wants to film in 8K might care about having the latest tech, but for most consumers, their existing smartphone is already powerful enough, so they no longer want to be forced to buy a new phone every two years.
Very few of the new “killer features” coming down the pike are likely to stimulate future booms in mobile phone sales. Consumers are eventually going to figure out that 5G is limited to select parts of cities and it is an expensive service that rapidly drains the battery. The kind of rush to 5G that the mobile industry predicted is turning out to be a gradual transition, with most consumers holding off on buying 5G phones due to their high costs. Virtual reality may excite a select group of gamers, but the general public has little use for it. Assisted reality will be a killer feature, but it will come gradually and most of it will be enabled on the server side and with software updates, so it doesn’t require new phones to use it. Most of the useful AI and speech recognition can also be provided by servers, and doesn’t require the latest phone models with specialty AI chips. Periscope lens with large zoom factors in phones will kill off more of the digital camera market, but they will be limited to the high end of the market for quite a while, so they are unlikely to effect overall sales of smartphones. Foldable OLED screens will also be limited to the premium market for the foreseeable future. What this means is that smartphone buyers are going to increasingly value the lifetime software updates that Linux phones can offer, not to mention their other “killer features” such as the privacy, security and freedom.
According to Kantar Worldpanel, the average number of months that consumers wait before upgrading their smartphone increased by 4.2 months in the US and 2.4 months in urban China between the years 2013 and 2018. Most consumers in the US and Europe want to keep their smartphones longer than the two years that the mobile industry promotes as the typical lifespan of smartphones.
|Average number of months before users upgrade their smartphone|
|Western Europe*||18.3||19.5||20.4||21.6 / 23.4||24.9||26.2|
|* Western Europe includes UK, France, Germany, Italy and Spain. Kantar appears to have changed its methodology for how it calculated the European average in 2016, since it was 21.6 months in the report at Business Insider (2017-03-02), but later reported as 23.4 months by CNBC (2019-05-16).
Source: Kantar Worldpanel
The financial firm UBS found that the average age of the smartphones currently held by surveyed consumers has increased from 1.2 to 1.6 years in the US and from 1.1 to 1.5 years in the UK between the fourth quarter of 2015 and the second quarter of 2019. The percent of surveyed consumers who intended to buy a new smartphone in the next 12 months has dropped by roughly 10% in the US, UK and Germany between the second quarter of 2015 and the second quarter of 2019. The UBS survey from Q2 2019 showed that Chinese consumers were still interested in buying new smartphones, but Chinese smartphone sales slowed at the end of 2019, indicating that demand is now dropping in the Chinese market, just like in the US and Europe.
The desire of consumers to keep their mobile phones longer is reflected in the global sales numbers. The total number of mobile phones shipped worldwide peaked at 1917 million units in 2015. Gartner believes that smartphone shipments peaked at 1555.6 million units in 2018. In contrast, IDC, which has a more restrictive definition of a “smartphone” than Gartner, says that that global shipments of smartphones peaked earlier at 1473.4 million units in 2016. Either way, all industry analysts reported falling sales in 2019. Between the coronavirus and the resulting economic recession, global sales numbers have been dismal in recent months, with Gartner predicting a 14.6% drop in mobile phone shipments in 2020.
Further proof that consumers are willing to keep using older phones for longer is the fact that the global refurbished smartphone market grew 13% in 2017 to 140 million units, whereas the new smartphone market grew only 2.2% in the same year. Most refurbished smartphones are the premium brands. The Apple iPhone and Samsung Galaxy accounted for almost three fourths of the refurbished market in 2017. Counterpoint Research concluded:
The low growth of the new smartphone market in 2017 can be partially attributed to the growth of the refurb market. The slowdown in innovation has made two-year-old flagship smartphones comparable in design and features with the most recent mid-range phones. Therefore, the mid low-end market for new smartphones is being cannibalized by refurbished high-end phones, mostly Apple iPhones and, to a lesser extent, Samsung Galaxy smartphones.
The global refurbished market shrank to 137 million smartphones in 2019, but the reason was not the lack of demand, but rather the fact that fewer people were getting rid of their old premium phones. Counterpoint Research commented: “The upgrades in the premium segment also remained slow, as users continue to hold on to their devices and replacement cycles lengthen. Premium devices are key to refurbished device volumes in the mature economies.”
These falling sales have occurred despite the fact that the mobile phone industry has introduced a number of changes in the design of smartphones, which shorten their lifespan, such as:
- Eliminating the removable battery.
Only 6.4% of the new smartphone models introduced in 2019 had removable batteries, according to the gsmarena.com database, and all of them were low-end models. The lithium-cobalt-oxide (LCO) battery in phones typically starts to degrade rapidly after 300 – 500 full recharge cycles, so elimination of the removable battery puts a limit on the lifespan of a smartphone. Water resistance is often cited at the reason why removable batteries had to be removed from phones, but only 10.0% of new smartphone models in 2019 had a water resistance rating of IPx6, IPx7 or IPx8. At any rate, there are 105 different phone models with a removable battery and an IP water resistance rating, so it is possible to create water resistant phones with removable batteries.
- Reducing the size of bezels around screens and increasing the use of curved screens have increased the probability of screens being damaged, which means more phones are junked prematurely.
According to a report by the Indian after-sale service company OnsiteGo, 71% of smartphone repairs involve replacing a damaged screen, and smaller bezels and curved screens increase the probability of a damaged screen.
- The increasing use of sealed cases makes it more difficult and expensive to repair mobile phones, making it more likely that a damaged phone will be junked rather than fixed.
Sealed cases are usually held together with glue (rather than plastic pressure tabs and screws) and they require the use of heat guns and plastic spudgers to be opened. It takes longer to carry out repairs and it is more expensive because new seals and glue have to be reapplied each time the case is opened.
- Changing the back case materal from plastic or metal to glass has increased the probability that the back cover will be damaged in a drop.
43% (75 out of 174) of the new smartphone models introduced so far in 2020 have glass backs, according to the gsmarena.com database.
The Librem 5 avoids all these design changes which promote planned obsolescence, plus it is easy to open and fix, only uses standard Philips screws, and promises to sell replacement parts. Since its wireless communications are on M.2 cards, it will be the first phone in the world that allows the cellular modem and WiFi/Bluetooth to be upgraded. The Librem 5 will cater to consumers who don’t want to throw away their phone every two years.
The biggest way that the mobile industry limits the lifespan of phones is by not providing software updates. The best of the Android phone makers, Google, only guarantees 3 years of software updates for the Pixel 2, 3 and 4. The next best are OnePlus and Android One models, which guarantee 2 years of software updates and 3 years of security updates after the initial release of a phone model. Although Google provides monthly Android security updates, its Android license with OEMs only guarantees that phone makers will provide 4 quarterly security updates in the first year after release and 1 security update in the second year.
There is no guarantee of ever getting an upgrade of the operating system, and many low-end models, such as the Moto E4 and Galaxy J2, and lesser-known brands never get a single Android upgrade. A reputable phone maker like Samsung will provide 2 or 3 Android upgrades for its flagship models, but only 1 or 2 upgrades for its mid-range models and 0 or 1 upgrades for its low-end models. The consumer rolls the dice with many phone models regarding how many Android upgrades they will get.
Even when phone makers decide to provide Android upgrades, Google does not require that phone makers upgrade the Linux kernel when upgrading Android, because component suppliers often don’t provide drivers for new kernels. Android uses an old Linux kernel to start with. For example, Android 9.0 (Pie), released on 2018-08-06, supports Linux kernels 4.4 (from 2016-01-10), 4.9 (from 2016-12-11) and 4.14 (from 2017-11-12), so a new Android version starts out with a kernel that is 9 to 31 months out-of-date. If the typical Android phone is bought six months after Google releases a new version of Android, and the phone has a two year lifespan, by the end of the phone’s life, the Linux kernel will be 39 to 61 months out-of-date. The same problem applies for users who install an AOSP-derivative like LineageOS on their own. Most LineageOS ports use the last kernel provided by the OEM, so they may have the latest version of AOSP, but their version of Linux and the drivers for the hardware are hopelessly outdated. In contrast, both the Librem 5 and PinePhone were using the latest 5.7 kernel version within days of it being released.
The ability to get software updates for Android phones depends upon Google, the component suppliers and the phone maker (and also the cellular provider for many consumers). All of these groups, except for Google, depend on planned obsolescence to generate future sales, so they have little economic incentive to provide more than the standard 2+ years of software updates. Google has spent years encouraging the mobile industry to provide more timely Android updates, and it has had some effect in recent years. Android Authority noted an improvement in the time that phone makers took to offer upgrades to Pie over Oreo, and reported that “overall, Android update speeds seem to be improving.” Even with that improvement, however, the time from the release of Android 9.0 (Pie) to the first model in the US to receive it was: Google: 0 days, OnePlus: 46 days, Nokia: 53 days, Sony: 67 days, Xiaomi: 71 days, LG: 102 days, Lenovo/Motorola: 114 days, HTC: 115 days, Asus: 134 days, Samsung: 140 days, Huawei: 164 days, Oppo: none, and Vivo: none. It is notable that 4 of the top 5 selling brands in the world were last to release Pie upgrades.
Even when a Android phone maker wants to provide extra years of software upgrades, the mobile industry makes it extremely difficult. Fairphone has the goal of making environmental phones that will be supported for at least 5 years. The Fairphone 2 was sold for 40 months (between December 2015 and March 2019), but the company had all sorts of problems supporting the phone, due to the bad practices in the industry. The Fairphone 2 contains a Snapdragon 801 processor, but none of the Android phones with the Snapdragon 800/801 that were released in 2013-15 got upgraded to Android 7 (Nougat) in 2016, because Qualcomm decided that it wouldn’t release updated graphics drivers for the Snapdragon 800/801, because it was too old. Others say that the reason the Snapdragon 800/801 couldn’t be officially upgraded to Nougat is because it lacked hardware AES encryption and full disk encryption was mandated by Nougat’s Android Compatibility Definition Document (CDD) and it couldn’t pass the encryption speed requirements of the Android Compatibility Test Suite (CTS).
Because LineageOS doesn’t have to obey Google’s onerous CDD rules and pass its CTS, LineageOS provided Snapdragon 800/801 phones with upgrades to AOSP 7, and a lot of Fairphone 2 users switched to LineageOS. However, Fairphone couldn’t officially tell its users to switch to LineageOS, because they wouldn’t be able to legally use Google Web Services and the Google Play Store. Fairphone then spent €500,000 to switch from Qualcomm’s unsupported Snapdragon 801 drivers to community-developed drivers. In November 2018, the Fairphone 2 became the only Snapdragon 800/801 phone to officially receive a Nougat upgrade, but it arrived 27 months after its release. Today, the Fairphone 2 is using a version of Android which is 3 years out-of-date. It is unlikely to ever receive another official upgrade due to the high cost of complying with Android’s CDD and CTS, despite the fact that LineageOS 17.1 (AOSP 10) runs fine on the Fairphone 2.
What Fairphone’s experience shows is that is extremely difficult to make an environmental phone using Android. Roughly 80% of the total energy consumption and greenhouse gas emissions from smartphones occur during their production phase, so the most environmental phone is one which lasts as long as possible. Unfortunately, Android’s CCD and CTS make it expensive and time-consuming to keep providing upgrades, and chipmakers like Qualcomm stop providing firmware and driver updates, so it is difficult to support a Android phone for more than the standard 2-3 years.
Apple is the best phone maker in terms of provide long-term software support. It offers between 4 and 5 years of software updates, which seems generous until considering that Apple typically sells its phone models for 3 years, with a $100 discount in the second year and a $200 discount in the third year. People buying an iPhone in its third year of production are still paying as much as an upper mid-range Android phone, but getting fewer years of software support. While the iPhone may be better than the typical Android phone in terms of providing software updates, Apple has been the mobile industry’s leader in terms of promoting planned obsolescence. The original iPhone in 2007 was the first phone to use a sealed case and a non-removable battery (except for the $5000 Vertu Constellation in 2006 that hardly anyone bought). Apple has introduced all sorts of malicious practices that limit the lifespan of their phones, including using custom pentalobe screws to prevent users from fixing their phones, software updates that refuse to work with 3rd party repairs, seizing imported parts as so-called “counterfeits”, “unauthorized” batteries showing ominous warnings, prohibiting recyclers from refurbishing iPhones and reusing their parts, and slowing down the processor of older iPhones. These Apple policies make it hard to recommend iPhones to people who want to own their phones for a long time.
Most Android phones use an integrated mobile system-on-a-chip (SoC) which provides the CPU, GPU, VPU, DSP, ISP, NPU, WiFi, Bluetooth, cellular baseband, GNSS and USB controller. An SoC, such as the Qualcomm Snapdragon, Mediatek Helios, Samsung Exynos, Hisilicon Kirin, UNISOC or Xiaomi Surge, is typically only manufactured for 1 to 2 years and only provides firmware and driver updates for 2 to 3.5 years.
In contrast, the Librem 5 uses 5 separate chips (i.MX 8M Quad, RS9116, BM818 or PLS8, Teseo-LIV3F and WM8962) to provide the same functionality as the mobile SoC used in the typical Android phone. (Actually the Librem 5 has less functionality since it doesn’t have an DSP, ISP or NPU, which are found in most mobile SoC’s, although those features will be added in the future Fir batch.)
The chips used by the Librem 5 will be produced for many years, so the manufacturers will provide many years of driver and firmware updates. For example, NXP promises to produce the i.MX 8M Quad till January 2018, which means at least a decade of guaranteed firmware and driver updates for the chip. Both NXP and Redpine Signals are contributing to the drivers used in mainline Linux, so their driver updates will benefit the Librem 5. Because the Librem 5 only uses free/open source drivers, the community can maintain the drivers long after the manufacturer stops supporting them, just like the Linux kernel still supports the 80486 processor introduced in 1989. In addition, Purism intends to offer proprietary firmware updates, so the Librem 5 will take advantage of the long support cycles from its chip manufacturers.
No Android phone currently on the market can hope to match the longevity of the Librem 5’s support, which gives the phone a special advantage in the marketplace. For consumers who are concerned about the economic and environmental costs of throwing away a phone every 2 years, the Librem 5’s promise of lifetime updates makes it uniquely attractive over existing phones. An essential part of that longevity was Purism’s decision to create Phosh, because it will reduce the long-term maintenance costs of the phone for Purism.
It is not hard to understand why Purism was so roundly criticized by the Linux community for its decision to create Phosh. From the perspective of the communities that are developing other mobile Linux DE’s, Purism’s decision seemed wrongheaded, when there were so many options already available. The communities trying to develop and maintain mobile Linux DE’s are very short-handed and desperately need the kind of programmers that Purism could have provided to support their projects. Instead of Purism employees Guido Gunther working on Phosh and Phoc, Dorota Czaplejewicz working on Squeekboard, and Adrien Plazas working on libhandy, they could have been working on Ubuntu Touch, LuneOS or KDE Plasma Mobile, which would have greatly benefitted those projects.
The list of desktop environments for Linux mobile are growing, this is amazing! But one thing I have seen is that people expect these DE’s to be daily driver ready from day 1, and this is simply not the case.
These services will also take time to develop. An example for this is oFono thats used by ubports and kde to allow cellular to work (sms, calls, data). But this is an area where different OS and DE makers could work together on developing and fixing bugs to create much better and stable services, but some seem to have more of a not-invented-here syndrome then other. [emphasis mine]
The resulting back and forth on Reddit between Gripsgard and Purism employees Sebastian Krzyszkowiak and Bob Ham laid out the differences between the approach taken by Canonical/UBports and Purism to mobile Linux.
Krzyszkowiak argued that Purism is trying to unify the desktop and mobile stack, and it didn’t make sense to use the oFono telephony library, when they could use ModemManager which was already tightly integrated into GNOME:
oFono didn’t really bring anything new over ogsmd other than development resources and maybe some API cleanup. ModemManager actually brings a new quality in by completely unifying the typical desktop and mobile stack, which avoids duplicated work and brings everything closer to upstream.
Unlike UBports, PureOS strives to be (and already is) simply a desktop distro with a thin overlay of backported packages that make it work well on mobile. This is by design, and while Canonical was and UBports is free to make different design decisions with their distro, I like the idea behind PureOS more and I’m glad its stack looks exactly like it looks like.
Bob Ham explained that Purism decided that it would be less work to improve the functionality of GNOME’s ModemManager than integrate oFono into GNOME:
It looked like a lot of work to glue oFono in to the parts ModemManager already inhabited. So the choice was: try to bring ModemManager’s voice call support up to the level of oFono’s or integrate oFono into GNOME, duplicating what ModemManager had already achieved. We chose the former. And we were lucky to get ModemManager people involved who we contracted to help us with voice call support. In retrospect, I think this was the right decision.
Krzyszkowiak laid out the goals of PureOS/Phosh and why it made sense to create a new interface on top of the GTK/GNOME stack rather than use an existing mobile stack:
[T]he long term goal is to run the exact same stack on desktop and mobile – the same goal that Unity 8 was initially trying to achieve as well, but abandoned later on. This already rules UBports and Plasma Mobile out, and PureOS runs GNOME by default on laptops.
The other goal is ability to upstream – this approach makes sense mostly because the team is so small. GNOME and ModemManager will be still maintained even if Purism would completely disappear; oFono has been on life-support from mobile distros than use it for some time already.
The third goal is to adapt existing stuff to work well instead of rewriting everything to a new platform – as rewriting is arguably something both Ubuntu Touch and Plasma Mobile did (and other mobile distros that I worked on or used in the past – although it must be noted that Kirigami’s goal is being adaptive as well), which may skew your perception about the amount of work necessary there.
You keep repeating “it’s not anywhere near ready”, but have you actually tried it? It works remarkably well for me already for the amount of development that went in, which given a small team obviously wasn’t huge.
Krzyszkowiak believes that Purism’s approach will require the least amount of work to maintain:
UBports (and even Plasma Mobile) has rewritten their whole UI stack almost from scratch (with Plasma Mobile intending to do it in a way that can be used by desktop Plasma as well in the future, but it’s not really there yet outside of a handful of apps like Discover) – and in my experience, this is the exact part of the system that’s the biggest time sink for mobile distro overall. GSM middleware needs work to get running, sure, but at some point it gets mature and doesn’t change as much. UI on the other hand changes constantly – UX paradigms come and go, competition doesn’t sleep, users expect new things as they arrive on other platforms… UI side is what mobile PureOS reuses a lot and makes sure that it’s being well maintained upstream, so it won’t die like most Openmoko distros did. Even phosh and phoc, which are pretty much the only rewritten from scratch things in this area, reuse a lot of existing infrastructure – not just from GNOME side, but also from wlroots.
Krzyszkowiak also pointed out that Purism was helping the future development of GNOME by creating Phoc and Phosh, but all the other things it had created were missing in GNOME:
The only thing that got recreated for Librem 5 is phoc/phosh to replace mutter, per upstream devs recommendation and as a way to experiment towards possible new GNOME shell in the future. All the other things you mention were either already there in GNOME and are simply used as-is, or were missing or incomplete (like audio routing).
Finally, Krzyszkowiak pointed out that Purism’s approach will use an existing GTK/GNOME stack which will never die, whereas they can’t have the same confidence in the existing mobile stacks:
I’ve seen mobile distros being born, I’ve seen them dying – I know first hand what happens to an abandoned stack over time. And I know how complex these things are, really, my opinion is based on my past experience. Now, working on PureOS, for the first time I feel like standing on the shoulders of giants instead of trying to fight them, which is something that makes NIH accusations pretty peculiar in my eyes.
In a follow-up comment, Gripsgard laid out his principal complaint that Purism isn’t doing anything to work on the mobile stack used by most of the mobile distros and Purism should be helping to improve UBports:
We should definitely work together 🙂 but I’m not sure how when our stack is so different…
I just wish we could work together, if purism would put all the effort they have put into a new gnome based stack into ubports, imagine how feature rich it would be today, as they would not need to recreate all the function unity8 already does.
Gripsgard has a point that Purism isn’t aiding UBports or any of the preexisting mobile DE’s for that matter. On the other hand, Purism is working to improve GTK and GNOME, which is used by a larger portion of the Linux community than UBports’ software.
Whether Purism’s strategy of unifying the desktop and mobile stack proves to be the correct approach or not, remains to be seen. What is clear, however, is that Purism has incurred extra costs and delays in the short term by creating a new interface on top of GTK and GNOME. There are indications that this decision has hurt Purism financially. In early March, Purism stopped providing immediate refunds for the Librem 5 for buyers who cancel their orders, which is probably a sign that the company does not have much liquidity on hand. Purism also decided to offer only one model, the Librem 14, in its next generation of laptops, whereas it traditionally offers two models (the Librem 13 and 15), which appears to have been a cost-cutting measure. Whether Purism’s gamble in creating Phosh was worth it or not remains to be seen, but it probably has put a financial strain on the company.
It is hard to know what are Purism’s finances and whether they could derail the development of Phosh. If the development continues, however, there are a number of reasons to believe that Phosh will overtake Ubuntu Touch and KDE Plasma Mobile to become the most popular mobile Linux interface. Because it uses the standard GNOME stack, Phosh can be easily adopted by the existing desktop distros, so it gives all of them a ready path to becoming mobile distros. Because it uses the existing GTK-based software that the majority of desktop Linux users already prefer, Phosh is more likely to be selected by users over the alternatives.
Despite the fact that Phosh is still incomplete and critical features like its Squeekboard keyboard aren’t nearly as good as what is available in Ubuntu Touch and Plasma Mobile, there are reasons to believe that Phosh is already proving that it has a winning strategy for mobile Linux. Phosh is current available on 8 different mobile distros that have been ported to the PinePhone, and Phosh is the preferred DE on 7 of those 8. In contrast, KDE Plasma Mobile is currently available on 3 distros for the PinePhone and is the preferred DE on 2 out of the 3.
Here are the 17 different distros currently available for the PinePhone with their desktop environments or interfaces in parentheses:
- UBports (Ubuntu Touch)
- postmarketOS (Phosh*, Plasma Mobile, Hildon, i3wm, Kodi, Mate, Sway, Xfce4)
- Mobian (Phosh*, xfce4, lxde, jwm, openbox)
- Manjaro (Plasma Mobile*, Phosh)
- LuneOS (Luna Next)
- SailfishOS (Lipstick + Silica)
- openSUSE (Phosh)
- AVMultiPhone (Mate)
- GloDroid (Android)
- Arch Linux (Phosh)
- Fedora (Phosh),
- Maemo Leste (Hildon)
- Nemo Mobile (Glacier)
- KDE Neon (Plasma Mobile)
- NixOS (Phosh)
- Sxmo (interface based on physical buttons)
- PureOS (Phosh)
The preferred DE for each distro is marked with an asterisk (*). In the case of Manjaro, there have been 5 alpha releases with Plasma Mobile, whereas only 1 alpha release with Phosh, and that just recently appeared, so Plasma Mobile appears to be the preferred interface. For Mobian, there is a script available to install other interfaces, but almost everyone appears to be using Phosh at this point.
Ever since Plasma Mobile was incorporated into postmarketOS in July 2017, it appears to have been the preferred DE in postmarketOS. For this reason, it was surprising when postmarketOS decided to preinstall Phosh instead of Plasma Mobile on the PinePhone Community Edition: postmarketOS. Given that decision, Phosh is likely to be used more than Plasma Mobile in postmarketOS in the future.
Of course, the fact that Phosh is used by more mobile distros than any other DE doesn’t mean that more users will select it. Ubuntu Touch is far more complete, whereas Phosh still lacks critical components like a camera app. The first Community Edition of the PinePhone sold between 4000 and 4500 units with UBports’ Ubuntu Touch preinstalled, and UBports reports that it had “over 5000 daily users” before the release of the PinePhone, so it is arguably the leading mobile DE at this point. Nonetheless, the popularity of Phosh is rising. With the PinePhone’s second Community Edition now being sold with postmarketOS/Phosh preinstalled, Phosh will get a lot more new users.
Most buyers of the PinePhone are tinkerers and tech enthusiasts who are likely to install the distro of their choice, since the PinePhone makes it so easy to try out different distros by booting from a microSD card. PinePhone users who want the full functionality of a smartphone are likely to install UBport’s Ubuntu Touch, since it currently offers the most complete system that is fully free/open source.
According to an unscientific survey by opensource.com, 52.9% of Linux users report that Debian or a Debian derivative is their favorite distro, and DistroWatch’s Page Hit Ranking finds that 7 of the top 10 distros in the last 6 months are in the Debian family. For Linux users accustomed to the Debian family, Mobian with Phosh is probably the mobile distro closest to their favorite desktop Linux distro, both in terms of the applications and system administration tools. In addition, Mobian with Phosh currently has the best battery life of any of the PinePhone distros, with an idle run time of 24 hours with the cellular modem turned on, whereas UBports drains the battery in 14 hours in the same state. People who need a working phone are likely to install Mobian with Phosh. In the long run, it will be interesting to see whether Debian family users will end up choosing UBports/Ubuntu Touch or Mobian/Phosh.
Hopefully, the increasing use of Phosh on the PinePhone will calm some of the partisan divide between the PinePhone and Librem 5 communities. Once PinePhone users can see that Purism is contributing an important desktop environment for their phone and Librem 5 users can see PinePhone users contributing bug reports and outside developers to Phosh, some of the partisanship over the two Linux phones should ease. Having two companies producing Linux phones that cater to different market segments and different types of users will help grow the Linux phone market as a whole.
More importantly, more use of Phosh will make it clearer to the wider Linux community why Purism’s approach has unique strategic advantages in terms of providing a better PC desktop for convergence, reusing desktop apps as mobile apps, using one stack for both mobile and desktop that has many corporate backers, reducing long-term maintenance costs, and being able to provide lifetime software updates that give Linux phones a market advantage. Whether Phosh will actually provide these strategic advantages in the long term is open for debate, but it is important to appreciate the reasons why Purism chose the harder path of creating a new mobile desktop environment, instead of using an existing one.