The following are also good ideas IMO:
1) Network support for TCP/IP and NetBIOS with generic PCI NICs and PCMCIA NICs both wireless and not
2) NTFS, FAT, and FAT32 along with Linux/Unix and Mac filesystem support
3) Alt+tab support
4) Print key support for dumping screenshots (configurable in a control panel perhaps), would by default make dumps on the main dir in incrementing file names e.g. screendump1.jpg, screendump2.jpg, etc
5)at least some of the OS opensource or some kind of api kit to aid in app development for the os
6)optional graphical interface
7)some games :p and maybe even a calculator XD
8) a browser, DSL support, and dial-up support (via generic modem driver)
9)a windows/mac/linux/unix emulator
1) Good ideas, but I'm not sure how feasable that is. How difficult is it to detect and deal with PCMCIA and PCI cards?
2) Also good ideas, but all these different features are going to slow things down.
3) Great idea, I think shortcuts to switch programs are always good. I could also find out the Linux default key shortcuts and make them work as well (both Linux and Windows users would like this).
4) You seem to forget that I was planning on text mode... :)
5) API kit is an obvious one, I would do that. Might make it open source too.
6) :eek:
7) Text-mode games.... bleh
8) Yowsers
9) AAAAAAHH! :eek:
Good ideas, but maybe not for my first version....Write it in Ada! Ok, perhaps not realistic... It would make it easier for me to write programs for it, though. (Also, Ada tends to make more secure code.)
You may not want to limit file name characters THAT much.
May I suggest a specific file hierachy?
/OS directory/
/os directory/os specific settings
/OS directory/global DLLs (OS provided)
/OS directory/updated DLLs (Allow for updates, but this is checked first. If a problem occurs, then the OS refers the original.)
/User/username/documents
/user/username/programs
/user/username/programs/program directory
The program directory contains everything in the directory to run the program. No more installing DLLs all over Windows or writing and not removing settings in the registry. If you delete the program directory, everything but what YOU moved elsewhere is gone.
I suggest this file structure because I don't like the way Windows and Linux are set up. Windows requires things to go all over the hard drive, making uninstall difficult, especially if the uninstaller doesn't do it's job. Linux stores things all over the hard disk, also. I suppose it makes it easier for the system, but finding something myself is difficult. Remember, KISS. (Keep it simple, Stupid.)
You're probably right about not limiting the filenames so much... that could cause all sorts of problems when people try to copy files onto this system from a different OS over the network. Here is what I'm thinking of for a file hierarchy:
drive number (none of this "you can only have 26 drives because there are only 26 letters" hogwash):/foldername/filename.ext
1:/os/ ;OS components and executables
1:/os/libraries/ ;DLL type stuff
1:/os/settings/ ;Settings
1:/applications/global/appname/ ;Programs accessible to all
1:/applications/username/appname/ ;Programs belonging to a single user
1:/users/username/documents/ ;User's docs
1:/users/username/settings/ ;User's individual OS settings
Applications that want recognition from the OS (file associations etc.) must follow strict rules. When programs are removed, all recognition is removed. For instance, if a program asks to "own" the file extension .jpg, but another program already had it, the OS will ask the user if this should be allowed to happen. During uninstall, the OS will return ownership to the previous program, if it is still installed. This allows completely clean installs and uninstalls. Applications can put whatever they want within their own directory, but it is encouraged to follow the same internal folder structure the OS uses in 1:/os/*.
Of course there would be multiple layers of users, such as limited users (no installing programs, can only work with their own documents, global applications, and their own settings), trusted users (can install own programs, but no installation of global apps), and root users, who can do whatever they darn well please.
I've noticed that this OS has been experiencing "scope creep"... :-|