This is cool. I enjoy seeing these kinds of projects, thanks for sharing it and thanks for making it.
There has been so much innovation over the years around transpilers/compilers to JS, it makes me wonder what a programming paradigm of à la carte first class language functionality could look like and how it might interoperate. A system in which I might grab Haskell type syntax, Clojure list comprehensions and JS arrow functions, all together, and all working just fine.
Probably want to break up files into more granular chunks, probably more like next gen polyglot notebooks beyond a cell per language and more like custom languages composed of features in any given cell.
The system could be made to translate between functionality based on editor preference. Like python list comprehensions? Read my Clojure comprehension in that syntax.
I know this would not perfectly map, as some language functionality is more powerful than others. Still interesting to think about.
I like the other user's response to your first line.
> At least I've never seen a highly productive developer who is into tons of touchscreens and arcane finger gestures.
I totally agree, it would be silly and I imagine entertaining to watch for only just as long as it took to become incredibly annoyed by the scene. I do think, however, that we don't know what the peak of developer productivity is (nor if we should strive for it, but that's a different conversation). We don't know how humans should interact with computers and how tasks can potentially be represented by different software and hardware paradigms.
There are all kinds of keyboards. Chorded, the Space Cadet, Cannon Cat, European vs US. I don't know anything about Asian language keying but I imagine it would lend an interesting perspective as well. Bill Buxton has a gallery of input devices that is fascinating. [1]
Today, to generalize, the most productive people use the standard system of the Desktop. But they also extensively use paper and conversation and walls of post-its or whatever their shtick; in the future I imagine that we will bring computing capabilities to these more human styles of expression. That, I believe, will look and feel nothing like the Desktop.
> I do like some of the ideas here though - especially the fullscreen column mode. It feels like a more powerful and flexible version of the multitasking in macOS plus what's coming in iPad OS. I think it'd fit right in on Mac, if they could figure out an intuitive way to interact with that windowing model.
There is a very mac-like feel to this concept. I think it would fit right in. I like that the Panels tell a strong story of incentives: That vertical space is important and at the same time that excessive and persistent menu bars are explicitly not important.
I also like your example about Newtonian Physics, I'll remember that one.
ooh, I've got to push back on that one. Just because I can't figure this idea out for myself, maybe this conversation will help.
> The closer to idea a product is, the less it needs to change.
Now that I read this line again I realize yes it is true, but let me push back against the implied claim. I don't think that the Desktop 'needs to change less' because it is 'close to an ideal product.'
I'll propose that the Desktop doesn't change because it is entrenched. There are plenty of good, and more importantly, clear ideas about how personal computing can be made both more powerful and easier for the end user. What we have now is the result of capitalistic incentives. What we should have is deep knowledge work machines and fantastic end user programming capabilities.
Fun conversation starters below, not relevant to the larger discussion, but just thoughts I have in response to your post. I'd enjoy a response just to the above paragraph.
Coke may be an ideal sugar drink, but that seems like a measly category in which to be an ideal product. I can imagine Coke consumption rates dropping over time. (To counter my point, I did find that Coke stock has risen 20% in the last 5 years, compared to S&P500 rising ~15% in the same time). I can imagine them dropping due to the rising popularity and variety of other daytime casual drinks. I can imagine them dropping due to the increasing public awareness of the mal-effects of sugar. I'm sure Coke the company will do fine, but they could have used their clout over the last 100 years to spearhead a global health campaign, and they didn't. So I don't think they are an ideal product which doesn't need to change.
Excel came about pretty quickly (I don't know the specific history of MS Excel) but considering its predecessors. Visicalc was a reason on its own to buy early desktop machines. I've heard of university departments buying early workstations just to permanently run visicalc. But that still doesn't make Excel ideal. Chris Granger has done a lot of work recently to evolve spreadsheets (more focused on programming, but they are intertwined). You could look at Light Table and Eve and say they were a failure because they didn't end up as a business, but I think that kind of product is inevitable in the near future as the access interface that average people will use computers with.
I think you're right about Bicycles. They are an incredible engineering development from almost every perspective. Maybe some pointers to the views Engelbart and more have about training wheels would be interesting to this conversation though. Those are a "thing" that stuck around for quite a while, and appear to not really help the learning of riding a bike. [1]
I don't know enough about SQL. SQLite is something like the most popular database in the world right?
Good point, but I think he uses the CAD example more in the context of simulation than as defending the GUI.
I spent a few years in Architectural CAD software and afterwards went to Computer Science and I was surprised in retrospect how often I was already doing commandline-like things before I knew the first thing about a shell or repl. It seems you have that experience too, I have not heard or read too many people making that observation before.
> It's an interesting combination of incredible ideas with unusable ones
haha yes, I agree.
> It is unclear to me how this is supposed to work with large amounts of content: how is this supposed to work with tens or hundreds of thousands of files? Either you end up adding dozens of tags to every file, or the tags devolve into a path-like structure, defeating the purpose.
This project, and other real tagging systems take this into account. It is not defeating the purpose if you end up with something like a hierarchy for certain things in your file system, and that is allowed for by nesting tags. The best system is not one or the other, it is both. A quick example: A lot of projects have a large number of files, but only a small number you care about or are actively editing/reading whatever. Imagine a hierarchical style system for containing the large mess of files, and a tagging system for having each of the ones you care about at hand. This is of course possible with symlinks, but this project attempts to allow for this kind of organization effortlessly.
> but seems quite useless when we still need a mouse for precision stuff.
again, why not both? I prefer to not use the mouse whenever I can, but I enjoy using it when precision with a pointer becomes required.
> The same applies to email, bookmarks, contacts, books, and all the other stuff mentioned.
he does scare you off a bit in that demo video when it says: "and everything is there!" I agree. There is work to be done with tagging systems, best practices and getting mind share, but it is a system that has been in the works for decades, and I believe will eventually become widespread standard alongside the falling of walled gardens. But that's besides the point.
There are cool ideas here, and while they may have mostly been implemented I look forward to the day where all these desktop innovations can be easily brought together or disabled on an individual level with great ease. I think there are orders of magnitude easier and more efficient solutions waiting for us to put them together on modern hardware.
> The reason why the desktop hasn't changed much in 30 years is because it works.
That's not how innovation or success is measured in any way whatsoever. We had alchemy for centuries before Science, it was not right, nor was it good enough because it "just worked". This project is exploring a number of ideas and it reads like you are dismissing it because of the poor writing and its interest in non-traditional input methods. I think you would enjoy re-looking at the project if you just ignored the text.
It is fun to think about how much more usable the desktop could be, and it will be experiments and discussions like this one where we make progress towards that goal.
> No, they're not
I totally agree with you. Mobile sucks for just about everything if someone is used to working on a computer, but it is the case that many millions more people have mobile devices than laptops or desktops. If we could work on a system that gave them more power than the trash we have for them so far, that would be incredible.
Well, hn seems to have collectively shit on this project in this comment thread. I agree with some of the negatives, but I don't understand why those would be the facets that stick out in this conversation. Yes, his site text explaining motivations are pretty bad. App control is nothing new. And many gestures are similar to other systems. But criticisms based on security, or the originality of his ideas or his general use of swipe gestures are just bullshit.
It is backwards and naive to think that desktops are just fine, and computer programmers are historically the last to understand and embrace change (now here is where we could put some Alan Kay quotes, I'll start with his exasperation at our lack of a real CAD system for programming)
> "we would have something like what other engineering disciplines have in serious cad system, a serious simulation of the cad designs and a serious fab facility, to deal with the real problems of doing programming. Ivan [Sutherland] just jumped there [with sketchpad]." [1]
So lets talk about the interesting features he presented, and do ourselves the service of learning from this work.
Panels: Top to bottom for content is DIFFERENT THAN ALL MAINSTREAM OSes. He is lamenting permanent status bars, the windows ribbon, the chrome tab bar and more with this feature. And he goes on to explain alternate features to replace that functionality he moved for this goal of more vertical space. He also displayed a number of situations regarding navigation through panels which seem well designed. He factors in pinning an active window and the ability to scroll among others, and minimizing windows to reinforce spatial memory and leave breadcrumbs. He also accounts for resizing windows.
See the new c2 federated wiki for interesting uses of vertical space and breadcrumbs [2].
Tags: As another user mentioned in the comments, a lot of work has gone into the study of PIM, and tagging is quite effective. Of the three (search, hierarchy, tag) none is found to be best, but the availability of all three is important. This project does us the service of reminding us that we are generally missing that third option. This system offers all 3 options. (I'm sorry I can't find my source right now).
Search: Across all elements of personal computing (email to tabs to applications to files) is an interesting idea. Yes omniboxes have been around forever and will be, but this project pushes the idea that there are even more hooks to toss into that system.
Gaze: This is fantastic, and there are limitless opportunities. Of course its not a silver bullet, you wont be taking my tiling wm keyboard controls away from me (see that Onion video on the keyboardless apple) and obviously I don't think that way. But there are cool interactions that very few people if any have had the ability to come up with on gaze augmented PC systems.
Touch: Everyone is saying that tiling wm controls are way better. Of course they are. What percentage of PC users have tiling wms? Lets just round down to 0%. This brings that kind of efficiency to users which would otherwise never have it.
I appreciate the commentors who have looked at this project and reflected on it. I learn a lot from and really enjoy reading hn especially for the comment threads, I hope I can pay it back some with this.
There has been so much innovation over the years around transpilers/compilers to JS, it makes me wonder what a programming paradigm of à la carte first class language functionality could look like and how it might interoperate. A system in which I might grab Haskell type syntax, Clojure list comprehensions and JS arrow functions, all together, and all working just fine.
Probably want to break up files into more granular chunks, probably more like next gen polyglot notebooks beyond a cell per language and more like custom languages composed of features in any given cell.
The system could be made to translate between functionality based on editor preference. Like python list comprehensions? Read my Clojure comprehension in that syntax.
I know this would not perfectly map, as some language functionality is more powerful than others. Still interesting to think about.