I have similar thoughts, but closer to having a decent keyboard than having another computer. My idea is to fit the keyboard into a pair of gloves, which can either serve as a normal wireless keyboard for a device with a screen, or a wired keyboard for a computer tucked away somewhere in a pocket with headphones instead of a screen. From a previous discussion, I was told that Johnny Mnemonic had such gloves, but I did not see their work on the video.
I appreciate author's thoughts on how our screens are shaping us as computer users, and I think an audio interface will make our computing experience feel more like intimacy: most people are fine with 20% of the screen offering you adware (because the rest of the screen still serves on purpose), but no one will listen to even one second of adware for 59 seconds of content.
This is how I see the future of portable computers: the keyboard or brain implant as the main input source, sound or another brain implant as the main output source, the FLOSS operating system, and the ability to be the keyboard for an unlimited number of computers with or without a screen.
If you want a wearable keyboard, take a look at tap strap [0]. It is a series of connected rings, for one hand, that sense tapped chords as keyboard presses or mouse movements. To be clear, I don't have personal experience with it.
I disagree with Ploum that we should expect or hope for ergonomic keyboards with laptops. The market for people who desire and can afford them is too small for a production run. I say this as someone who typed this with an ergodox and followed that conversational space for several years.
From what I have seen from your [0], this thing still has a requirement to have a table which is exactly what I am trying to get rid of.
Second link shows me another not friendly to touchtyping requirement, you can see how he types some digits on 1:46 or via direct link: https://youtu.be/UzRjtvMQds4?t=106
The gloves I am talking about needs to have some clicking experience for being able to provide a touchtyping experience with no need to see anything. Experience I am talking about has to be compatible with walking, with riding a bicycle and even with driving (despite a steering wheel might be an excellent keyboard if to place keys on that part of ring on which your fingers are situated most of time).
Computers are consumption devices because of the internet, not because of screens or bad keyboards. For what it's worth, I think modern keyboards and screens are fantastic for creative work, but to each their own. A chunky keyboard can easily contain a raspberry pi, a computer good enough to last a lifetime.
Much of modern tech is bloated ad-infested garbage, but you can just opt out. You don't have to spend your life consuming content and gluing libraries together.
But having the computer of your dreams means either making sacrifices (Running a VM atop a bloated OS, on a tablet for example, while lugging around an additional keyboard) or building it yourself from the ground up.
Having something else, something more simple and often having something more text oriented is a wish I have now seen often at different places on the internet. Maybe there is something missing, maybe just a place to tie it all together, leadership, or maybe its just that everyone wants something so slightly different, that there can be no concerted effort?
But certainly people with such wishes would benefit if there was some groundwork laid. And I also think showing instead of telling what we could have could also positively impact the rest of the ecosystem.
> Computers are consumption devices because of the internet, not because of screens or bad keyboards.
Could you expand on this statement?
If some websites or services are too insisting on consuming (apps, youtube, news websites, telegram publics) than you may just not use them. But if your computer has no keyboard than you can not effectively produce text which is (and always was) the very basis of human civilisation. What if possible to create if 97% of people are not working with either text or anything analog? Various spam like Youtube videos and photos for social networks?
Mh, modern desktops instead of being desktops (witch means production and consumption devices) are mere modern awfully complex, limited and limiting dumb terminals not because of internet (witch is NOT the web) but because commercial evolution locked and demolished the original desktop concept from Xerox PARC to initially dumb machines just a bit "electrified" to keep a slow evolution instead of a revolution, after when the revolution can't be stopped, they push dumb machines aiming a crafting a virtual "metaverse" mimicking the real world office organization instead of a revolution again, than again they choose to trap all PARC innovations in commercial services to arrive to actual GAFAM.
That's nothing to do about "computers" that's just about those who implement them commercially, making a cartel who is closely similar to classic Sicilian mafia. Those who in the west are commonly known now as GAFAM, yesterday as IBM, then Microsoft, Yandex in Russian Fed., Baidu in China and so on.
Their development diverge from the concept of an unique integrated environment, interconnected with peers, the Desktop, to push first "individual applications" who are like "promoted functions" the end users can't really change nor combine, than "individual services".
So today if I post in HN from Firefox directly I can't get 2+2 = 4 whith the = 4 computed, because that's "a function" done by some other programs, while in Emacs I can compute easily because a function is a function, no barrier exists and such function do not need specific design, package, install, distribution, update etc might be just something like
(defun eval-math-expr (beg end)
"Quickly run calc on a region (from BEG to END)."
(interactive "r")
(require 'calc)
(let ((result
(calc-eval
(buffer-substring beg end))))
(save-excursion
(goto-char end) (insert " = " result))))
witch can be bound to anything I like. And in the same way anything is done in the same environment. That's the "end user programming" and the "end user glue" of anything where the barrier between code and data do not exists and so it's possible to produce anything on a desktop, with reasonable effort.
The unix philosophy is as much to blame for this as what you refer to as the cartel of commercial players. In the world of unix everything is a file and every file is a stream of bytes. This severely limits the kind of composition you can do. Sure, it's cool that you can redirect some line output into sort(1), but that's all you can do, really. You can't sort by column because output isn't structured or typed. You can't inspect output objects or write programs that build on top of them. Powershell is a step in the right direction but the open source community has loudly rejected that approach.
I agree that end user software should be programmable, but I think we've learned that you can't make good software by having applications talk to each other by JSON or XML over HTTP.
> This severely limits the kind of composition you can do.
UNIX-the-kernel just says the operating system is the wrong place to enforce data schema - the operating system's job is supporting the notion of users, processes, and abstracting I/O so each process can use I/O without stepping on each other.
UNIX-the-userland is awesome because it's fast, but you are right. But, if all UNIX processes basically have to link to a libc, there is no reason why some efficient object serialization/deserialization library that's better than parsing argv/argc can't also occupy that position - other than we don't know the best one yet.
Could put one in systemd, or maybe sqlite should be part of libc /s.
Mh, the unix philosophy I know is another: to reduce costs instead of creating a fully graphical and featured environment we just need a basic system with small programs acting like functions users can combine with some IPCs. This allow to reduce costs while not limit much users computers usage.
Unix break it's own rules adding graphics environment who do not nor can follow it's own philosophy.
The everything is a text stream is a good principle, unix fails to implement enough. Plan 9 implement it better but was simply too late to have a chance and yes, both fall because they choose to avoid Lisp and the concept of OS as a single application.
On contrary modern ideas trying to supersede absurd limits of modern OS design like the modern web with JSON and co prove to be an excellent source of bugs and still being far behind the power of classic systems because they completely fails in the basic principle to put the user and user programming at the center doing on contrary their best to give something to some intermediate levels (like devs) AVOIDING give real power to users.
PowerShell is the apotheosis of a systems designed by people who are very skilled in mere programming without ANY CLUE on the purpose a desktop computer should have, and that's why is something modern programmers love while sysadmins and users prefer to avoid. You are right stating that we can't made good software with JSON and so passing as IPCs, but you fail to see the classic model instead of PS. PS is very well designed in software engineering terms, and it's then perfectly useless for a casual user usage. An org-mode table is not much a good idea in software engineering terms, but it's perfect for casual usage. That's the point.
I have a couple of thoughts on this but they're more parallel than in complete agreement:
1. I don't think we need a phone and a home computer. There's really very little reason at this point why they can't be one and the same. A device that plugs into a dock at home and becomes a home computer, and when you undock it it becomes a phone. And I don't mean the ham-handed attempts we've seen, I mean a full-on contextual OS switch.
2. I think the next major evolution in phones should be removing the screen. We need to develop a voice assistant technology which retains context and can "understand" in a more conversational style, but I think that once we've jumped that hurdle there would be plenty of people—for whom phone-staring is currently an act of boredom or filling time—who would willingly get rid of that screen in favor of a voice assistant.
I think Samsung DeX is not half bad for your point #1.
The only real issue with it is that the current generation of their smartphones doesn't come with enough memory. Only 8GB (S22) or even 6 (S21FE). You need more for decent multitasking.
But I think generally it's pretty underrated. It had done really annoying issues in the beginning but right now I could imagine doing a working day on it. I don't because I am really a power user, but for someone with normal office use I could see it being viable.
I wish this feature would make it to mainstream AOSP because right now it's too obscure to really take off. They made a developer thing with Android 10 but didn't take it the whole way after that.
> The only real issue with it is that the current generation of their smartphones doesn't come with enough memory. Only 8GB (S22) or even 6 (S21FE). You need more for decent multitasking.
Since we're fantasising about future computers I hope there won't be more than 8Gb necessary to multitask. I remember running Windows and Office in the 90s on 16Mb. Seems like the 1000-fold increase in memory was mostly negated by wasteful software engineering...
My personal laptop has 8GB of RAM running Windows. It has plenty of RAM to run multiple chat applications, SDR software, a mail client, several browser tabs, streaming music playback, several SSH sessions, a few RDP sessions, a few text editors open, all at the same time. That's kind of a common set of applications open at any given moment on the thing when its being used. I'd say that's decently multitasking.
I don't doubt some things swap (pagefile, windows after all), but whatever its putting in swap is not noticeable. I don't experience stalls.
Android is not really optimised for desktop usage, this is the problem. It doesn't have swap and it forces apps to reload instead, which is really annoying when doing work in multiple windows. Like I said below, go to an excel sheet to look something up, come back to the browser and it will refresh due to low memory. It's something that can be fixed but it's really inherent to Android's underlying design as a one-app-at-a-time OS.
I really like Dex, at least the idea of it. I've been trying to work off my phone for a few years now, my first attempt was with the Galaxy S6, some version of container linux, and a raspberry pi with X11 forwarding as screen. It was brilliant, though a little underpowered.
My main issue with Dex is the perennity of the system. Is Samsung going to keep pushing this, or will a native android version takeover? Or maybe at some point they'll say "well that didn't work out" and abandon it completely?
I want to believe!
Every year I get closer to being able to do my work completely off a phone. I also think 8GB of RAM is plenty. Most administrative tasks can be done on that, and for the heavy tasks, you could always leverage a remote server. Think of github codespaces, or modern virtual machines in the cloud. Sure, you need internet, but don't you always, for this kind of workload?
> My main issue with Dex is the perennity of the system. Is Samsung going to keep pushing this, or will a native android version takeover? Or maybe at some point they'll say "well that didn't work out" and abandon it completely?
Agreed, this is also a worry of mine. In fact they did exactly this with Linux on DeX.
> Every year I get closer to being able to do my work completely off a phone. I also think 8GB of RAM is plenty.
Remember that Android devices don't do swap. What I see with DeX is a LOT of tab refreshing when it starts running out of memory. Which is really annoying when you're trying to do actual work (e.g. going to an Excel sheet to look up something, but then going back to the browser to continue filling in a form, but in the mean time this has reset due to a forced page reload).
Right now I'm using termux, which is working really really well. I'm amazed! I have this big PHP app wich runs perfectly fine on it, with dependencies and all, I honestly expected trouble, but it just worked.
Yes Termux is great. It can even do SSH key authentication on a Yubikey with OKCagent, with key forwarding which other options e.g. Termbot can't do.
Unfortunately the restrictions in later Android versions make it more and more difficult for Fredrick to continue supporting it. I'm currently using the F-Droid version which targets an older Android version but eventually that will become impossible too because newer android versions will eventually drop the older APIs altogether.
In particular in later Android API versions it's no longer allowed for an APK to load binaries from other sources and execute them there. Which makes the apt repository impossible. So what should it do? Include all binaries in the APK? Or distributute each app inside termux as a separate APK? Neither option sounds very appealing.
Well that's a shame. Termux is fantastically useful and a great addition to the android's ecosystem, at least for us techies. It would be sad to see it go.
I do like having both separated. Different devices for different use cases.
You also don't use e.g. the same pair of pants for swimming and office work.
Mobile OS's give you almost no control over anything, but you're forced without choice to use them and their apps you have zero say over for half the things today (e.g. parking, banking, choosing the color of your LED lamp, ...). It's great to keep that separate from my desktop computing workflow.
Unless I can bring my home computer paradigm to the phone. But are those parkings, banks and LED lamp manufacturers going to allow me to run their stuff on my OS of my choosing over which I have full control?
You seem to be missing the part where I said a full-on contextual OS switch. To borrow your metaphor, it would be like putting on a pair of pants which turned into swim trunks at the pool, then turned into work pants at work.
But then what does the phone still do? Perhaps just act as a key for an OS running in the cloud that you can access from anywhere? Or do you mean to use the phone's hardware for the computing and storage? At the very least I wouldn't want important documents stored on something so easy to lose.
My gut tells me that cloud-based OSes have too much of a user-server lag? I could be wrong. I don't claim to have all the answers for this worked out, TBH - otherwise I'd be starting a company that's working on this problem. I do think it's an avenue to be explored, though.
But as far as document storage, Maybe the dock acts as a home server? Either way, it seems like off-device document storage is a problem that's been solved multiple ways already?
> I think the next major evolution in phones should be removing the screen. We need to develop a voice assistant technology which retains context and can "understand" in a more conversational style, but I think that once we've jumped that hurdle there would be plenty of people—for whom phone-staring is currently an act of boredom or filling time—who would willingly get rid of that screen in favor of a voice assistant.
have you heard of Google Assistant? It does exactly what you are saying. They do have a screenless device too. Also there is Amazon Alexa that basically does the same thing.
These things can not do anything except of delivering some adware to be honest. I will change my mind when it become possible to do anything in REPL using this kind of screenless device. And, of course, author tells nothing about online-only devices.
well, my point was that the technology exists. Obviously it doesn't replace the traditional computer or a phone but you can do things like making phone calls, setting reminders, timers, alarms, playing songs etc. for some of these tasks you don't need wifi connection on.
> for some of these tasks you don't need wifi connection on
And all of this abilities are literally baked in chip. For example, if Google (or user/owner of the device) decides to change "OK Google" to "OK Alphabet" than all the old chips will be unable to support such a newcoming. So, I do not agree that the technology exists, these are way closer to speaking dolls than to computers.
> And all of this abilities are literally baked in chip. For example, if Google (or user/owner of the device) decides to change "OK Google" to "OK Alphabet" than all the old chips will be unable to support such a newcoming.
Its not baked into chip, its software and gets updated just like your phone or computer when its connected to the internet.
Software is too slow for this task, especially if that speaking doll does not have a powerful CPU. It is way cheaper to produce a lot of cheap ASICs which can recognize very fast only the "ok google" keyword, maybe few most common phonemes also, but otherwise it just throws recorded sound on the server. So, all the software for recognizing unusual phrases is usually running on cloud and the speaking doll has nothing to update.
I'm not sure if you mean me by "author" or the article's author, but I think we have different base thoughts. Mine would need to be online.
I'd like to be able to get information, store information, get and receive calls, texts, slack messages, make appointments, etc. I started with "what do I want to be able to do on a regular basis, from anywhere I am?" Then I go to "does a technology exist which allows me to do that without a screen?" Google Assistant is close-ish, but there's still a lot of work to be done to get past "the Beat up Martin -> Eat up Martha problem," and TBH I don't think they're putting much work into it anymore, progress seems stalled.
The article's author. I agree with the every single point of the article and I want to develop author's idea here because it resonates with some ideas of mine.
> I'd like to be able to get information, store information, get and receive calls, texts, slack messages, make appointments, etc.
This is what Iphone does maybe in the best possible way.
My needs are: to write, to program, to use Vim and Emacs, to be as close to body as possible, to be able to control others computers and screens in my house.
> the Beat up Martin -> Eat up Martha problem
That's why author's poind about keyboard-centric device is timeless.
But Google was never close to the computer the author describes (in my opinion).
Perfect listening (recognizing everything with no errors) is not a big deal if you already have a perfect keyboard but perfect sounding of anything happening on the screen is where the progress is absent.
Imagine working with CLI using sound only in such a way which make your CLI experience better than GUI.
GA doesn't do -exactly- what I'm saying. It's close, but not all the way there. The interactions and context would need to be seamless. And my experience with Alexa is that it's a steaming pile of garbage. YMMV.
The thing is, computers are pretty cheap. And you still need electronics to turn your phone into a laptop or a desktop, which might contain mini embedded computers themselves. Would it really be that much cheaper or even simpler? (Forgetting my nerd-type need to run a Plex server and so on.)
Like, with TVs. Like a lot of people I want something more like a display, than a crappy computer running a crappy operating systems, since I use my own set-top box and such. But I don't think the parts needed to turn a TV into a crappy Android computer are really all that expensive. (Also "thin clients" are often just decent computers themselves!)
All that being said I personally like the idea of having a giant house supercomputer like the one in Enterprise, with various tablets and such just interfaces to that one single computer.
1) One device that does everything will work well if it does everything well. I can take a laptop anywhere and have a usable computer just about everywhere. A phone dock works in locations where you visit often and have a dock, and I wouldn't trust docks in locations I don't control. If I want to work at a coffee store or in a car I can't use a dock.
2) Human design needs to be centered around humans. Humans are designed to rapidly take in lots of information through vision. Designing a device that removes the primary interface between human senses and the device is making that device significantly less useful. I would guess that 90% of the time I spend on my phone is spent reading. I don't want to be read to, but I already have that option if I want. Purposely ruining the device UI and its primary purpose in an attempt to reduce "phone staring" is directly hostile to users. Any sort of general computing device should have the ability to engage directly with your most detailed and useful sense.
For computers to be used forever, we must accept that the code written for a computer can be outlived by the form factor. So what persists throughout time is not necessarily code but ideas.
So I want people to create whitepapers and document their learnings of their project and industry projects so others can learn from their lessons. The good ideas should be passed on through time.
For example, NES/Playstation/Switch/Xbox/PC game sourcecode are essentially one-shot projects, the code is not mutated much after release except for bug fixes whereas general purpose computing the code must be adapted over time to cope with changes in the world. The lineage of code written for these game consoles and old PCs, amiga and commodore are all ending. But the ideas behind that code persists.
For example, the code of Pentium Windows 95 tower probably doesn't resemble the code of Windows 11 anymore. And the tower CPU is very similar.
You can probably see ideas in the code there but everything else is different.
All the lessons of DOS, Amiga, Commodore and other old retro computers and minicomputers such as PDP-11 and IBM mainframes should all be learned and passed on.
We want software ideas that are durable and last forever. File systems are an idea that are durable. Processes are an idea that are durable.
I do wonder how many young people possess the capacity to writing an operating system today. The skills have been long fought by Linus and other operating system developers throughout time.
I want people to document the lessons and implementation notes of various low level system services. The UNIX POSIX API is durable.
I'm writing this on an Intel 10th generation NUC and it is plenty fast for running Ubuntu virtual machines and running IntelliJ on Windows 11. It has an Intel Processor Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz, 1608 Mhz, 6 Core(s), 12 Logical Processor(s)
I suspect I can get a lot of usage out of this computer and move homes more than once if need be. The computer is only 4 inches by 4 inches so it is easily transportable.
Another idea that needs to persist is the idea of archive quality formats. PDF, JPEG, Markdown shall probably be readable in 10 years time. But other document formats maybe not so much.
> For example, NES/Playstation/Switch/Xbox/PC game sourcecode are essentially one-shot projects, the code is not mutated much after release except for bug fixes whereas general purpose computing the code must be adapted over time to cope with changes in the world. The lineage of code written for these game consoles and old PCs, amiga and commodore are all ending. But the ideas behind that code persists.
This doesn’t sound right to me. Sports games for example reuse much of the old game (NHL 2022 reuses a lot of code from 2021). Additionally almost all games use a standard game engine (in-house or external) and that engine is reused across many titles. That engine incorporates those learnings. It’s very hard to build anything if you’re constantly starting from scratch. I think you’re heavily discounting just how often existing code is reused.
Game engines are what we want. I would like cross polination of computing ideas within the computer industry.
To run a modern software stack I need to do a lot of work. Even more work to package for Linux and be cross platform and multi platform on mobile.
There's a neverending supply of work to be done.
Who is downstream of who? Who is upstream of who? I'm surprised there isn't a map of this.
I'm saying this work of integrating what other people has done is an end of line lineage. Or it's a lineage of its own that never integrates with others.
Linux distributors collect software written by multiple other people and incorporate learnings from getting them working together seamlessly. But there's no shortage of linux distributions.
If I say Ubuntu 18 or Ubuntu 22 people know that's a solid base to build upon. But anything I build upon doesn't necessarily get merged upstream for other people to build upon. The lineage essentially ends there and there, it only goes on within its own line.
Do linux distributions merge?
With games, the game is stripped of some assets and then new assets are added and new logic is added and that's a new game. But only the game company of that game and players of that game benefits from that game, except for the inspiration for lookalikes or clones with other separate lineages.
To come back to the article, I want a computer infrastructure that isn't obsolete as soon I deploy it. So that's requires lineage merging and project merging.
I really don’t understand what point you’re trying to make.
> Do linux distributions merge?
What does this mean to you? The vast majority of Linux distributions are based on the same sets of packages and any work done by one tends to be upstreamed and cross pollinates.
> To come back to the article, I want a computer infrastructure that isn't obsolete as soon I deploy it.
Can you give an example of something that is obsolete as soon as you deploy it? The slowing down of electronics manufacturing actually is ossifying things more. A computer in 5 years won’t look that different from a computer today whereas in the 90s that wasn’t as true. That being said, a computer today architecturally is quite similar.
> With games, the game is stripped of some assets and then new assets are added and new logic is added and that's a new game. But only the game company of that game and players of that game benefits from that game, except for the inspiration for lookalikes or clones with other separate lineages.
What would it look like for asset and gameplay changes to NHL 2022 be integrated in a beneficial way for Call of Duty? I think you’re negating the existence of path dependence. There’s sometimes no way to “merge” between paths and that’s not avoidable. Not all ideas are compatible - how would you “merge” that? And different circumstances call for different approaches.
> I would like cross polination of computing ideas within the computer industry.
We have that. That’s what software and hardware libraries are. Heck, we have repositories in almost every language now that makes it trivial to drop in an existing component. You can even often times see the source code / patch it / push changes upstream
> Why haven’t we seen a single computer with such a built-in keyboard? Because computers are not built to type any more. There are built to consume content.
Interesting how casually author dismisses the millions of people filming themselves and posting on Instagram/TikTok as "consuming".
There's more to "creating" than just writing code in a terminal.
> You own your input (your favourite keyboard and trackball)
Same thing again, author doesn't even mention microphone/camera as "input".
> We forgot that a computer should not hide how it works to be easy but instead allow its user to learn gradually about it.
Shall we make the same argument about cars? Should cars gradually introduce you to mechanical and electrical engineering? What about your bathroom fixture? Should it try to steer you into becoming a plumber? Some say plumbing is as critical to our civilization as computing.
Touch + Active Digitizer Pen is very good in my experience.
Handwriting recognition has gotten much better this decade, and having 'fingers" allows for pinch-to-zoom and finger-point to scroll. The pen allows for copy/paste, selection, and "hover" allows you to access Alt-text.
Touch + Active Digitizer seems to be an acceptable replacement for a mouse, and even functions as a very crude keyboard with handwriting recognition. The only issue is that I type several times faster than I write, so the keyboard is still my preferred entry method.
I'm not sure I understand the objection to the clamshell laptop here. You can easily close (or almost-close) the clamshell, add an external keyboard and/or an external monitor. The clamshell is exactly what the author describes from their Forever Computer, except that it also opens up to have a screen and keyboard that are usable if you need them.
Hard to imagine to own a computer for 80 years, technological progress moves so fast. Like the author, I also have a couple of typewriters at home and even there it's obvious that you wouldn't want to keep using let's say a model from the 60s if you had access to one from the 80s, as it's a world of difference in terms of ease of use. It's also hard to imagine how you would non-destructively transform the 60s model into the 80s one, as everything is so different (size, key layout, materials, etc.).
I don't intend to be mean but this is technological fetishism. The HIDs that currently define the computer being talked about here are simply attempts to fit the device to the environment and purpose for which it is used. Screens, mouse, trackpad, keyboard are all simply the best we can do with current limitations. These limitations are felt more in some domains than in others. If your domain is writing then the typewriter does feel like a natural ideal for what a computer should be and a keyboard is a natural successor. If instead you are a 3D artist then the form of a typewriter becomes antithesis to how you want to interact with your computer and even the best peripheral options we have are inadequate.
I look forward to a time when the limitations of screen and keyboard are obsolete. When I can move freely through space and populate that space with shapes, images, text, scenes unbounded by tiny rectangles. Where I can interact with that overlay by conversing with it, touching it, wielding all manner of physical and virtual tools. I'll carefully place my old keyboard on the shelf beside the typewriter and will only take it down to use it from time to time out of nostalgia.
> Where I can interact with that overlay by conversing with it, touching it, wielding all manner of physical and virtual tools.
And if I want to listen to one radio channel or song without switching it (or opening garage doors), will I have to stand still in the middle of the room?
This is a non-sensical reply to me but I'll answer anyways. I think the ideal interface for this already exists, you just say "Play [song] by [artist]" and the song starts playing.
This was reply inspired by some description I think I've read in Hitchhikers Guide to the Galaxy. Voice interfaces are not yet perfect, have problems with understanding users and could misinterpret some sentences spoken to other people as spoken to it. Also when you have interfaces everywhere, you risk stumbling on and activating some controls you didn't even know exist, common troupe in films where someone presses one button and everything in a room goes crazy, along with shaking bed. My reply was not directed at you specifically, just for general class of zealots of touch (or even touchless) interfaces.
59 comments
[ 2.9 ms ] story [ 120 ms ] threadI appreciate author's thoughts on how our screens are shaping us as computer users, and I think an audio interface will make our computing experience feel more like intimacy: most people are fine with 20% of the screen offering you adware (because the rest of the screen still serves on purpose), but no one will listen to even one second of adware for 59 seconds of content.
This is how I see the future of portable computers: the keyboard or brain implant as the main input source, sound or another brain implant as the main output source, the FLOSS operating system, and the ability to be the keyboard for an unlimited number of computers with or without a screen.
I disagree with Ploum that we should expect or hope for ergonomic keyboards with laptops. The market for people who desire and can afford them is too small for a production run. I say this as someone who typed this with an ergodox and followed that conversational space for several years.
[0] https://youtu.be/owg3-LZpsSI?t=20
[1] https://youtu.be/UzRjtvMQds4?t=68
Second link shows me another not friendly to touchtyping requirement, you can see how he types some digits on 1:46 or via direct link: https://youtu.be/UzRjtvMQds4?t=106
The gloves I am talking about needs to have some clicking experience for being able to provide a touchtyping experience with no need to see anything. Experience I am talking about has to be compatible with walking, with riding a bicycle and even with driving (despite a steering wheel might be an excellent keyboard if to place keys on that part of ring on which your fingers are situated most of time).
Much of modern tech is bloated ad-infested garbage, but you can just opt out. You don't have to spend your life consuming content and gluing libraries together.
Having something else, something more simple and often having something more text oriented is a wish I have now seen often at different places on the internet. Maybe there is something missing, maybe just a place to tie it all together, leadership, or maybe its just that everyone wants something so slightly different, that there can be no concerted effort?
But certainly people with such wishes would benefit if there was some groundwork laid. And I also think showing instead of telling what we could have could also positively impact the rest of the ecosystem.
Could you expand on this statement?
If some websites or services are too insisting on consuming (apps, youtube, news websites, telegram publics) than you may just not use them. But if your computer has no keyboard than you can not effectively produce text which is (and always was) the very basis of human civilisation. What if possible to create if 97% of people are not working with either text or anything analog? Various spam like Youtube videos and photos for social networks?
That's nothing to do about "computers" that's just about those who implement them commercially, making a cartel who is closely similar to classic Sicilian mafia. Those who in the west are commonly known now as GAFAM, yesterday as IBM, then Microsoft, Yandex in Russian Fed., Baidu in China and so on.
Their development diverge from the concept of an unique integrated environment, interconnected with peers, the Desktop, to push first "individual applications" who are like "promoted functions" the end users can't really change nor combine, than "individual services".
So today if I post in HN from Firefox directly I can't get 2+2 = 4 whith the = 4 computed, because that's "a function" done by some other programs, while in Emacs I can compute easily because a function is a function, no barrier exists and such function do not need specific design, package, install, distribution, update etc might be just something like
witch can be bound to anything I like. And in the same way anything is done in the same environment. That's the "end user programming" and the "end user glue" of anything where the barrier between code and data do not exists and so it's possible to produce anything on a desktop, with reasonable effort.I agree that end user software should be programmable, but I think we've learned that you can't make good software by having applications talk to each other by JSON or XML over HTTP.
UNIX-the-kernel just says the operating system is the wrong place to enforce data schema - the operating system's job is supporting the notion of users, processes, and abstracting I/O so each process can use I/O without stepping on each other.
UNIX-the-userland is awesome because it's fast, but you are right. But, if all UNIX processes basically have to link to a libc, there is no reason why some efficient object serialization/deserialization library that's better than parsing argv/argc can't also occupy that position - other than we don't know the best one yet.
Could put one in systemd, or maybe sqlite should be part of libc /s.
Unix break it's own rules adding graphics environment who do not nor can follow it's own philosophy.
The everything is a text stream is a good principle, unix fails to implement enough. Plan 9 implement it better but was simply too late to have a chance and yes, both fall because they choose to avoid Lisp and the concept of OS as a single application.
On contrary modern ideas trying to supersede absurd limits of modern OS design like the modern web with JSON and co prove to be an excellent source of bugs and still being far behind the power of classic systems because they completely fails in the basic principle to put the user and user programming at the center doing on contrary their best to give something to some intermediate levels (like devs) AVOIDING give real power to users.
PowerShell is the apotheosis of a systems designed by people who are very skilled in mere programming without ANY CLUE on the purpose a desktop computer should have, and that's why is something modern programmers love while sysadmins and users prefer to avoid. You are right stating that we can't made good software with JSON and so passing as IPCs, but you fail to see the classic model instead of PS. PS is very well designed in software engineering terms, and it's then perfectly useless for a casual user usage. An org-mode table is not much a good idea in software engineering terms, but it's perfect for casual usage. That's the point.
1. I don't think we need a phone and a home computer. There's really very little reason at this point why they can't be one and the same. A device that plugs into a dock at home and becomes a home computer, and when you undock it it becomes a phone. And I don't mean the ham-handed attempts we've seen, I mean a full-on contextual OS switch.
2. I think the next major evolution in phones should be removing the screen. We need to develop a voice assistant technology which retains context and can "understand" in a more conversational style, but I think that once we've jumped that hurdle there would be plenty of people—for whom phone-staring is currently an act of boredom or filling time—who would willingly get rid of that screen in favor of a voice assistant.
The only real issue with it is that the current generation of their smartphones doesn't come with enough memory. Only 8GB (S22) or even 6 (S21FE). You need more for decent multitasking.
But I think generally it's pretty underrated. It had done really annoying issues in the beginning but right now I could imagine doing a working day on it. I don't because I am really a power user, but for someone with normal office use I could see it being viable.
I wish this feature would make it to mainstream AOSP because right now it's too obscure to really take off. They made a developer thing with Android 10 but didn't take it the whole way after that.
Since we're fantasising about future computers I hope there won't be more than 8Gb necessary to multitask. I remember running Windows and Office in the 90s on 16Mb. Seems like the 1000-fold increase in memory was mostly negated by wasteful software engineering...
I don't doubt some things swap (pagefile, windows after all), but whatever its putting in swap is not noticeable. I don't experience stalls.
My main issue with Dex is the perennity of the system. Is Samsung going to keep pushing this, or will a native android version takeover? Or maybe at some point they'll say "well that didn't work out" and abandon it completely?
I want to believe!
Every year I get closer to being able to do my work completely off a phone. I also think 8GB of RAM is plenty. Most administrative tasks can be done on that, and for the heavy tasks, you could always leverage a remote server. Think of github codespaces, or modern virtual machines in the cloud. Sure, you need internet, but don't you always, for this kind of workload?
Yeah, yeah, I want to believe :)
Agreed, this is also a worry of mine. In fact they did exactly this with Linux on DeX.
> Every year I get closer to being able to do my work completely off a phone. I also think 8GB of RAM is plenty.
Remember that Android devices don't do swap. What I see with DeX is a LOT of tab refreshing when it starts running out of memory. Which is really annoying when you're trying to do actual work (e.g. going to an Excel sheet to look up something, but then going back to the browser to continue filling in a form, but in the mean time this has reset due to a forced page reload).
Right now I'm using termux, which is working really really well. I'm amazed! I have this big PHP app wich runs perfectly fine on it, with dependencies and all, I honestly expected trouble, but it just worked.
As for the swap: yeah that sounds annoying :(
Unfortunately the restrictions in later Android versions make it more and more difficult for Fredrick to continue supporting it. I'm currently using the F-Droid version which targets an older Android version but eventually that will become impossible too because newer android versions will eventually drop the older APIs altogether.
In particular in later Android API versions it's no longer allowed for an APK to load binaries from other sources and execute them there. Which makes the apt repository impossible. So what should it do? Include all binaries in the APK? Or distributute each app inside termux as a separate APK? Neither option sounds very appealing.
You also don't use e.g. the same pair of pants for swimming and office work.
Mobile OS's give you almost no control over anything, but you're forced without choice to use them and their apps you have zero say over for half the things today (e.g. parking, banking, choosing the color of your LED lamp, ...). It's great to keep that separate from my desktop computing workflow.
Unless I can bring my home computer paradigm to the phone. But are those parkings, banks and LED lamp manufacturers going to allow me to run their stuff on my OS of my choosing over which I have full control?
But as far as document storage, Maybe the dock acts as a home server? Either way, it seems like off-device document storage is a problem that's been solved multiple ways already?
> We need to develop a voice assistant technology which retains context and can "understand" in a more conversational style
Former is about output device while latter is about input one. What is the connection?
My phone can only run some stupid games and some web apps. You cannot program on it and you have a very limited choice on what you can run on it.
have you heard of Google Assistant? It does exactly what you are saying. They do have a screenless device too. Also there is Amazon Alexa that basically does the same thing.
> for some of these tasks you don't need wifi connection on
And all of this abilities are literally baked in chip. For example, if Google (or user/owner of the device) decides to change "OK Google" to "OK Alphabet" than all the old chips will be unable to support such a newcoming. So, I do not agree that the technology exists, these are way closer to speaking dolls than to computers.
Its not baked into chip, its software and gets updated just like your phone or computer when its connected to the internet.
I'd like to be able to get information, store information, get and receive calls, texts, slack messages, make appointments, etc. I started with "what do I want to be able to do on a regular basis, from anywhere I am?" Then I go to "does a technology exist which allows me to do that without a screen?" Google Assistant is close-ish, but there's still a lot of work to be done to get past "the Beat up Martin -> Eat up Martha problem," and TBH I don't think they're putting much work into it anymore, progress seems stalled.
The article's author. I agree with the every single point of the article and I want to develop author's idea here because it resonates with some ideas of mine.
> I'd like to be able to get information, store information, get and receive calls, texts, slack messages, make appointments, etc.
This is what Iphone does maybe in the best possible way. My needs are: to write, to program, to use Vim and Emacs, to be as close to body as possible, to be able to control others computers and screens in my house.
> the Beat up Martin -> Eat up Martha problem
That's why author's poind about keyboard-centric device is timeless.
But Google was never close to the computer the author describes (in my opinion). Perfect listening (recognizing everything with no errors) is not a big deal if you already have a perfect keyboard but perfect sounding of anything happening on the screen is where the progress is absent.
Imagine working with CLI using sound only in such a way which make your CLI experience better than GUI.
Like, with TVs. Like a lot of people I want something more like a display, than a crappy computer running a crappy operating systems, since I use my own set-top box and such. But I don't think the parts needed to turn a TV into a crappy Android computer are really all that expensive. (Also "thin clients" are often just decent computers themselves!)
All that being said I personally like the idea of having a giant house supercomputer like the one in Enterprise, with various tablets and such just interfaces to that one single computer.
1) One device that does everything will work well if it does everything well. I can take a laptop anywhere and have a usable computer just about everywhere. A phone dock works in locations where you visit often and have a dock, and I wouldn't trust docks in locations I don't control. If I want to work at a coffee store or in a car I can't use a dock.
2) Human design needs to be centered around humans. Humans are designed to rapidly take in lots of information through vision. Designing a device that removes the primary interface between human senses and the device is making that device significantly less useful. I would guess that 90% of the time I spend on my phone is spent reading. I don't want to be read to, but I already have that option if I want. Purposely ruining the device UI and its primary purpose in an attempt to reduce "phone staring" is directly hostile to users. Any sort of general computing device should have the ability to engage directly with your most detailed and useful sense.
So I want people to create whitepapers and document their learnings of their project and industry projects so others can learn from their lessons. The good ideas should be passed on through time.
For example, NES/Playstation/Switch/Xbox/PC game sourcecode are essentially one-shot projects, the code is not mutated much after release except for bug fixes whereas general purpose computing the code must be adapted over time to cope with changes in the world. The lineage of code written for these game consoles and old PCs, amiga and commodore are all ending. But the ideas behind that code persists.
For example, the code of Pentium Windows 95 tower probably doesn't resemble the code of Windows 11 anymore. And the tower CPU is very similar.
You can probably see ideas in the code there but everything else is different.
All the lessons of DOS, Amiga, Commodore and other old retro computers and minicomputers such as PDP-11 and IBM mainframes should all be learned and passed on.
We want software ideas that are durable and last forever. File systems are an idea that are durable. Processes are an idea that are durable.
I do wonder how many young people possess the capacity to writing an operating system today. The skills have been long fought by Linus and other operating system developers throughout time.
I want people to document the lessons and implementation notes of various low level system services. The UNIX POSIX API is durable.
I'm writing this on an Intel 10th generation NUC and it is plenty fast for running Ubuntu virtual machines and running IntelliJ on Windows 11. It has an Intel Processor Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz, 1608 Mhz, 6 Core(s), 12 Logical Processor(s)
I suspect I can get a lot of usage out of this computer and move homes more than once if need be. The computer is only 4 inches by 4 inches so it is easily transportable.
Another idea that needs to persist is the idea of archive quality formats. PDF, JPEG, Markdown shall probably be readable in 10 years time. But other document formats maybe not so much.
This doesn’t sound right to me. Sports games for example reuse much of the old game (NHL 2022 reuses a lot of code from 2021). Additionally almost all games use a standard game engine (in-house or external) and that engine is reused across many titles. That engine incorporates those learnings. It’s very hard to build anything if you’re constantly starting from scratch. I think you’re heavily discounting just how often existing code is reused.
To run a modern software stack I need to do a lot of work. Even more work to package for Linux and be cross platform and multi platform on mobile.
There's a neverending supply of work to be done.
Who is downstream of who? Who is upstream of who? I'm surprised there isn't a map of this.
I'm saying this work of integrating what other people has done is an end of line lineage. Or it's a lineage of its own that never integrates with others.
Linux distributors collect software written by multiple other people and incorporate learnings from getting them working together seamlessly. But there's no shortage of linux distributions.
If I say Ubuntu 18 or Ubuntu 22 people know that's a solid base to build upon. But anything I build upon doesn't necessarily get merged upstream for other people to build upon. The lineage essentially ends there and there, it only goes on within its own line.
Do linux distributions merge?
With games, the game is stripped of some assets and then new assets are added and new logic is added and that's a new game. But only the game company of that game and players of that game benefits from that game, except for the inspiration for lookalikes or clones with other separate lineages.
To come back to the article, I want a computer infrastructure that isn't obsolete as soon I deploy it. So that's requires lineage merging and project merging.
> Do linux distributions merge?
What does this mean to you? The vast majority of Linux distributions are based on the same sets of packages and any work done by one tends to be upstreamed and cross pollinates.
> To come back to the article, I want a computer infrastructure that isn't obsolete as soon I deploy it.
Can you give an example of something that is obsolete as soon as you deploy it? The slowing down of electronics manufacturing actually is ossifying things more. A computer in 5 years won’t look that different from a computer today whereas in the 90s that wasn’t as true. That being said, a computer today architecturally is quite similar.
> With games, the game is stripped of some assets and then new assets are added and new logic is added and that's a new game. But only the game company of that game and players of that game benefits from that game, except for the inspiration for lookalikes or clones with other separate lineages.
What would it look like for asset and gameplay changes to NHL 2022 be integrated in a beneficial way for Call of Duty? I think you’re negating the existence of path dependence. There’s sometimes no way to “merge” between paths and that’s not avoidable. Not all ideas are compatible - how would you “merge” that? And different circumstances call for different approaches.
> I would like cross polination of computing ideas within the computer industry.
We have that. That’s what software and hardware libraries are. Heck, we have repositories in almost every language now that makes it trivial to drop in an existing component. You can even often times see the source code / patch it / push changes upstream
Interesting how casually author dismisses the millions of people filming themselves and posting on Instagram/TikTok as "consuming".
There's more to "creating" than just writing code in a terminal.
> You own your input (your favourite keyboard and trackball)
Same thing again, author doesn't even mention microphone/camera as "input".
> We forgot that a computer should not hide how it works to be easy but instead allow its user to learn gradually about it.
Shall we make the same argument about cars? Should cars gradually introduce you to mechanical and electrical engineering? What about your bathroom fixture? Should it try to steer you into becoming a plumber? Some say plumbing is as critical to our civilization as computing.
you need a driving licence to draw cars. Now there are some BMW and Audi drivers who never touch the turn signal.
If I had to choose between personally owning a computer or running water and flushing toilets, I'd pick the pipes every time.
I like touch, pencil/pen, voice/microphone for input and screens with speakers for output.
Wait until your fingers starts complaining.
Handwriting recognition has gotten much better this decade, and having 'fingers" allows for pinch-to-zoom and finger-point to scroll. The pen allows for copy/paste, selection, and "hover" allows you to access Alt-text.
Touch + Active Digitizer seems to be an acceptable replacement for a mouse, and even functions as a very crude keyboard with handwriting recognition. The only issue is that I type several times faster than I write, so the keyboard is still my preferred entry method.
I look forward to a time when the limitations of screen and keyboard are obsolete. When I can move freely through space and populate that space with shapes, images, text, scenes unbounded by tiny rectangles. Where I can interact with that overlay by conversing with it, touching it, wielding all manner of physical and virtual tools. I'll carefully place my old keyboard on the shelf beside the typewriter and will only take it down to use it from time to time out of nostalgia.
And if I want to listen to one radio channel or song without switching it (or opening garage doors), will I have to stand still in the middle of the room?