EmailiOS is an operating system whose user interface is email.
I got this idea yesterday morning when I wanted to take something off my todo list that I couldn’t do until sometime in the future. I thought “wouldn’t it be cool if I could send myself an email that would get delivered as a reminder at some future date?”.
I asked around and there’s a number of websites that do this, but what I really wanted was something I could literally use by sending an email. No luck in that department.
So I’ll probably write it myself, and it will make a nice addition to my other email-based project Preposter.us. That got me thinking about developing a little “suite” of applications that all have an email-based user interface. As I thought about this more I realized that I could generalize the problem by writing a universal email parsing bit that each program could share, and that starts to sound like stdio or a basic input/output system…
Implementation-wise I’ve been obsessed with unikernels so of course this is the train of thought I’m on, which means no regular operating system. A BIOS, a kernel… once again I find myself thinking about something that bears the hallmarks of an operating system.
Of course it’s not a general-purpose operating system, it has no self-hosted programming facilities (at least not that I’ve thought of yet), but it does run programs and manage system resources and respond to user input via a user interface so I guess it does fit the description.
When I think about it this way the character changes a bit from a collection of stand-alone applications into a collection of behaviors that act-on and or produce email and other output potentially using shared sets of information. For example, the reminder application I described at the beginning could send a periodic summary of upcoming reminders, which could provide some services of a calendar. It could also collaborate with the blog application (Preposter.us) to do scheduled posts. It’s not hard to imagine how other applications that share this user interface could interact with and act on events from each other.
Why would anyone want this?
Email can be sent and received by more devices than any other form of electronic communication. It’s based on a standard protocol supported by thousands of applications. Its network is robust, globally distributed and decentralized (despite Googles best efforts). It is one of the few remaining systems where a person can choose any client they like for whatever reason suits them.
All this makes email a very comfortable and personal computing experience, something that is rare in a world of web-based software that constantly changes (or disappears all together) with no control or even input from the person using it.
Software like Preposter.us allows people to publish blogs, podcasts, videos and web pages from this environment and eliminates the need to depend on an ephemeral number of web applications and slow, resource-intensive and increasingly privacy violating web browsers. EmailiOS is a natural progression of what Preposter.us started, bringing more of your daily tasks into an interface that works for you.