3 ms·
Visions which completely reimagine things from the ground up tend to presume a much more spatial experience. Lots of VR, lots of AR. I'd tend to agree, except I
by rl3 9y ago
Visions which completely reimagine things from the ground up tend to presume a much more spatial experience. Lots of VR, lots of AR. I'd tend to agree, except I think that we're going to see things like brain implants a lot sooner than we think. Certainly before our entire stack can be rebuilt from the ground up. So in a way, I almost view it as futile.
That said, I do have some vague notions on some features a ground-up rebuild should have. Namely:
1. Provably secure systems. I'm talking ironclad. Doing for security at all layers of the stack what Rust did for memory safety, and then some. I want to live in a future where physical access becomes a thing again, so we have more cyperpunk intrigue.
2. Simplicity. Composing software should be like gluing LEGOs together. We have some slick stuff now, but it's not there yet.
3. Visual augments to code. Pure visual programming exists, and it kind of sucks. Whether that's just because we're doing it wrong, I'm not sure.
Rust for example would be a hell of a lot easier to learn if I didn't have to maintain a mental model of what everything is doing at all times, and reconciling that against its vast syntax—half of which is inferred by the compiler—which saves work, but makes the learning curve even harder in the process.
Staring at text is just so banal. I'd love to code in something that has a visual representation for every line of code I write, and see that visual representation come alive. Event architectures in particular would benefit from this.
I think if we're reinventing the entire stack from the ground up, having to not tab out and Google things every other minute would also be nice. Somehow in-context documentation hinting has become shittier over time, not better (in my opinion).
-
I've a separate vision for a completely reimagined web which I won't be sharing (doesn't everyone?), but it's worth noting that it builds atop the existing stack quite heavily. It's simply not worth it to try and rebuild the entire stack, even in that case.
I think the only thing that could possibly justify rebuilding software from the ground up is if we first rebuilt hardware from the ground up. A radically different kind of hardware that demanded a radically different kind of software.
- regan 9y agoGreat points! 1) To me, security goes hand in hand with your point on mental models. It's hard enough to imagine how a bad actor might abuse a simple system you know well. Scale that up to a complicated system that no one understands and you've got a real problem. 2) Absolutely. For one, I'd want UI separated from data and logic such that you can easily tie programs together Unix-style. Today, programs have a hard time interfacing with each other. And portability is nasty too. Maybe we could make the _ideas_ behind a program portable? People quote “Programs must be written for people to read, and only incidentally for machines to execute.” But has this ever really been true? Take any function in your codebase and imagine you were asked to explain it to a friend. Does what's written out in code resemble even remotely what you'd say to them, draw out, or demonstrate? If the representation were good enough, you could just lift out the key idea and add it to your program. 3) I've used LabView a little, and it does kind of suck. Probably because they focused on making the logic itself be visual. When I think about merge sort, I "see" the recursion and merges, with chunks of the list flying around as the stages unfold. I don't see a flow chart or a circuit diagram. I'd bet most people do something similar. Really, code is a pretty reasonable way to write out program logic. What we're missing is that visual intuition behind it, that mental model we force people to build up imperfectly.
- valine 9y agoEven if the technology is possible and useful, I personally don’t think we will ever see brain implants used outside of medical applications. The surgery to install a brain implant is dangerous and expensive. There are also religious and social stigmas to overcome where brain implants are seen as something dystopian. Or what about the hipacratic oath of do no harm? It’s hard to justify the convenience of implanted computers when the potential side effects include death. IMHO Brain implants will stay in the realm of science fiction along with flying cars.
- scroot 9y agoIn order to completely reimagine everything, you have to start at hardware, environments, and operating systems. For the past couple of decades we've been trapped in a more or less "one size fits all" when it comes to all of these. Computer architecture got more homogenized, as did operating systems. But the web becoming a dominant, near universal platform gives us the ability to experiment with all of these. Just not in the way you'd imagine. We have the ability to create unique, experimental personal computing models now that will be immediately useful if they fulfill one requirement: they have a functioning, standards compliant web browser (with TCP/IP and all that's needed). If you only have this requirement, then there's a lot of freedom. Imagine a computer designed specifically for the "operating system" that hosts it (kind of like we used to have back in the days of diversity). I put that in quotes because it could be something LISP or Smalltalk-like, where the language is itself the "operating system." So long as such a thing came with a web browser (and I know it's a big task), it would be immediately useful and usable for most people. That means potential for wide adoption. A platform like this could then give rise to the "after-web". If the system was an object/actor one, people who had these platforms would inevitably decompose the objects/actors that comprise the built in web browser, pulling them out and giving them additional functionality within the confines of their own systems. Eventually, people would network only these objects with each other. Some standard might emerge from this, and we could have a true network of interacting objects. Of course, these computers don't have to have text-based languages or anything else. They just have to have a web browser somewhere inside of them. That's what I see as the real promise of the web: it's now universal presence and adoption is the gateway towards the thing that can replace it. But in order to do so we need to re-think personal computing in total.