This is part of the Objectify project documentation.
Copyright (C) 2009 J. Scott Edwards
See the file fdl-1.3-standalone.html for copying conditions.
(Also at http://www.gnu.org/licenses/fdl-1.3-standalone.html.)
This project started out with several ideas I had about developing a new operating system. Back in the late '70s a friend and I started a company to develop a computer system and I started to write an operating system for it. Then IBM came out with the PC and Apple came out with the Macintosh and we couldn't see getting into that fray.
Twenty years later, in April 2000, I was trying to change something on my cell phone. I was digging around in it's 100 page manual, and getting really, really frustrated. How can something that should be relatively quick and simple end up being so difficult and take so much time?
That started a train of thought about how technology and especially computers are so frustrating. It seems to me that in many cases the way computers work exasperate my weaknesses.
For example: my memory was never very good and as I've gotten older it has gotten worse. And given that I am usually working on several different projects at any given time, very often on different computers with completely different software. I have four different computers sitting within 3 feet of me right now. A couple more in the next room and of course a laptop. Many of them have several different operating systems with different file systems on them. At one time I had an NFS file system that most of my machines at home were connected to. That didn't help much with my laptop and inevitbly I would leave some file on just one machine and then have to search all over for it.
While this may not be the best example, my point is simply that it very often seems like computers play on my weaknesses. I think that, wherever and whenever possible, they should try to make up for them instead. So I decided to resurrect the operating system project and see if I could do anything differently to make it easier for myself and hopefully others.
I started a project called EasyOS (1) on SourceForge to develop an OS based upon the best parts of Linux, FreeBSD, OpenBSD, etc. I messed around with some ideas for a couple of years and finally determined that I needed to stop trying to base it upon existing operating systems and rethink all of the concepts about how an OS works. I started another project, New World OS on SourceForge.
In December 2004, I wrote an article for OS News about some of my ideas and started writing some experimental code. I debated whether I should really start completely from scratch and develop it from the talking to the hardware level and work my way up. Or if I should start by testing some of my ideas on an existing system and see if they were feasible at all before dumping years worth of time into them, just to discover that I had overlooked some fundamental flaw. I decided it made the most sense to test out some ideas on top of another OS first.
At some point I decided that it would suffice to just run my project on top of another operating system. That way I could start using it now instead of waiting for what could be years and years. So I started yet another project, Objectify, on SourceForge that I want to move the current code that runs on top of an existing operating system into. However, I have not yet completed the move so the CVS repository and the released packages are still under the New World OS project. The only thing I have in the Objectify project so far are the Feature Requests.