Yeah, I might be just re-inventing the wheel here, who knows? But I had this (original? I doubt it) idea a few months ago and I was meant to write about it for some time now. So, my idea is about creating a new operating system that is like none of the current ones. It would be so different, that porting applications from other "traditional" systems wouldn't be possible. But the gains would be much more important of what we would lose by implementing a brand new new system.
Permalink for comment
To read all comments associated with this story, please click here.
I got a big kick out of that because it made me realize that this was the dividing line, this is where the face-off is: In a modular approach, does one come to a point where using many different moduals becomes more trouble and more confusing than using a big, traditional application? And, I certainly don't know the answer because it never got that far regarding OpenDoc. Ultimately though, I think that is the big question that would arise. It raises questions...like would ordinary users catch on to the modular approach or would it confuse them if too many modules came into play?
There could be different levels of modularity. This is why I suggested using "meta-modules". Ie the "HTML render" module could consist of many smaller modules doing specific rendering tasks. Maybe the meta-module could also make the modules it consists of able to communicate more efficient. Something like if they were actually part of the same file. So what would then happen if one of the modules that is "glued" inside the "HTML render" meta-module is called from a second module? I guess this would be a file system issue.
A few problems I can think of that one might encounter while designing an OS like this may be:
1. speed - traditionally modularity costs in performance
2. simplicity - user shouldn't need to handle tens of thousands of modules by hand
3. compability - a module that does its task fine in one app might not do the same thing slightly different as good in another.
4. security - what if there is a security hole in a module that virtually every application makes use of? cheddar cheese.... and how much permission will each module have? who will check that the permissions are set appropriate
Probably this approach could be really nice as long as everything is well coded. Cause it all relies on good code. For obvious reasons I would be skeptical to running closed-source modules.
I got a big kick out of that because it made me realize that this was the dividing line, this is where the face-off is: In a modular approach, does one come to a point where using many different moduals becomes more trouble and more confusing than using a big, traditional application? And, I certainly don't know the answer because it never got that far regarding OpenDoc. Ultimately though, I think that is the big question that would arise. It raises questions...like would ordinary users catch on to the modular approach or would it confuse them if too many modules came into play?
There could be different levels of modularity. This is why I suggested using "meta-modules". Ie the "HTML render" module could consist of many smaller modules doing specific rendering tasks. Maybe the meta-module could also make the modules it consists of able to communicate more efficient. Something like if they were actually part of the same file. So what would then happen if one of the modules that is "glued" inside the "HTML render" meta-module is called from a second module? I guess this would be a file system issue.
A few problems I can think of that one might encounter while designing an OS like this may be:
1. speed - traditionally modularity costs in performance
2. simplicity - user shouldn't need to handle tens of thousands of modules by hand
3. compability - a module that does its task fine in one app might not do the same thing slightly different as good in another.
4. security - what if there is a security hole in a module that virtually every application makes use of? cheddar cheese.... and how much permission will each module have? who will check that the permissions are set appropriate
Probably this approach could be really nice as long as everything is well coded. Cause it all relies on good code. For obvious reasons I would be skeptical to running closed-source modules.