You are either deliberately mis representing things or simply actually haven’t a clue how modern OS and GUIs work. Drag and drop is not about files that’s merely one aspect of it. Internet access is not about just about files
so then tell me : what is missing ?
You keep on sticking to existing methods and stuff. raze it !.
Make everything a storage medium that stores files. Every file has privileges. Every file can be accessed using a global indexing system.
no more need for complex systems. it's all transported using one method.
web server ? don't need them. simply access index.html on volume
www.google.com . A web server becomes nothing more than a remote file store. the URL type tells you what it is.
your own local harddisk is drive_c@.mycomputer or drive_d@mycomputer ( or something along those lines. ). A computer that is network connected gets a sort of DNS entry and can be connected to. ( there would be local hostnames too of course similar to 127.0.0.1 . essentially .mycomputer is "home")
www.google.com -> remote web server. a web browser will read index.html , parse and do the rest.
<anything>.mycomputer -> local stuff . drive_c.mycomputer , epson7100.mycomputer . this is already what unix systems do for devices.
<somebody>@mailservice.com -> filestore for email purposes.
remote applications run as a service that transport packets of data ( a packet is nothing but a small file if you think about it) , parse process and respond with other files.
The network stack could be much simpler now. no more need for all those different protocols. it's a simple file transport . email ? same thing. an email is nothing but a small file that gets sent and received to a target. a storage bin somewhere with a public alias. me@mailbox.com is nothing but a remote drive that holds the files until you pick em up. if i send an email to me@mailbox.com all i do is write a new "file" to that storage bin. that file can have a name like <sender>_<timestamp>_guid.mail.
everything is a simple file and file read / write operation at "global level".
On your hardware there is a driver that lets the operating system read/write files over network and store them on local volumes.
you would need minimal firmware to do this. you don't need random file access : bulk transport. 99% of cases covered. remote databases would use a soap like mechanism to access. commands and control files and data bundel files coming back. it doesn't stop anything.
you'd have a lightweight networking and storage kernel.
interprocess communication ? concept of a file in ram.
the actual operating memory would also be like a file. when a program is loaded from harddisk a single file ( the container for the program ) is read into a memory file. think of the computer memory as a huge ramdrive. programs that are allocating memory are doing nothing but creating a larger file. runtime memory is a ramdrive. run out of ram : swap it to disk. one program has one runtime file. can't step out of boundaries. the operating system task is to allocate , manage and abstract the physical storage into a single file.
everyting else are applications that do stuff with the contents of the files.
The windowing manager provides a common set of UI elements and a drawing canvas. need anything not in the default ui element stack ? you can make your own. there are drawing commands and event messages.
[cuote] in a competitive environment you will always have someone saying “ look here I have a better way to do it “
[/quote]
absolutely ! i wan the best of the best. but now i need three or more operating systems to satisfy that !. x is the best in class but windows only , y is best in class but mac only. z is best in class but linux only ... with such a system it would not matter anymore. i can run anything.
i simply buy my "base system" (hardware + the base kernel) purely on the speed/memory and peripherals i need. if apple makes a faster box than dell or lenovo has the peripherals i want i buy that box. the applications will work.
operating systems would purely compete in implementation. the best operating system is the one that can get the work done the fastest with the least amount of resources. The applications would run no matter who built the OS.
You could extend this to hardware to a point. optimize the motherboard and base pack. we use standardised i/o : ethernet and usb. actually, ditch ethernet. do everything over usb. wifi ? usb based adapter. classic ethernet ? usb based adapter. usb again is simplified to do "file" transport. usb is already point to point.
when i mean "file" i mean a packet of data from beginning to end.
there would be one other interface for keyboard/mouse and other "slow user input". that works with very small , rapid burst packets. ( single keystroke, mouse move, gamecontroller move ). something like a packet containing 8 bytes or 10 bytes. always fixed layout.
all the rest has intelligence in the adapter.
fun to think about. There have been systems that worked like that...
how do web applications work ? its all html transport.