Pinecone is a project to build a new kind of operating system for general-purpose computing. Pinecone is based on a different set of design principles to contemporary operating systems, and has its own set of pioneering goals. Here are some highlights:
Any worthy undertaking requires a careful series of steps. Follow Pinecone's progress here.
We're going to use Linux as our base. Linux is great for embedded systems, and since we're going to modularise plenty of things for the user to play with, the lower-level parts of the operating system can live in firmware.
One inevitable shortcoming of Linux is that it is heavily invested in a traditional UNIX-like paradigm of computing. That's OK. It means the lower-level parts of Pinecone will depend on things like a traditional filesystem structure within firmware, but these details will be hidden inside the implementation, away from most users.
Hipe is our answer to Apple's Quartz or the Windows GDI. In more traditional terms, it's our answer to the text-only terminal display, which is the default user interface for a minimal GNU/Linux distribution.
The purpose of a display interface is to display information. Hipe does this by repurposing a leading web-browser engine into a 2-way pipe that applications can use to manipulate HTML and CSS content, as well as receive events in real-time.
You might expect that a web browser engine wouldn't be a satisfying choice for rendering an entire operating system's display output, but usage trends suggest it's a logical choice. It's also a highly efficient design choice. Most desktop users spend more time looking at content through a web browser rather than stand-alone applications, and the amount of work that has been invested in developing the advanced rendering capabilities of today's web browsers far exceeds the amount of effort that has gone into, say, Windows GDI. Furthermore, practically every developer has at least a basic knowledge of HTML. How many people know how to produce output directly using the current obsure display languages like GDI?
If you're wondering why text-mode terminals haven't died off yet, it's because traditional operating systems have such cumbersome graphical display interfaces. One of the reasons why HTML is so popular is because developers can display and format neatly-layed-out content with minimal effort. Outputting content for a traditional operating system's display interface involves a lot more work (including the use of GUI toolkits and/or specialised GUI design tools), for a often-inferior results. Hipe's HTML-based display capabilities certainly leave the text-mode terminal for dead.
IoL will be the most radical departure from traditional graphical user interface APIs since the concept of the GUI was invented by Xerox in the 1970s. The way the interfaces look won't be entirely different, but we feel that once the ioL approach takes off, the way programmers create graphical programs will never be the same again.
Unlike traditional operating systems, the homedrive concept gives users the power to perform tasks that would traditionally require administrative priviledges, while isolating the user from the underlying operating system.