I mean, if someone said, "I've successfully ported Vim to Android!", my first thought would be, "Why in god's name would I want to run vim on my phone?"*
* Ruling out, of course, someone plugging their phone into external KVM.
Something that has always bothered me is that smartphones are basically supercomputers nowadays, at least compared to what we had in the 90's, but I feel incredibly limited in what I can actually do with my iPhone. I can't easily code stuff for the iPhone in Haskell, I can't open up multiple "tabs" of videos on the YouTube app, and even a lot of the apps that do get ported over end up having incredibly limited "mobile optimized" versions.
I would absolutely love a phone that could let me run the "real" versions of apps when I need to. Ubuntu Touch was trying this, and I honestly don't think I'm unique in this desire.
There was a small community of users who were building applications (mostly built with GTK+) that were often of higher quality than what I got used to on Android now. They could be installed via the App store equivalent or just using apt-get from the terminal.
There were some great "Whoa, this works?" moments, like running the full-blown Arduino IDE and flashing something via USB-OTG or writing a Python script that makes the phone act as a sonar. And everything almost with the ease of a Desktop-PC, just a bit slower :)
I went through four used N900s (they unfortunately aren't very durable) before I gave up and got myself an Android because the web became too bloated and slow. I still miss it every time I'm using my phone for anything different than calling someone or taking a photo. I just had to get that off my chest.
It if weren't for the whole Linux vs Symbian, plus rebooting devenvs multiple times across Symbian and Maemo history, things would have turned out much different.
But like all major corporations, politics play a big role.
It's less powerful than a smartphone, but designed from the ground up for hardware hacking.
disclaimer: I am part of the WiPhone project
The fewer people who see a thing, the uglier the source is.
And as you go down the stack on mobile devices... there are very few people watching, indeed.
These days I have an iPad Pro as well, and it's sort of depressing. It could be such a better productivity tool if it wasn't crippled by a "mobile" OS.
They're only comparable to 90s supercomputers in the sense of compute power.
But when it comes to productivity they are fundamentally limited by their physical size and limited input/output real estate vs a desktop or laptop, or even 90s supercomputer with a 25" CRT and big clicky keyboard.
Even laptop keyboards use nearly full size keys, just as piano keys come in a pretty standard size, regardless of the size of the piano.
Programming on a phone directly would be like cooking for a banquet on a single camp stove instead of a full kitchen. You could do it, but why?
And sure, you can hook up a keyboard, mouse, and external monitor to some Android phones, but at that point, it's hardly a phone anymore.
I am typing this on an old iPad, and productivity level on it could be at least on par with my 1995 rig. Phone, not so much, without a larger display.
sadly, it derives from "permitted to do".
That's because they're intended to work as media consumption devices rather than productivity ones. If someone feels productive on a phone, he or she has very likely adapted herself to the device than the other way around.
I had to struggle yesterday with my GF new phone because her lawyer sent her a paper in .doc format using Whatsapp (no kidding) and she had no capable reader. Fine, I thought, let's fire up the app store and find one. Now I just have a couple old tablets I keep at home 24/7 and don't use smartphones at all: no feature in the world can convince me an € 5000 smart phone can be more usable than my €20 dumb one plus my € 400 used Thinkpad, so I'm not exposed to the level of annoyances the usual phone user experiences every day.
Back to ther phone, I knew the google app store wasn't that wonderful land where you tap the equivalent of apt-get install name-of-a-free-as-in-unicorns-and-fairies-doc-redaer and it magically installs, but man... I didn't expect that level of crap! I tried a couple "free" reader apps and every attempt to run them had either popups appearing asking to click to buy something, or more subtle ones where the click to buy button was a lot bigger and dangerously close to the window really small X (close) button.
In the end I installed f-droid, dns-66 and libreoffice reader, but what if she had to do all for herself and could only find those pieces of crapware?
 apparently that practice is widespread among non IT professionals, and I find it rather dangerous. The privacy implications should raise some big alerts.
"I would absolutely love a phone that could let me run the "real" versions of apps when I need to. "
That's my dream as well. Give us an open (hardware) phone and OS plus apps will follow.
Manufacturers however would hate this because the phone (tablet, etc.) as a platform allowed them to undo what Open Source achieved in the last decades on personal computers: now they have again a piece of hardware they can fully control; the software is closed and incredibly dumb, and it forces you to connect to online services to do anything. We're sort of back to mainframes, that's like killing over 40 years of IT development!. Also by keeping some parts of the firmware (mainly drivers) closed they can ensure no FOSS hippy is going to ruin their dominance. If there was a way to install a working native mainline Linux image (no chroots/VMs/frankendroids etc.) with full hardware support all those phone left in a drawer collecting dust could magically become useable again, with some important side effects.
For starters, I'd dare to say every 10 of them at least three new phones would remain unsold, then it would become a lot harder to put spyware into user phones, and third, what would happen when even a few thousand users in the world started showing their colleagues, friends and families that their old phone isn't just faster than new ones but also safer and cheaper, shows no ads, doesn't steal personal data, doesn't require constant updates (==cheaper data plans) and supports the same software they could have installed on their PCs. Definitely, phone (and their OS) makers would hate that.
Word (and the rest of Office) is available for Android, and is free for devices with a 10.1" screen or smaller (though you need to sign up for an account and give MS your info; for larger devices or more functionality, you need to buy a Office 365 subscription)
> That's because they're intended to work as media consumption devices rather than productivity ones. If someone feels productive on a phone, he or she has very likely adapted herself to the device than the other way around.
What are you talking about? Literally millions of people use their phones to create every day. They take pictures and post on Instagram, create videos with apps like Clips, iMovie, SnapChat, make music with GarageBand, and yes, also consume video. But iPhones are every bit intended to be creation devices as much as desktops. The form factor lends itself to a different type of content creation, but it's stellar at letting users create in addition to consume.
All that being said, I don't do any of that stuff; I write software and write the occasional blog post. For me, I need a compiler, text editor, git, a good terminal etc. In this regard, my old Packard Bell is honestly more powerful, and despite my iPhone having objectively awesome hardware in comparison, I accomplish much less.
Blink Shell and mosh = terminal, vim, git, etc.
I've been very happy with my OpenMoko FreeRunner for about 10 years now. It's running Debian (QtMoko), can send and receive calls and SMS, has WiFi, a Web browser, games, text editor, etc. I can also do anything from the terminal (locally via a terminal program, or remotely via SSH), including "apt-get" from the standard (although outdated) Debian repos.
My only annoyance is that the old QtMoko on-screen keyboard had really good predictive text, but it got removed in an update (apparently it only worked well in English and German; but that didn't bother me as I only know English)
Just in case you thought it could not get any worse...
Is using an end
-to-end encrypted service worrying?
I assume whatsapp encrypts media as well as messages (I hope so). If you sent that document to any kind of corporate email account (many people use work accounts for non work stuff) it's liable to be opened by your company. Unless you think Facebook is backdooring Whatsapp it's about as secure as a typical email account.
I trust tptacek that WhatsApp is end-to-end encrypted. But it definitely leaks metadata. Nobody is denying that.
Facebook now knows gf is communicating with a lawyer.
Your threat model may vary, but my assumption is Facebook will sell that info to anyone who pays. (Not directly, but definitely using some sneaky ad targetting: all girls, 27-35, this zip code, this education, etc, and who has contacted to a lawyer recently.)
If this isn't possible it is just because they are so busy doing all kinds of worse things that they haven't gotten around to it yet ;-)
I'm only halfway joking: this is the company that fools people who try to be secure into giving up their mobile phone number, then shortly after starts using it for targetting.
Even if the phone becomes a more open platform, and we can snap our fingers and get superb battery life, better CPU, better screen, better storage, etc., typing even a few sentences on the phone is still pretty awful. Nothing short of serious improvement to digital assistants will help here.
It was a bit overly ambitious (maybe), but I actually think that it's not an inherently bad idea.
EDIT: Also, don't want to be "that guy", but doesn't Google Drive support .doc files? In that particular case I wouldn't think it's terribly hard.
That's a great idea to me. There are too few choices on the cheap side to consider, like the Pinebook. Even the GPD Pocket 2, which I find gorgeous, is still too pricey IMO. A smaller Pinebook without trackpad would probably be our dream pocket device.
"but doesn't Google Drive support .doc files?"
Probably yes, though I'm used to always look for offline solutions: Once I get the data on my device, backups aside, it stays there for processing until I have to send it elsewhere.
The concept of applications as services and cloud computing is ancient and totally unwanted to me, probably because dumbed down terminals connected to a do-it-all central server is something those of us who are over 50 see for what it really was: a huge limitation of the past, rather than a technological advancement. Forcing users to get online to load or edit something is just a way to control access both to the data and the code to treat that data.
Personal ideas aside, my GF family she often visits lives in a poorly covered area and being forced to depend on connectivity for editing a document or any other thing easily doable the traditional way, would be problematic to her.
Luckily the world isn't made exclusively of hyperconnected cities with tall buildings.
Mine always tries to open doc files in a painting app I use. And yes, this even happens if I manage to get them into docs and try to open them from there. I have to uninstall or disable that app to open doc files :-/
If this happens again in the future it might be easier to connect to web.whatsapp.com in a desktop computer.
I need a real screen, with a real keyboard to be any kind of efficient.
That said, I actually think that Vim translates surprisingly well to a mobile setting. You don't have to do any awkward hand motions for doing elaborate keyboard chording (except for capitalization). The screen is small, but high enough resolution (720p I think?) to where I can make most stuff out, especially if I make the font big enough.
It's definitely not my preferred hacking environment, but I find it more fun to do that on the train than people watching. Well, most of the time at least.
Not the OP, but isn’t that one of the things that a fast input->result cycle helps with? Thoughts come and thoughts go, and if I don’t get it on the page before it goes, it better be simple enough to think of again immediately. With any complex idea, the struggle to not lose it before getting it written down is real.
You can put Linux on GPD Win. I have on mine.
> iMac (Retina 5K, 27-inch, Late 2014) and later iMac models can't be used as Target Display Mode displays.
Or does that description apply only to 5K iMacs and not to ther other models? The "and later iMac models" statement reads as very broad to me.
While I agree that it can be difficult to design information-dense UIs for small displays or provide navigability to a large feature set, I strongly applaud efforts to unify computing and work through these challenges.
I very much want all of my computing devices to be unified. In fact, I want a model where I have one computing device and multiple views ("terminals" if you wish) . But a consistent experience as Purism is pitching, and which Microsoft attempted with Windows 8 + Windows Phone 8, are viable first steps. There is learning to do here and it's great to see people taking on the challenge.
> I mean, if someone said, "I've successfully ported Vim to Android!", my first thought would be, "Why in god's name would I want to run vim on my phone?"
Sure, but if they find it useful, fun, or just plain cool, I applaud it. I want more desktop-class computing capabilities on my phone-sized device and I routinely find myself deferring important actions until I can get in front of a "real computer." Many things are just too challenging or limited on today's mobile operating systems. Even with "convergence," as Purism calls it, there will still be cases where I simply want to use a larger screen, so I'll defer until I can dock the device and use some large form-factor I/O devices. But with the stance Purism is taking, I would no longer experience the frustration of software limiting me even when I am willing to endure the limitations of my hardware.
I don't use my phone for much of anything but calling and bored web browsing anymore, but I'd genuinely love for my iPad to be more functionally useful, but the issue above is similar to a lot of other interaction limitations. I really can't imagine using any mobile app on my desktop, and I can't imagine using any of my desktop apps on mobile (admittedly the desktop apps I use are on the more complex side things.)
The biggest obstacle to a genuinely productive UI on mobile, I find, is the lack of pervasive and easy confirmation and error-recovery for potentially-unwanted inputs. System management interfaces (e.g. community-built "recovery/modding" environments) get this right (everything that's potentially unwanted gets a "perform a swipe to confirm input" prompt), but almost nothing else does.
Not OP... a BT kb/mouse has been a great consumer-friendly boost on larger tablets for me but sadly... lots of applications (on Android) don't really take advantage of this. They are still very heavily optimized for touch-only.
Example: MX Player (my fav Android player) does a great job binding keyboard presses to actions (spaceBar: pause; arrowKeys: forward, back, etc..)
In contrast, VLC for mobile lacks this "polish". Mobile browsers are another example where actions could be optimized for mouse input but I haven't come across a browser yet that acknowledges mice as a separate input source.
fyi (for anyone interested in tablet to laptop conversion to lessen gorilla arm):
Zagg Folio for 10" tablets (basically turns a tablet into a laptop). I picked this up a couple of years ago (not too many available for Android, most are essentially flimsy stands). They also have similar for smaller handhelds:
Using a keyboard has been absolutely wonderful though. It's even saved me a few times when I didn't have my laptop with me and had to ssh into work servers for issues.
"Convergence" is a pipe dream because of the differing and mutually exclusive expectations of those different user types, and "one size fits all" programming ends up underserving both segments. The only thing I would change is that mobile needs to do more to expose users to internals (things like access to the proper file manager), rather than hiding and abstracting away every detail that might confuse grandma.
"We don't believe in sort of watering down one for the other. Both [The Mac and iPad] are incredible. One of the reasons that both of them are incredible is because we pushed them to do what they do well. And if you begin to merge the two ... you begin to make trade offs and compromises.
"So maybe the company would be more efficient at the end of the day. But that's not what it's about. You know it's about giving people things that they can then use to help them change the world or express their passion or express their creativity. So this merger thing that some folks are fixated on, I don't think that's what users want."
On the other hand, I like the idea of at least being able to run software on all devices and them at least being usable, even with a shitty interface (like having to scroll through numbers on a desktop, Microsoft). This way I can still use familiar tools for non-recurring tasks. Like RDP on a phone might not be fun, but gets the job done.
citation needed. The majority of applications I need would work just fine on a powerful smartphone.
Right. We used to do perfectly serviceable work on extremely small screens, sometimes displaying as few as 40 columns and a dozen rows of text, and with keyboards that were so painful to type on that most commands would be abbreviated to 2 or 3 characters. Current versions of Linux still include a "quirk" for supporting an uppercase-only text mode that was common on early terminals and microcomputers. So no, hardware capabilities are not an inherent obstacle here. Providing an information- and interaction-dense UI on such limited devices is definitely a challenge that will require some added work, but the kind of 'convergence' that Purism is talking about is a necessary building block.
So echoes of, but not at all constrained like, computers from that era.
It’s bordering on absurdism to try and utilize the same UI between them, and simply doesn’t match the reality of human perception or tool use.
There are certainly uses where it makes sense — people who use just a phone and laptop for the internet and documents, for instance — and arguments to be made for consistency in styling or icons, but there’s also a lot of use cases where they’re different kinds of tools, even if both use computer chips, and it makes sense to have different UIs.
I appreciate Microsoft offering the other option in Windows 10: that I can use a tablet UI in tablet mode and a desktop UI in laptop mode.
An absolute ton of people use actual computers with 12" - 14" screens including for complex tasks they just switch tasks more which is probably less efficient but hardly impossible.
They may opt to dock their machine at home/work for a larger work area but as it happens many tasks may cross both environments.
For example at home you may have many windows visible at once one of which is a document you are reading or a video you are watching another an editor in which you are writing documentation or code. After you undock you may wish to continue SOME of the tasks on the smaller screen for example watching the video or reading the document but opt to defer others until you have richer input and display options.
Lets go a level deeper. Your device is a general purpose computer. It could in theory run 2 entirely different UI stacks that run on the same OS and access the same files. Its the files that are the vital thing. If you create a video in one stack and merely watch it in another what of it.
Convergence is merely the idea that you will eventually be able to carry a small enough cheap enough computer in your pocket that it wont make much sense for many people to lug around 2 different portable computers.
This seems as inevitable as computers going from buildings to something we lug around in the first place.
Yes, high-def large retina screens now (and I'm looking at one) exceed this, but as a traveller, a 10" tablet with a real goddamned operating system is a total game-changer.
Mind, I don't quite have that. I've got a 9" Android tablet with Termux that is pretty good, despite some profound limitations (mostly of the OS and Apps, some from the input, though a Bluetooth keyboard makes this a tractable laptop substitute most of the time). It's absolutely possible to get Real Work done. Though I'd prefer something bigger and less in my way, and am looking with strong interest at PureOS.
To be fair, I've used vim on my phone over SSH and it was actually a pretty good experience. Editing is a bit more deliberate of an affair than with a hardware keyboard, but still easier than trying to visually select text on the touchscreen, and no complex chorded keybindings to try to enter.
A now-dead sibling asked about an escape key; on Android at least there are keyboards that have the meta buttons (no affiliation: https://play.google.com/store/apps/details?id=org.pocketwork... is one example).
I found vim is actually the most convenient editor to use on Android to edit code without hardware keyboard compared to any editor that I found on f-droid.
And I don't use vim on a regular computer.
And beyond that, platforms have affordances which you should want to leverage. A smartphone has a very direct and tactile interaction model, but my computer pairs an extremely precise pointing mechanism with a good way to input oodles of text and chord shortcuts.
Or, in other words, do what any third-party app developer who ships apps for iOS+macOS from a single XCode project source does—but build your whole OS like that.
As well, ideally, the view layer would be modular enough that it could be unloaded and reloaded at runtime, such that you'd be able to dock your phone to an external display and have all your running applications switch to their desktop UI view-layers without losing state.
I feel like the solution is not necessarily to make one app do it all, but to embrace something more akin to a client-server architecture - one "app" with multiple UIs talking over the same API to the same backend logic.
Decoupling the UI from the business logic is not exactly a new concept.
It turns out, you can--within particular size classes. And Android's ability to support lots of different phone screen sizes was a major advantage over iOS for a long time.
But, Apple's requirement that iPad apps have separate, hand-tuned interfaces was also a huge advantage for iOS, since blown-up phone apps suck on tablets.
So now we know that the right approach is adaptive designs, but within certain bounds. Both iOS and Android have this now (iOS is more adaptive, and Android supports custom tablet layouts), the problem for Android tablets being that it's not enforced or required.
Anyway, all of this is to say that while platforms can and should do a lot of work to make it easier for developers to support multiple device classes, screen sizes, and so on, it will never be automatic.
In other words, is it acceptable to write non-convergent apps for a convergent OS?
Vim is available on android through termux. I've used it to write a few things. I actually used it to wrote an app to access my city's transit api because I wasn't a fan of the available ones.
With the right keyboard installed it's actually not too bad. Best programming editor i've actually found available on android.
They're designed for use independent of a keyboard. So yes, when you just want to stab at the screen and smudge it with skin oil, you can.
My preferred keyboard is a folio case with an integrated keyboard. I can pop this into a tent-form laptop, or, in a fraction of a second, flip the keyboard out of the way and use just the tablet. No hinges to break.
Major con: There is absolutely no standardisation of tablet form factors and corresponding case and keyboard designs. I've found this maddening to no end. Existing keyboards without exception suck, and Logitech sucks even harder. That said, this doesn't have to be the case.
Either portrait or landscape orientation, without preference on the device, oriented by accellerometer. Inverse portrait/landscape as well.
Incredible battery life. Generally, all day, with heavy use.
Tablets are virtually ideal as communications devices, so long as you're not actually in motion. I might carry a small dedicated phone in addition just for voice comms (restricted to a close whitelist), though in practice I prefer batching my comms and not being interrupted 24/7/365 without relief.
My main reasoning was, I use the bus when i'm out and about, I don't carry a laptop with me most of the time, I was unhappy with the way the bus times were displayed in the available apps, so I wrote it on my phone at work when I had a bit of time.
Most of the other things were just playing around with the limited access to the android api termux gives you. I actually prefer SL4A for android scripting, but it's been dead for years. It granted access to more of androids api than termux does though.
This mode seems suited for mobile UIs, so that flexibility should get them pretty close to being convergent. There probably still need to be some adjustments to make it really usable on mobile, but a lot of the work has already been done.
Phones have none of that. And they really can't really provide them because of limited screen estate and touch being the only way to interact with it.
This is already what I feel has happened to the web. Modern web design has so heavily optimized for responsive scaling to a small touch screen that we end up with hobbled interfaces on desktops.
Google redesigned all their desktop UIs to work with touchscreens in 2012, at the expense of mouse-and-keyboard users. Microsoft's Ribbon UI for Office, and Fluent UI for Windows 10 were both designed for touch first. Hell, even Ubuntu's Unity made huge compromises on Desktop in the name of convergence, even though no significant fraction of users ended up running Ubuntu on phones.
The original designer vision was for UI to adjust depending on the form factor of the user's device. What we got instead is "upscaled phone UIs everywhere", because programmers like to be DRY and reuse code. This is literally the tree swing cartoon.
Which are the Linux GUIs that currently "work beautifully" on the desktop?
You couldn't just hook up a usb keyboard to the Purism phone?
My point was not someone simply running vim on their phone. My point was that if someone rewrote vim to be idiomatic within the smartphone UX (e.g. replacing keyboard motions with swipes and gestures), it would largely defeat the purpose of vim as a modal editor and render it simply as another generic text editor.
i'm not convinced that's true... you're right that presently most touch interactions are very "direct" (i.e. an object will move exactly like you drag it, much like using a mouse). but that doesn't rule out more "abstract" (i.e. vim-like) methods of touch input, we just haven't seen them yet. "10 fingers on a keyboard" will always be more expressive than two thumbs on a screen for input like this because it offers more bandwidth and isn't limited by screen real estate, but i feel there's still a lot to explore w.r.t. touch gestures, even if they end up as keyboard shortcuts on steroids.
one example of a good "abstract" gesture is what Paper 53 (an iPad drawing app) did (does?) for undo: put one finger down, drag another finger around it in a compasses-like motion; counter-clockwise to undo, clockwise to redo, and the further you turn, the more "steps" it moves. felt really intuitive and way better than tapping an undo button!
If you think about it, no one knows the user's use case better than they themselves do. So who is in a better position to determine what functionality is most important to have on their tiny phone screen? Which components need to be bigger and more prominent or smaller and less prominent according to their workflow? Etc.
In other words, the GUI isn't optimized for anything by the developer, but the user can make it optimal for themselves.
The first class of application probably won't run in to any issues with just designing for a smartphone UI and not bothering with anything else.
With a Bluetooth keyboard, Vim over SSH is actually a pretty fantastic editor on mobile devices - lots of real estate, fully customizable, and none of those awful "features" that get added to mobile apps. It's really convenient to be able to just connect to my server over LTE and keep working from most anywhere.
I do agree with your point, however - apps designed to make use of a full computer's space will rarely work well on a phone screen, and the great majority of design for mobile is already atrocious even on its native platform.
> The key for enabling this is to go from remote to local by way of optimization instead of trying to go from local to remote by way of generalization. 
I think its analogous to this mobile/desktop "purist" OS. Specialize, don't generalize.
 - https://doc.akka.io/docs/akka/current/general/remoting.html#...
On smartphone native apps all the buttons are always piping up and sliding over each other, when you eventually hit one accidentally and it triggers some blocking or irreversible action it’s super frustrating.
It’s so bad that I honestly think I have a smaller error rate with the touchscreen keyboard than touchscreen GUIs.
Convergence also means selection of default applications for the target device or, if apps are actually this configurable, selection of appropriate compile time flags.
This unlocks what is for me the most appealing computing fantasy: I have exactly one device to compute with. At home or work, I plug it into my dock, where it pairs to an eGPU/monitor, external storage, keyboard, and mouse, and is my desktop computer. There, I can access the 'pro' level apps we're discussing below.
On the couch or on the go, maybe I slide it into a bigger touchscreen with some extra dumb batteries, and it's now a tablet. Throw in a keyboard case, and now it's a laptop.
And if I'm sitting on the bus or walking to work, it's my phone, and I can edit today's lecture right there, or access all my files. Maybe I'm not firing up emacs or MATLAB, but it's still there if I needed to.
This, to me, is the fantasy of convergence. And considering we're now currently paying $4000+ for the trio of a laptop, tablet, and smartphone, I suspect one could create something pretty compelling and high-end and still feel like a bargain to many.
That's an excessive number. Great laptops can be had for under $1000.
Obviously, you could spend over $4000, but I don't think this is a reasonable number for most people. Even most 'computer' people. And who still buys tablets anyway?
Q1 2018 13.17 million
Q2 2018 9.11 million
Q3 2018 11.55 million
Q4 2018 9.67 million
I think a few people still buy them...
So if you spend $2500 on a MacBook Pro, $800 on an iPad, and then $1000 on your iPhone, boom, you're over $4000.
$4000 doesn't go very far.
I do. I find them quite handy (I own 5 right now), although I admit that I use them as special-purpose devices rather than for general purpose use.
Back before Thunderbolt, I used a mini-PCI-express to PCIE adapter for more GPU power. This was great for games, but I immediately became CPU-bound, which wasn't so great.
To fix this, you could have something like Big.Little but where the Big cores are external and only used when connected. Heck, then you could do something like a Big.Medium.Little architecture, where the phone's integrated Big.Little bows to the higher IPC cores in the eCPU device.
In this way, you would be able to have something that was a "soul" device that had all your settings and stuff on it, with expandable CPU & GPU computing resources. Expanded storage would also be pretty neat, but then you'd have to figure out what did and didn't need access when you were away from your "exosuit".
The computer is actually like a computer card, that you can slide into different devices. A lot of parts like for example the casing for the laptop "case" are 3D printable.
The computer card is 65$ and then you can print your own laptop or you can buy the parts from them. If something breaks, print your own replacement part.
The icing on the cake:
The "Respects Your Freedom hardware product certification" ("currently in progress with no known blockers") from the FSF for the version with Parabola preinstalled.
They commit to being fully Libre and want to go beyond this by:
" [...] providing full CAD files, schematics, and datasheets for all the parts (without NDAs) as well as having the 3D CAD files for the casework as a completely open GPLv3+ licensed project right from its inception. In addition, all firmware and kernel sources are GPL-licensed and will always remain so, and have been vetted in advance and do not contain any copyright violations or proprietary license-violating blobs (an extremely common practice nowadays)."
Another of their focuses is the environment.
The EOMA68 Standard:
Windows 10 still contains a lot of 'tablet friendly' features, but they've been dialled down and most don't get in the way of desktop users. I think they've struck a decent balance here between the needs of desktop, netbook and tablet users, but there is nothing here for smartphone users - converging those size-constrained needs with the rest is surely the trickiest thing to get right.
When looking at creating a convergent OS, I think it's really important we look at earlier attempts, so we don't repeat past mistakes.
Wha? My main laptop, tablet, and smartphone combined don't total up anywhere near $4000.
They already have DeX which provides a large screen UI for your Android device. The next step which they have trialled, but AFAIK not release was to use a separate Linux Distro for the DeX component. Maybe not quite fully converged, but pretty close.
Also, these sync services sound great, until you're losing data due to bad sync. I tried to use Google Drive for this and lost data. So, I'd rather have one machine, well backed-up.
Laptops and smartphones are made for doing different kinds of things. The real-estate requirements are different, as are the typical use cases, and even in the case where you solve them both with, for example, dynamic web pages, you still end up coding for both use cases separately, you just now have it all stuffed into the same codebase, which is harder in many cases instead of easier.
I believe Microsoft has been trying to make all OS usecases the same for decades. I believe they have not succeeded, not because Microsoft is deficient somehow, but rather because it's not, fundamentally, a good idea.
I think that dream is possible with OS usecases as well, it's just that nobody has made it work yet. And I can't think of a better way to eventually get there than to build it slowly out of free and open source software. It might take a while, but since people have the ability to adapt the software to their needs when it is free, I'm confident with time that it will serve those needs.
Clojure for the frontend? What about native APIs that you need to use on, say, iOS or Android? What about graphics libraries and APIs? What about browser APIs? I'm sure you can write your own wrapper or bindings for whatever you need, but it's an ongoing effort/pain that isn't worth it for most people.
Every platform, backend or frontend, supports specific languages that are suitable for the platform's problem space and are subsequently preferred by the platform's community. Software rarely stands alone. You can always go against the grain with your own efforts, but it's no longer a dream, just another compromise.
Clojure for the frontend is the best-in-class frontend dev environment that I've worked with. Instant hot code reloading, a browser-connected repl, great debugging tools, and a really nice collection of libraries for getting stuff done. I've never had to use native APIs for iOS and Android, so I can't speak to that from experience, but I know that there's some really nice machine learning work that's done in Clojure. One of the main bits of Clojure philosophy is to just embrace the host platform, and our company has done that very successfully.
I think I agree that there are compromises, but on the whole I've come out pretty far ahead with the tools I get to use. My point, though, wasn't to proselytize for Clojure (even though I do love it!), but to point out that there are ecosystems that have made significant progress towards this idea of convergence, and that some people (me in particular) are very happy to be moving in that direction. I'm excited to see progress on the OS front.
There are lots of great languages I'd love to use, but if you want to target those common frontend platforms, your choice quickly becomes limited.
I think part of the motivation was also managers thinking they could easily shuttle developers between frontend, backend, and database work, and that has mostly not worked out, because what takes time to learn about each is not the language, it's the problem space and the tradeoffs.
But, if it's working out for you, I'm glad it is. I was not impressed.
Spending 70% of your time doing tedious interop doesn't sound like living the dream ;)
For example: SSH clients and servers. I've tried playing with various apps from F-Droid to make it happen, with varying success. If I have just Linux, I know what should work. Another one is backups. I have a better sense of what I need to back up on a common Linux system than an Android-like one.
Last year, I realized that the direction that smartphones have taken is not a direction that is good and useful for me, so I decided that I'd better design and build my own smartphone before I need to replace the one I have. I have it breadboarded up and fundamentally working. It should be completed this year.
One of my very first decisions was that the phone was going to run ordinary Linux, for all of the reasons you cite. I'm VERY excited about being able to ditch Android!
1) Convergence works great for "casual" apps - messaging, stores, content feeds, etc.; anything where the amount of stuff you need to see on screen at once doesn't need to be especially large. But the web already does a great job of making this type of application both responsive and cross-platform.
2) Advanced, dense professional tools will never adapt automatically to mobile screens in any meaningful way. And frankly, these are all I find myself installing natively on my desktop anymore.
The vast majority of software these days falls squarely into one of these two camps, and neither seems to benefit much from the prospect of convergence.
I'd argue this is where Convergence actually works best. (Especially the way Windows does it, anyway).
For most people, "casual" apps are 95% of what they need a computer for. And the web does a good job, but not a great job, at making these apps responsive and cross-platform. Usually, these applications sacrifice lots of performance and/or usability and/or reliability, just for the benefit of being able to run in a browser. Which is fine if that's a trade-off you want to make, but this is usually not being done out of benefit for the user.
Convergence can help fix part of this, by reducing the cost of native app development even further while preserving the majority of the quality/performance/usability benefits native apps provide.
I would say the web does an adequate job, not a good job, at this.
However, I think you should think of this in a different light: Purism's real problem is: How do we bootstrap this device?
That is to say, there is simply not enough money / engineering talent to both develop all the hardware AND all the software needed to bootstrap this thing. It must appear "viable" to the public as a 1.0 product.
Therefore, using convergence to bootstrap the product and then building out native UI's in further versions is probably the best decision.
Android/ChromeOS and iOS/MacOS are already moving to this direction for these classes of apps.
It doesn't work so well (or is more difficult to execute well, or at all) on apps with very dense UI - video editing, 3D design, IDEs, interface design apps, CAD etc
An aside - I'm not sure I'd use GTK+ for this. Why not Qt, or something like Flutter?
This is why ubuntu phone tanked. Trying to be too smart and centralizing. Librem5 phone will probably succeed on this but not for the reasons their marketing people think (convergent apps with magic! ha!). PureOS will be as irrelevant tomorrow as it is now. But their phone, being a proper linux phone like android never was, will have some small chance of success after the community buys into it and start porting a decent effort to the applications.
It feels like this announcement is missing a step though. What can we do with this? Does this allow plugging your phone into a monitor and then running your phone apps in larger windows (eg, the opposite of what's shown in the videos). The idea of having the same programs running on your phone and laptop is nice in theory, but I'm quite happy with my own custom Linux setup on my laptop, I don't want to install PureOS on there.
Of course, much more work will need to be done in other programs to support this. The Gnome Web example looks really slick, and it's great to see this sort of 'responsive design' applied to native application interfaces - Android took a step backwards in this regard. But on desktop I'd rather use Firefox, and they have entirely separate builds for desktop and mobile. I wonder if Mozilla have any plans to support this?
PureOS is just Debian with a few tweaks. This work is being done as part of the GNOME mainline branch, so any GNOME user is going to benefit from it down the road. And as "alternative" Linux desktops (MATE, Xfce, LXDE) transition to GTK3+, users of these environments will likely be able to make use of it, as well.
Good to see that Gnome are involved in this themselves too, and it's not some Purism fork of Gnome.
Instead of trying to reinvent the wheel (admittedly a new and shiny one), why don’t we just stick to the well proven approaches and design different UIs and front ends for different platforms? The bulk of the codes would go into the common business/security layers anyway. With CI/CD, each user would have his/her app with the same functionality but different UI for the optimal user experience without much headaches or additional burden.
To me the benefit is not to have a single application that works both with a touch screen and a mouse/keyboard. Rather, the benefit is to have a single filesystem that I can access with both touch screen apps and mouse/keyboard apps. This way I could for example create a grocery with a mouse/keyboard, then take my phone and check items off with a touchscreen. There are lots of things we rely on the cloud for that would be better served by a "convergent" environment imo.
It's a shame Windows Phones didn't take off. They had a great UI paradigm and I think Microsoft has done a lot of very hard work that goes mostly unappreciated in the development world, just because Google's reputation is still based on a decade-old memory of their (never official) motto "don't be evil". Microsoft hasn't been the "Halloween Papers" company for longer than Google has been a company, period.
EDIT: I'm not saying MS isn't an evil corporation. I think all corporations get to some degree of evil proportional to their size. But for some reason, Google and Apple don't get that same evaluation, getting some sort of pass, that I think is worse in the specific case of Google (being an ad-tech company). We are collectively missing out on a lot of inovation and market diversity because of this cognitive dissonance.
And also like UWP a lot, although its implementation was rather clusmy with the whole DevDiv vs WinDev issues.
Many people liked that paradigm. I am not one of them.
I really think sandboxing built-in emulator for android apps has to occur for the phone to get traction. I think i'm their ideal consumer and still can't see the value yet. I'm a technical person who is willing to deal with some issues/trade-offs for privacy, but still can't reach the tipping point to purchase.
I also think this a place where duckduckgo could partner with with their services. I think most consumers wants things to be polished and just work.
> I think i'm their ideal consumer and still can't see the value yet
I don't think you are their ideal consumer. They're appealing to the Stallmans, the people who aren't looking to replace their smartphone, but for which this would be one of their first. I have heard someone say about the Pinephone (similar project): "I don't want a smartphone. But I want this. "
I do think they could vastly expand their appeal by adding Android emulation, but I have a feeling using the (which seems like the) market leader (Alien Dalvik) would be some licensing hassle, as you'd want to allow people to install their own distro and still use it. Add to that the whole (admittedly important) thing about everything being open software.
That's certainly part of it, however I do have an iPhone currently, (seems like a better, if less than ideal option than Android), however am not happy about the locked down nature of iOS. Free software smartphones are necessary simply because they're the frontier the PC was in the 80s.
I would disagree with this point. I think this is exactly what the Purism marketing would like you to believe, but in reality, it just isn't true.
I would class myself as on the Stallman spectrum - I use a libreboot'd X200 running Trisquel, a dumbphone, no social media etc, email providers using Free Software, and so on.
In my experience of the community, Purism is very much disliked by many, and even seen as harmful to the efforts of the Free Software community. The inclusion of PureOS on the FSF distro list has more to do with technicality rather than recommendation and their hardware is pure marketing BS.
Fortunately in 2019, mobile devices aren't as reliant on native apps. I use Uber's PWA and Google Maps Go PWA, which used to be my biggest app-only dependencies. For other stuff, I find that the stock music and video player apps are more than good enough.
Linux barely exists as a desktop operating system as is. The only difference nowadays is smartphones don't have that freedom of customization desktops provide. Smartphones are consumer centric devices, you can't even swap batteries anymore. Leading OEMs have no interest in supporting an obscure operating system, they know the majority of users want Android.
When Purism releases this as an OOTB product, it will without a doubt run on some no named Chinese Phone that holds the mediocre power of any low end Android Device. Only it will be $600, rather than $180
When it gets stagnant, companies will stop innovating that hard and slowly but steadily open solutions will gain quality and feature parity.
If in 10 years I get an open phone with the features close to what I have today, I'd be pretty happy. Because I just don't think phones today are going to be that different in 10 years.
You are right that Linux Desktop barely has any market share. But it's a very viable solution and I'd personally argue that it's ahead of it's competition.
It makes sense that stagnant progress leads to open solutions because as hardware advances, alternative technologies become less challenging to implement. I'm sure as you know, there was a time when running a real time OS like Unix on a personal computer was impossible, now it's on our routers.
Back to this Librem Phone, it seems the only selling point for it's massive price tag is being libre, and non-surveillance. But for a modern smartphone to be functional it's gotta be connected to a cellular tower which is definitely using some type of monitoring system.
What exactly do you mean by Linux is ahead of its competition?
Like the PC and Laptop landscape. There isn't money poured into new series and advertisement and hype generated like crazy. Market moves forward at a slower rate.
But for a modern smartphone to be functional...
Obviously this isn't a replacement for your iphone or nexus.
This is a enthusiast's toy who want to support the libre movement and possibly contribute to it.
I think Linux on the desktop is an amazing platform. There are several different high quality user interfaces and window managers and each one have their strong points.
I personally cannot stand windows on the desktop for 10 minutes.
The company has been doing this for roughly 30 years.
The size of a company is not irrelevant to what a company can do, of course, but it's also not determinative.
This is closer to conventional in that it's still Debian and Gnome, but if they are putting development work into making that a cross-platform system then everyone benefits.
I've always wanted a nice secure Linux laptop to work on but I'm not eager to waste hours upon hours getting the drivers to behave (my experience with Linux on the desktop is a bit dated).
The things you have to watch out for are:
* Use an up to date distro with an up to date kernel (e.g. Fedora)
* Graphics are the only real driver issue. Easiest solution is to buy something with integrated Intel, but some cards are well supported, you just need to check
* Battery life will be worse compared to Windows on a machine normally sold for Windows. This situation may be better on things designed for Linux, like Dell Sputnik stuff and Purism, but I have less experience with them
Drivers in linux normally gives you less problems than OSX or Windows (latest graphic cards model excluded)
One of these days, the laptop will just get back W10 with its DirectX 11 drivers.
For a couple of years, the internal NVMe drive wasn't supported unless you changed from "RAID" to AHCI mode - unknown performance and power effects. It looks like that's changed recently.
Kernel is unrelated, .NET version are unrelated, there is a sandbox in place, COM has been redone, only a Win32 subset is supported.
Slightly OT but I hope PureOS doesn't lock down root access like Android does. Or at least release an official way to root their devices.
PureOS is just a distraction. instead of adding a usbC port to their already outdated computer line, or lowering the absurd price (there is a reason their clientele is exclusively in california and germany) they are fiddling with linux distros like it is 1995.
This is the same old a phone-just-need-a-browser idea of 10 years ago. This will fail, for the same reason firefoxOS failed: There is no whatsapp (or lock-in chat app du jour) website.
Chrome OS certainly isn't a part of any duopoly. Not even close.
Contrary to what gets discussed on HN, its worldwide desktop coverage is even lower than GNU/Linux.
A good positive example or how things should work is spotify. I regularly switch between my desktop, laptop and phone and the spotify instances seem to be aware of each other. I accidentally started playing music at home while at work today because my laptop spotify was still targeting my home desktop. Just works.
What matters here is that spotify is available on multiple platforms; it moves files around for you as you need them. All you do is sign in and it will serve you your music, playlists, etc. In the same way I can continue reading a e-book on my phone that I was reading earlier on my Kindle. Browser state is replicating across platforms as well.
The logical next steps would be devices where after authentication, your apps and data are just available and adapt to the device in a way that makes sense. Right now setting up a new laptop is a chore. You have to worry about installing stuff, configuring stuff. signing into stuff, backing up stuff, etc. Ideally all that goes away and you basically just pick up a device and start using it with zero effort. Or better even, the devices are integrated into the environment and simply adapt to you being there. Some apps won't make sense in all form-factors but many do.
Ever walked into a hotel room and after briefly fiddling with some alien hotel entertainment system simply watched netflix on your laptop? I watched netflix on a recent transatlantic flight and ignored the entertainment system 20 centimeters from my nose it's just better and I charged it using usb-c from my laptop. So, I walked out of the plane with a fully charged phone. What if those devices in hotels, planes, etc. would basically provide you all your stuff after a simple signin? Walk into a hotel and all your digital stuff is already there by the time you walk into the room?
And yes there are all sorts of concerns with privacy, security, etc. All solvable problems.
For device manufacturers this would liberate them from selling only one or a handful of devices per person. You could turn phones into fashion accessories. They pretty much are already but why just have one phone when you could have one to match each pair of shoes? Why fiddle with your phone when you step in your car that these days might have a huge touch screen and plenty of computing power. Convergence is much broader than just your phone + laptop.
As for ARM, they have it too, (TrustZone), the performance is nowhere near what x86 gives you and arguably even less free/open than x86 and developers aren't really focused on it.
You all deserve crappy media-consumer-only phones. :(
We seem to yearn for our turf wars to the degree that we help them along. Not sure why.
The important part of his comment is not the first four words though. We should probably not focus on that.
Isn't that just called portability?