I've recently had some quite good idea's. Not only are they good because they make life easier but there's also a huge market for them.
One has a large, and stunningly diverse, amount of industries it has potential application in. And it's so good I'm working on it myself...so I won't go into that here :)
The other one is something which is really beyond my ken (well, I have certain idea's, but not the technical knowhow, so that's a bit of a shame). But the market is so huge, it will rival Bill Gates.
"Why", and "what is this thing" you cry? Well, as the situation stands, one can look at it like this:
where the OS contains device drivers, the filesystem, plus the GUI. MS has gotten us into the paradigm that the OS is the whole shebang, that it's that plus a few applications you run. That is computing according to MS.
Linux, and god knows how many other OS', show me that that's not the case. You have your hardware, and the OS on top of that, which is essentially a collection of device drivers, together with a filesystem. Thing is, the aplications and the filesystem still define the GUI. X-window is nothing more than a glorified MS-desktop.
Now here's the thing. We're aproaching a time where the OS is becoming trivial. Not easy, oh no, but it's trivial to get your hardware, and bung the code onto the hardware to get the hardware to work and display stuff.
Together with this we're coming to a point where data is...too big. There's too much of it and it's not organised as it should. Sure, there's filetree's. Maybe even databases as filesystems. But that's not good enough. We'll never get the Star Trek voice computer that way (god I hate to use that...Star Wars man myself...plus other sci-fi did it first and better...but I've just had a marathon of Enterprise, so that's the comp[arison you're getting).
What's needed is another layer. Something to help us use our data in a meaningfull way. A way to surf the infosphere, if you will, and pull out what we want when we want it with the least amount of hassle. A DWIW-code. As in "Do What I Want" command.
And that's where the money is. It's a clear evolution. We used to make money on hardware. Gates then made it in the OS. But what is now of the essence to companies and users alike is something on top of the OS.
We have the hardware; we have the software that allows the hardware to funtion; we have applications to create data. What we now need is a dataOS. An interface to our data instead of our hardware, if you will. A way to say to our computer: "show me that 3d model of the battle droid I was working on for Jedi Outcast"...or even "Jedi Outcast", where the setup of the dataset 'knows' (better yet, understands, beacause of set based definitions [more on that later] and time info which states that the last time the computer encountered JO was with a certain specific model) that the last times I said that, I was modeling. It would then give me an option to open that model, play the game or browse the web (if I'd already done so in search of JO material).
So how would this work? Well, sets. Remember the "set of whole numbers" and the "set of iurrational numbers"? Well, the data on your HD will have to be catalogued like that. Each bit of data will have a long list of sets it belongs to. And these sets will also be irrational...one set can contain a set which contains the first...selfreferential sets.
Make a system that can handle data this way and you'll render Bill Gates redundant. Because the OS will be irrelevant....or at least transparent. The OS will do what it's supposed to do: keep the hardware working. The InformationalOS (IOS) will be a layer between the OS and it's data and the aplications you run the data on. An Information Abstraction Layer, if you will. Sets will be what we work with, akin to the way a police file contains not only pictures, but also text, bank statements, health info, video.
So if you want to get rich, (and you will; companies need productive workers...whats more productive: rooting around the HD for that file you used last month, or saying "comp, henderson file"?) get programming. Or do it open source. Preferably the last though, because this kind of thing is very user defined...MS' one size fits all does not apply. And we need a stable-as-in-Linux OS to run it on :)