Librem 5 design report
puri.sm
puri.sm
When they initially launched their campaign I was a little pessimistic about the whole thing. But since then I've realized a couple of things:
- I really dislike the current trend in phone hardware, and Librem will fix most of those problems (kill switches, replaceable battery, etc...)
- Most of the focus on the latest and greatest phone hardware is wasted on me, especially if I can control the entire software stack. Using Linux a lot has since taught me that high performance is often only necessary because large tech stacks with mandatory upgrades degrade heavily over time. And I don't really do heavy graphical work with my phone, so I just need good enough performance.
- Most of the focus on app compatibility is wasted on me. Android has a ton of apps, and theoretically I could learn Java and develop more of them... but, I don't like Java, and I don't like Android's development experience, and most of the apps I download are trying to hack support between my phone and my desktop anyway. Ironically, I would probably be able to get better integration and more useful software for a phone running Linux.
When their campaign was first announced I know a lot of people (myself kind of included) were thinking "well, it's never going to compete with Android." And at some point, something flipped in my brain and I realized, "I don't care."
It doesn't need market penetration, it just needs to be more useful for me. If they can build an experience of even just decent quality, then that'll be an improvement over my current Android situation.
I've grown more to realize that I really value controlling my own software stack, and that the more I control my own software stack, the less I care about stuff like 3rd-party compatibility, because... well, it feeds into itself. I don't want to run much of that 3rd-party stuff anyway because I can't control it.
This is the big selling point for me, android is the most insane platform to build software for I've ever experienced, I want to make apps but there is just too much tooling involved. With this I (hopefully) just need main.c and a makefile to start throwing stuff together.
I also want a half way point between androids complete disregard for user privacy and apples walled garden. Give me a distro with safe vetted apps but let me out of that safe space when I want.
I realize that many people love their various apps and in some cases depend on them (I imagine any one using square) but all I want is a web browser, sms and if I have to: phone calls.
Though I'm very much in the ~200$/3yr range for phones so I probably can't afford one anytime soon.
I can live without the web browser.
I beg your pardon, but I think this is something yet non-existent with webapps - the best you can get is a prepared list of directions, and maybe you can set the tab to auto-update once in a while. And this is something any half-decent navigation app does.
For walking around, Google Maps works fairly well in a browser, and it will not take long for someone (possibly even me) to build a dedicated app. Worst case scenario, stick Google Maps inside Electron.
Again, not arguing that would be sufficient for everyone. Just that it would be sufficient for me, and that's good enough. I don't need to care about a general solution if I'm buying a device for myself.
The other nasty implication to wechat being the primary use case is that a phone without notifications is essentially worthless to me.
I'll get the Librem 5 anyway assuming it's halfway decent; if they can make this work at all, the project needs support.
Android now has Kotlin officially supported. Kotlin is easier to learn than Java IMO.
Go team's efforts for NDK deployment were always on their own without any major support from Android team.
Unless you are targeting pre-5.0 devices Dalvik is history, ART is the new runtime system for JVM based languages.
Which even if they would drop them, it is quite clear they would either be replaced by the Web stack (PWA/WebAssembly) or be based on their Flutter ongoing experiments with Dart.
But other than that, using matrix as the default messaging app sounds great. Maybe I can pull some people off of hangouts. And I can't imagine a world where a phone like this doesnt have an OTP generator.
Web browser, chat client, OTP... I really don't use my phone for much.
Pretty sure this will also be my next phone assuming it turns out even half decent (i had backed the Ubuntu Edge back in the day, but I haven't backed this, I've given up on kickstarting/indie-go-go'ing things)
KDE Plasma Mobile is something that actually cares about mobile, is developed by an actual community and still needs a lot of work. Developing another Mobile Shell, on Gnome (that don't seem to care about anything else than Linux desktop) feels like NIH and a waste of time and resources...
Doing a Mobile Shell (+toolkits +all basic applications) that works reliably is a lot of work and doing it twice is a bit sad.
Frameworks and window managers did their share to splinter and prevent Linux Desktop, why shouldn't we try again to prevent Linux mobile becoming a thing?
But if this is a phone for Linux enthusiasts, why not?
Can't say this gives me much faith in them. Totally agree about the wastefulness of coding your own UI from scratch.
I think that this is targeting the sorts of people that are more likely to be familiar with and like GNOME than KDE, so there is advantage in using the same software, and producing software that will be able to, as depicted, run on a laptop as well as a phone without feeling out of place anywhere.
Note also that they’re working with both GNOME and KDE, so that both will have first-class support: https://puri.sm/posts/librem5-gnome-and-kde-collaboration/, https://puri.sm/posts/gnome-and-kde-in-pureos-diversity-acro... (that latter link includes content very similar in meaning to my remarks above).
But Purism's project is heavily focused on relatability and advancing the community's current state-of-the-art [1], which is different from the more common model we've seen from other players, where they start fresh, get it working, dump the code in a public repo where it sits largely unused because it's so divergent and specific to their custom setup, and although the code is technically open, much more effort is required on part of volunteers to apply that anywhere else.
Purism seems intent on actually architecting their software such that all of it can be upstreamed. GNOME, which doesn't have a strong answer to a touch-first UI metaphor, can greatly benefit from this. KDE has already done a lot of this hard work, so in a post like this, there would be fewer custom things to show off.
[1] https://puri.sm/posts/librem5-gnome-and-kde-collaboration/
It’s been a while since I watched it, but IIRC it comes down to control, and being able to decide which parts to focus on before the thing ships. IIRC it sounded like Purism’s efforts are the GNOME roadmap, and they’re hiring GNOME developers. That makes sense if you have to ruthlessly prioritize to ship on a deadline.
I wouldn’t be surprised if Plasma Mobile ends up being the superior shell in the fullness of time, but I’d be happy to give GNOME a go.
It would be kinda annoying to reskin an app from GTK to Qt, but it probably won’t be necessary a lot of the time, and if it is, it seems like a pretty minor annoyance in the grand scheme of mobile development.
As someone who's been reluctantly using Gnome 3.x as a primary DE for years now, I think you're completely off-base and that Gnome seems to care about anything but the desktop (see swipe up to login on a desktop, for an obvious example) It would be great to see something better, and more community oriented, displace Gnome but I don't see it happening any time soon. A combination of lack of resources and inability of the alternatives to get their acts together seems to all but guarantee Gnome's dominance for the foreseeable future. Seriously, they need to pool resources, come up with a coherent plan and execute. How many desktop environment forks exist now fighting for the same 5-10% of users? Sure, choice is good but if they lack stability, features, polish, etc for years on end... well, Gnome wins by default.
> As the implementation of the Librem 5 goes on, we are quite aware that time is limited given our January 2019 target, and we are therefore focusing on robustness and efficiency for the first version of the mobile UI shell (“phosh”), which we wish to push upstream to become the GNOME mobile shell.
Terrific! I love Gnome shell and use it every day, and I'd love to have it on my phone. Those mocks looks great!
... looks like less than 5000 units have been ordered.
Still wish them to succeed and I'd like to buy a "mini" librem phone in a few years
edited: typo
A 2:1 ratio?
It'd be even nicer if they'd do reasonably sized phones, though.
I haven't been as excited for a device as I am now since the N900.
This. The moment I started getting really excited for the Librem 5 was when I thought, "half of the problems I'm trying to solve for my phone right now are trivial to solve on this Raspberry Pi sitting next to me. Why isn't my phone running the same OS as the Pi then?"
I'm sure some Android dev is going to say "but what about blah blah new API new tools whatever?" in response to this.. but my workflow is autotools or meson (and for the Librem5 a crosscompiler) + vim. Or I could write shell scripts using a plethora of cmdline tools and not install anything extra to develop useful, powerful stuff for this device.
> Enabling the path for a true convergence device, capable to work as a phone, making video and audio calls, encrypted messaging, email, web browser, that can also become a full desktop computer with an option for a compatible keyboard, mouse, and monitor. It can be a desktop computer and phone all-in-one.
I assume this stopped being open because they figured out that they could charge to send an SMS.
That is the killer feature I'm waiting for in a mobile phone. Someday, I hope. (Hey, a guy can dream, right!?)
For what reason?
Linux almost implies Android will also work. It'll surely be an option.
This is targeting a small market of Linux enthusiasts with a different kind of operating system. If this were running Android, why wouldn't those enthusiasts just buy one of the market-leading phones and use a well-supported ROM?