Hey thanks for posting, I completely get that. Yes I have, agreed that would be a faster start. There are some things in motion, albeit slowly. If you'd like to help and talk more, join the discord or shoot me a DM and I can share more.
@MadeByDouglas there are two cool examples of this now.
While it doesn't touch kernel space (yet), Apple's ContainerOS features a Linux kernel but is otherwise 100% Swift (userspace). ContainerOS is written for VM environments, but is BLAZING fast.
Taking a page out of Apple's book, we're also bringing that experience to Embedded Linux hardware devices with https://wendy.sh
If you want to think about kernel space more, check out "Project1"
Very neat, thanks for sharing. Iāve been following you all at Wendy, wishing for your success. Iām familiar with Appleās container project, but the other one is new to me. Do you know the author?
Thereās some work in motion, I decided that the kernel and low level software is not my area of expertise nor gifting, so Iām focused on the user experience and what it is I want to achieve, and if it can be bolted on existing systems fine, if it can be integrated more elegantly into someone elseās swiftOS kernel + user space etc. even better.
I think ideas from Fuchsia and the hype on Open Claw show where things are heading. I donāt know if Appleās Gemini Siri & Personal Intelligence will also claim the space. Even the latest Android has some āsmart cardsā that look a lot like the composable widgets I was thinking of, but all of these from big tech still seem ābolted onā and not exactly elegant.
Another person here is working on a new kernel, Iāll let him share as he wishes, itās pretty cool.
My journey has taken me to learning Elixir and Phoenix and LiveView actually, I can prototype much more interesting real time, social, and composable widget ideas quicker, and then see what more unlocks come when you bring it closer to the metal later on.
The bet Iām making (and could be wrong) is even in the world of agents, weāll still need some deterministic behavior, e.g. you donāt want your financial data just streamed straight from an LLM every time you want to look at your balance, BUT that layer should be rebuilt with agents in mind. You want some fabric of plain, deterministic systems of record, but one that is modular and easily integrates with agents via tool calling etc. to seamlessly form systems of action. Something like open claw should be seamless, safe, and cohesive, and then lose the rest.
Those interested in a pure* Swift kernel (we still need assembly to get started for now) can view our development at GitHub - schwiftyos/schwifty-kernel: Kernel written in Swift. . There are still a few more things that need to be implemented (handling interrupts, gracefully handling exceptions, multi-threading, freeing heap memory, concurrency, cooperative scheduling, interop, external bootstrapping) before it can be used in a package or real operating system. Everything will be configurable via package traits and dynamically at runtime.
Our operating system (project not yet started) will use this kernel by default but you will be able to choose alternatives. The OS will be our main focus once the kernel is actually stable and usable, and will focus on security, privacy (per app/process permissions), performance (I/O Rings everywhere; cooperative scheduling), supporting existing software and decentralization. I personally look forward to be using it. Their has been some work on its internal UI system but nothing has been that interesting yet since it needs a rendering pipeline to be more usable.
Overall, I am quite satisfied with choosing Swift as the programming language even though I am pushing it to, and beyond, its limits.
Yes, please support this work.
On the other side of the coin, I am finally able to share what I've been working on, and how I got here.
First, it's not an OS, it is a workspace, and on the web no less, but I hate those web apps that call themselves an "OS" when it's not. So I won't.
Second, it's not Swift, it's Elixir. As I was thinking about the experience I wanted to achieve, and all the ideas on this forum plus many others, the web became a natural choice. For language, Elixir proved to be a friend of Swift, with a similar concurrency model, but with a more established and robust ecosystem.
So why am I talking about this here? Because I think its the natural extension of what a SwiftOS desktop experience could be, its the user environment as a prototype form, to help guide the long work of a SwiftOS. My thinking was, imagine all the technology and hardware just works, what do you want? Can you set a north star that's not just different from contemporary systems, but better? How can you test this hypothesis as quickly as possible? Well, the web is still pretty good for that.
I think, terminals, chat interfaces, and discovery feeds are the 3 main UX paradigms that will still be around for some time, even in the age of AI. You still need input and output, you still want to browse stuff, but you may not need complex GUIs and panels and stuff. You don't need much else with agentic natural human input and understanding. So this is exploring that with a simpler canvas, HTML and Phoenix LiveViews.
That said, I thought it also needs to be a product itself, something useful, so its partly prototyping the SwiftOS desktop, but its also honest that it is just a web app and will live on a browser and sit along other traditional apps, and so part of it just looks like any other web app. There's a more radical design I have as an option, like an experimental dock, rather than traditional sidebar.
Now, part of it is really ugly too, because I'm not done yet, this is still early alpha. But the world's moving fast, and I thought it best to share at least what I got at this point. I would envision this kind of experience would sit well on top of a lean SwiftOS on top of hardware like Nvidia RTX Spark and a local agent nearby. I also have some agentic mouse companion stuff like what GoogleBook recently showed (admittedly not as fancy as theirs) but still in early stages.
So what the heck is it? Well I call it Relay, and it's a bit like Notion and LinkedIn had a baby. You have a workspace which you can use privately or with a org, but there's also a network and public data and so you can discover other people and orgs and stuff, all from one account. So like Discord with one account, and ease of discovery for finding servers to join, as opposed to how Slack works where everything is silo'd for the enterprise. There's no feed though like in social media, the point of the public data layer is not a mindless distraction machine, it's to help find collaborators or surface unexpected connections from within your network.
This is because I'm trying to serve folks who deal with a lot of people management, like specific relational productivity which isn't quite met with a traditional CRM like salesforce or a workspace like G Suite or Notion, these people are pastors, teachers, coaches, mentors, and I think even investors might fit.
I was inspired by things like AnyType, but wanted something a bit simpler and more down to earth. Elixir and Phoenix seemed like the right approach for the real time aspects, reliability, and ease of scaling. I don't have micro services, its just a majestic monolith. Native swift apps are planned.
The idea is its a workspace you can compose your people, notes, tasks, and events together, see the relationships between those things, and have the system surface and remind you of things you forgot without burning tokens. Agents can be used or not, but they certainly enrich the experience. More specialized experiences could be built on top, right now it's kinda barebones finder level, but the notes and tasks are at least decent. Well, they work, mostly. Eventually I want to replace my personal workflow of Bear -> Notion for publishing to a link (Relay works in markdown, is NOT block based, but does have / commands, and can publish to web in a click.) as well as Todoist.
Anyway, try it out! https://relaynotes.com
Note: Still waiting for google to approve it, so you may see scary warning if you sign up with google
What a twist!
The hardware + OS is just a tool. You don't want anything from a tool[1], you just use the right tool for the job when you want to do something. You are trying to make a better tool, but for what job?
OK, I guess it's some kind of collaboration platform.
And I afraid that this discussion is becoming off-topic on this forum.
e.g. do you want something from a knife unless you need to chop vegetables? ā©ļø
Hah indeed,
An OS is more like a workbench and the apps are the various tools, are they not? One looks for jobs to solve, the other for what kind of work to enable. A butter knife and a steak knife are optimized for different things, having one do both is always a compromise. But that's not the same for a table, a strong table can host many different kinds of meals, or even be used for unexpected things unrelated to eating.
Same for a workbench, you could still call it a tool I suppose, but it's fundamentally a different kind of tool. I think the same for an OS, or even a web service, vs an app or web app.
I'm interested in organizing and surfacing data and simplifying teamwork, and to solve that requires something of a workbench as well as perhaps a set of tools.
So yes, a collaboration platform.
Now does one want to focus on the foundation of the workbench, or the surface? I decided the surface, and what kind of surface is it? A web service instead of an OS desktop, but they could even overlap or share concepts from one another. So that's the update and that's why I think still rather on topic. Now other parts of my project? nah, which is why I left them out.
Happy for you or anyone to continue the work and discussion on the foundation or whatever related component interests you. And while certainly it makes sense for swift related work to be the focus here, since I started this thread, an update seemed warranted.
There is another idea I recently saw online that I think is at least somewhat relevant.
Local Apps ā The simple solution to desktop web applications
Gist explaining the idea:
Original post in Deno Discord:
https://discord.com/channels/684898665143206084/684898665151594506/1506313652225970288