Kera Desktop: open-source, cross-platform, web-based desktop environment

mutlucany | 343 points

This is a wonderful project! I've been thinking a lot about making such a unified desktop stack for a while now; web technology has matured to the point where I think it's feasible to build a complete environment a la Smalltalk/Symbolics but with a modern feature set.

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/

[3]: https://archive.org/details/motherofalldemos_reel1

n3v3r3v3r | a year ago

> It is easy to get distracted when you do many different things on the same device. Think of rooms as profiles but for the same person. You can have different rooms based on what you do and arrange them with things for only that purpose. Maybe change the wallpaper to something related to set the mood.

This is something I've been looking for in other DEs, but never found.

gnull | a year ago

I built something similar to this 16 years ago based on Firefox: http://web.archive.org/web/20080905102046/http://www.pyrodes...

orph | a year ago

Here [1] is the link to FAQ, which answer 95% of my questions. Highlight below. ( I was thinking if it was a DE based on WebGPU and Canvas )

>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...

ksec | a year ago

I'm intrigued by the idea of using web browsers to experiment with new computer interfaces. Because everything we do with a computer can be done decently well inside a browser (e.g. see ChromeOS), any prototype can quickly be used day-to-day for all computer activities, which means I'm more likely to test thoroughly. Another big advantage is it's very easy to make a raw electron app that will work on any operating system and just start experimenting with UI features. It wouldn't be super fast or resource efficient, but you could do a lot with it.

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!

maliker | a year ago

A Web-based desktop pretty much sums up why technology today is terrible. I assume they have a browser that runs in the browser, and that they'll add browser APIs to make it easier to do browser-in-browser. Maybe then implement a minimal desktop environment in the browser-in-browser browser, and then add another API...

throwawaaarrgh | a year ago

What does "web-based" mean? Does it run in a browser? As a standalone application? Is it because it is written in Javascript?... Genuinely curious.

zvmaz | a year ago

> Grid-styled menus and icon-focused, color-coded items are easy to find and remember.

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.

asoneth | a year ago

I think these types of projects are super cool, and being someone who was BORN IN THE 1980s, I really like the Desktop Analogy. Is there somewhere that I can look at several of these web-based desktop environments at the same time? Is there a good list of open-source web-based desktops that anyone knows of?

distortedsignal | a year ago

Is there a way to use menus other than "press and hold, move and release"? "click and drag" is consistently one of the harder things for people to accomplish correctly.

aidenn0 | a year ago

The design is very neatly done especially when the docks disappear and you place an app into full screen mode. I really like the concept overall, this looks like a cool side project!

syx | a year ago

> desktop environment

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.

2h | a year ago

What is the point of these projects? I really don't get it.

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?

PrimeMcFly | a year ago

I once bought a 32 core ThreadRipper and tried to get along with using a cheap £200 Windows 10 laptop to remote into the threadripper while in coffee shops and use the ThreadRipper to do my work.

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.

samsquire | a year ago

> Kera Desktop is written in vanilla javascript

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.

penguin_booze | a year ago

This was fun. Really enjoyed the attention to connected home devices, that is really handy to have around as feature.

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.

nunobrito | a year ago

Kera Desktop presents an new look and feel to your desktop workflow regardless of what OS you're using.

mutlucany | a year ago

Looks cool though I think most regular users will be confused by the double panels.

I wonder what makes it web based? I thought it would run in the browser but apparently not.

wkat4242 | a year ago

I'm trying to understand this, is it kind of like an open source Chrome OS? It seems to give you that Chromebook like experience on your own machine.

gangstead | a year ago

i missed this at first glance: the download page does have a "chrome app" option at the bottom

https://desktop.kerahq.com/download/

https://gitlab.com/kerahq/releases/-/raw/main/Kera%20Desktop...

edit: looks like this can't run on a Mac

ruined | a year ago

Cool project I've been looking for something like this. This is built on chromium, I wonder if it would be faster if it was built on servo...

infogulch | a year ago

Congratulation on your launch. I haven't tried it out yet but it seems polished and huge respect for working for so long on a project!

laeri | a year ago

This is really cool. One day I’d like to see a JS based window manager running as the main window manager on a local machine. I’m not entirely sure how that would work. Imagine using a JS window manager instead of Windows explorer or MacOS’ finder or even replace KDE or Gnome.

francois_h | a year ago

>icon-focused, color-coded items

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.

ivan_gammel | a year ago

What does cross platform mean in this context? It appears to be Linux only to me.

anderspitman | a year ago

I _love_ how it looks. It's pretty much what I want from a desktop: a simple window manager with a drawer on the right.

Now, if only it supported managing native windows...

cyberax | a year ago

I wonder if we could implement renderers of the X Window System core protocol or Wayland protocol in the browser. Is there any particular reason not to?

simonmysun | a year ago

Does it have a terminal app? For some reason I couldn't find it even though I'm certain it would have this.

osigurdson | a year ago

So many links in that nice little nav bar, except GitHub. Who is your audience if not devs? Where’s the docs? I bounced on the site on mobile. Maybe it’s better on the desktop version. Could the devs of this please add a big “docs” button, code examples, GitHub link etc?

bionhoward | a year ago

Not sure what is the main use case but it does look great.

nologic01 | a year ago
[deleted]
| a year ago
[deleted]
| a year ago

Well done! Thanks for sharing!

chrisweekly | a year ago

[dead]

atkailash | a year ago

What problem does software this solve?

poopsmithe | a year ago