Kera Desktop: open-source, cross-platform, web-based desktop environment
desktop.kerahq.com
desktop.kerahq.com
Obviously this has deficiencies but like it or not the web _is_ computing for the vast majority of people and exploring/pushing its limits of user experience is something few at all seem interested in.
Projects like Arc[1] and suckless[2] approach browsers in novel (albeit divergent) ways, but as a whole it seems to be a very unexplored problem space.
The idea of an Engelbart[3] style system built for the modern hypermedia-capable platform is an intoxicating one that desperately needs more attention.
[1]: https://thebrowser.company/
[2]: https://surf.suckless.org/ with https://tools.suckless.org/tabbed/ and https://tools.suckless.org/dmenu/
Kind of a Chrome OS but not so tied with the Google ecosystem?
The page is all you need. A web site can be a canvas where everything can come together. And it can pull in other sites and capabilities.
We do need some new APIs for the web platform to flourish fully. Some small local host services might fill in. Or yes we could indeed enhance the browser. But the idea is that it's the page not the browser creating the experience. The page is the hypermedium.
I don't even disagree per se, i just think the grumbling is mostly irrelevant to how incredibly potent excellent & interconnected what we have is. And I think the grissly grim outlooks all ignore the incredible vectors of progress that have been lifting lifting lifting things so much higher for so long & show no signs of abating.
Letting the perfectionist neediness get in the way of seeing how amazing & competent & remarkable an ecosystem is is unfortunate.
I don't need a screen reader, but I do use Vimium, and I always hate finding an app that I can't navigate with the keyboard (usually because of abuse of JavaScript, but sometimes because they're just rendering a canvas). I don't look forward to that continuing.
Oh sure there are hundreds of modern new graphics libraries. Not a one of them is trying to be a language independent medium. None of these could ever be regarded as an internet protocol.
I'm thinking, a mobile first, cross platform desktop environment that's built to run apps built upon the WASM component model. Just a runtime even. I guess it'll be replacing a big part of the OS's job but on the other hand, it'll have first class support for web/instant apps. Yes, email me if you're working on anything like this.
This is something I've been looking for in other DEs, but never found.
> Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands.
I key everything off a shell variable called SESSION, and have a few scripts to set that before spinning up a screen/tmux instance if I don't already have one running for the context in question.
There's a somewhat dated snapshot of some of my config files (relevant and otherwise) at https://github.com/dlthomas/config-files
- different task bar layouts for different activities
- different desktop widget layouts for different activities
- you can associate files with activities and Dolphin has a `currentactivity://` scheme (tho I do wish this could be extended to apps. As of now if you only want an app to be in a certain activity you've got some window rules to setup)
They live in an awkward place, since virtual desktops are a Linux WM thing while activities are just a KDE plasma thing.
As for widgets, I am still struggling to see the point of widgets (regardless of platform, it is the same for mobiles). Usually if I am in front of my computer screen, I will hace apps opened that will hide any kind if widgets. Or is it for people using 8k 120cm diagonals screens?
- Steam
- Youtube
- Plex
While for work you might have:
- A terminal
- Work chat
- Work ticketing system
- Your editor
I'll just link to a page about Activities since I'm just rehashing them: https://docs.kde.org/stable5/en/plasma-desktop/plasma-deskto...
You either use them instead of standard virtual desktops or if you need sets of sets of applications in addition to eg both work and home activities have desktops 1..n with different windows.
I use virtual desktops to separate apps when developing (1 for terminal, 2 for the app, 3 for docs, 4 for the IDE, 5 for additional tools). I switch between them every few seconds sometimes, so the exact numbering is important.
With KDE activities, it's nice to be able to have two fully separate projects (different customers or contexts) open at the same time, while keeping their respective virtual desktop arrangements.
Room is normspeak.
It's just the name for "where the windows go".
So you might have your terminal full screen on one virtual desktop, and your browser on another virtual desktop, and use shortcuts to navigate from one to the other.
>What is Kera Desktop based on?
Mostly web technologies. Kera Desktop is written in vanilla javascript and does not rely on third-party frameworks but uses some independent libraries.
>Why is it based on web technologies?
Easy to support different OS. Everyone's OS of choice might be different. Sometimes it can't be a choice because you're forced to use an app that isn't available on the platform you like. Moreover, you might be using several devices with different OS. Thanks to Kera Desktop being cross-platform and its sync function, you will always have the same interface with your stuff regardless of OS.
Better integration with web apps. More and more things are already being done on the web. But things are stuck on a browser window. Kera Desktop brings more integration to the web apps with the desktop. When both worlds speak the same language, it will be easier for developers to work. Web apps can draw their windows on Kera Desktop. This alone literally removes a significant border between desktop and web app.
[1] https://gitlab.com/kerahq/Kera-Desktop#frequenty-asked-quest...
My pet idea for a new interface would be to turn away from apps and windows and have everything display to the user as a file. A browser tab would show up as a .url in the filesystem and you could interact with it as a usual web page inside the file interface. It would be a strongly spatial interface, i.e. the given tab would always live in the same spot in the folder alongside .txt, .pdf, etc. There are some apps out there that try to keep the spatial layout of windows (e.g. https://funk-isoft.com/display-maid.html) but it seems to me that just forcing the file and window interfaces to be the same thing would do this better.
Have I implemented it the above idea? Nope. A decent prototype would probably only take a week, but the thought of maintaining such an important part of my computer as the first and maybe only user seems pretty daunting. So kudos to the Kera dev for getting to work and getting it out there into the world!
But in more serious terms: Web-tech while not being made for applications has gotten pretty good at it (why do you think so many new things are just webapps nowadays or atleast under the surface with something like Electron or React Native). It's just another abstraction on top of an abstraction on top of an abstraction... There's nothing inherently terrible about it.
While the idea of a desktop written in a RAD/high-level language seems enticing to me, I'd be curious to see some benchmarks on memory use and general latency first. It does seem more fun to program against than GTK or KDE...
Reminds me a little of radial menus (https://en.wikipedia.org/wiki/Pie_menu). They don't handle dynamic context menu contents well but they're amazingly efficient.
> Interacting is even faster since Kera Desktop features “press and hold, move and release” gestured menus. Saved you a click!
Note that you can also use right-click menus this way on macOS and GNOME. That is, you mouse down, drag your cursor to the item, and mouse up to select it. The only downside is that if you regularly use Windows it's annoying to unlearn this behavior.
Huh? That's not how mine work. Is there a setting for this that I forgot about?
Mine are right-mouse-click (external mouse or trackpad), cursor to item, and then right or left click to select. You can keep your right button clicked, but it's not necessary.
In windows the release doesn’t do anything, the right click action just toggles the menu open/not open, so you left click the context menu option after it opens.
also top-screen menu
It is good to have all methods, because the first is best for simple menus while the others are more convenient for complex menus with many hierarchy levels and long lists of menu options.
not really. you literally cannot create a file. if I want to create a text file, its not possible. and no, I dont mean a Google Doc or some crap.
It's a portable DE people can download on whatever computer they're on to have consistency?
But then, how often are people away from their preferred computers, and when they use other computers would they let them just install/run random software?
It would make more sense to use some sort of in browser rdp, vnc, etc. Then you can run a real opereting system.
The £200 Windows 10 laptop wasn't powerful enough, it was too laggy. Even on Wifi.
I love the idea of the X11 protocol. And I still love the idea of a web desktop. Something that is supremely well integrated and allows me to move workloads between client and server seamlessly. This idea I really like. The ability to outsource computation and storage seamlessly. A process can be moved between machines seamlessly.
This could be modelled in Javascript and promises that can be sent around. Microservices in the desktop environment.
I looked at tools that would bring up tmux sessions with everything preloaded. (https://github.com/tmuxinator/tmuxinator)
ScrapScript has very good ideas in this area of distributing dependencies and storage. (https://scrapscript.org/) There is also val town.
I never use KDE Plasma widgets or the sidebar widgets that Mac provided.
There is so many exciting ideas that could be tried out but I worry they're all too big ideas to be implemented.
Any x86 computer in that price range is going to be hot garbage. You get what you pay for, and wifi has nothing to do with it.
At the moment I use Windows as a jump box to do remote sessions to my Linux development VM, which is on the same local network.
Something that works well over a decent internet connection and can reliably re-connect to an existing session would be great.
I've tried VNC, x2go, xpra, and NoMachine has been the best experience. NoMachine also has a free Windows client-only installation hidden somewhere on their website.
It so has a local wasm mode, so you can build Wayland apps that live & run on the web. Examples in webgl & wgpu. Sick.
I don't use remote desktop. I just SSH into the machine and use tmux sessions for terminal stuff and the vscode remote package for editing. To help the workflow I have some nice aliases for easily opening projects, forwarding ports, sleeping/waking the server etc.
I'm aware that this workflow cannot work for everyone - for instance it won't work for developing desktop apps, but for web and app development it's really nice to have a powerful machine doing all the hard work.
I think many would be surprised by how much faster desktop hardware is. Especially when you put price into the equation.
An ops type person overheard & mentioned we had some mostly unused beefy as heck remote desktop machines running NoMachine, which was a nice slick fast proxying X vdi thing I already loved. I was so happy.
It really let me work anywhere. At crazy speeds. Loved it.
These days I definitely am almost all ssh based. Back then though I basically needed Eclipse(+eclim).
Personally, I'd be wary of writing anything with a handful of functions in vanilla JS. Having done that multiple times (small projects, nevertheless), I remind myself to reach for Typescript these days.
Other things: Too much reliance on google-products. Around here (Europe) there are concerns about privacy and Google is avoided often. Search engines, please consider adding Qwant.
My default browser is Brave, which is based on Chromium. Kind of too bad that Kera is not reusing the browser instances used by default on disk (when compatible) because they already my login details ready over there. It would help for easier transitions.
I wonder what makes it web based? I thought it would run in the browser but apparently not.
https://desktop.kerahq.com/download/
https://gitlab.com/kerahq/releases/-/raw/main/Kera%20Desktop...
edit: looks like this can't run on a Mac
I also cited Greenfield which is a web based Wayland window manager. Apps show up & run as normal in the browser. https://news.ycombinator.com/item?id=29239781
I mean, the GTK layout tree is obviously different than a pure CSS layout tree, but it's been there for already 14+ years...and everyone was complaining about it.
You can literally use animations and transitions from the CSS/SVG specification.
You also can use "Looking Glass" which is their integrated debugger for layouts.
Sounds like an accessibility and discoverability problem. Icons can be eventually learned, but only for frequently used items and only if user discovers the function. Colors… good UI does not require accessibility settings, it just works for any user.
It looks like there is a separate download for an OS that is based on Linux. Is that what you saw?
Now, if only it supported managing native windows...
From a comment in this thread: https://news.ycombinator.com/item?id=36263861