I've been working on a program for quite some time and I'd like to get some first impressions and input from a few users. The program is called DirectLink and it's design is a hybrid of Linux and an OS/400 system. The program is written in Java and it is designed to run on Windows as well as Linux almost identically.
Although it's a hybrid of Linux and an OS/400 that does not make it an operating system rather a utility to work with the Operating System. The program is actually a graphical command oriented system. The interface is designed off of an OS/400 (which is an OS that runs on an AS/400). For those that haven't used an OS/400 the system uses a command line to issue all it's commands. Unlike a *nix shell it uses text option menus which you can navigate by pressing a number. You can juggle through menus like this or use a go [menu] to go directly to a menu. You can also type commands by themselves if you know what you want to do. This system allows almost instant access to something you know you want but allows you to navigate menus if you don't know. There can only be one menu by one name there are no recursive directories. Also if you forgot an option or make a mistake on a command a fill in the blank menu appears with your content added which you can fill out instead. It's ugly but effective. Unfortunately this type if system (to my knowledge) is only available to students or employees who need to work with it. The OS/400 used function keys to issues alot of options/commands like F4 to prompt a command. All of these features are in my product. Also users will have a custom home menu similar to their home directory. Where cd, cd home, or cd ~ would take you to your home directory, go, go home, or go ~ would take you to your home menu.
All the commands are based off of Linux commands. I also assign file permissions based on Linux permissions for menus and file/folders. As an optional feature if a file/folder permission is 0 it won't even echo it. Each user will have his own home directory based on where they set it. Traditional *nix commands like cd, cd -, cd ~ will work like they do under linux even under Windows.
Remote Access. You can use one client to access their system from anywhere. Administrators can set up to only allow access after MAC address is validated, or block access. If granted the user has 3 attempts to connect. If they fail to connect by then their MAC address is blocked until root grants permission again. I found some GNU GPL Java FTP client software so I'm trying to add upload, download features that run on any port.
Custom small apps. I'm planning on adding a bunch of small, lightweight tools to be included with DirectLink. These tools won't be able do what the big apps do but they're good in a pinch. They also can work with remote access better since I can pass values to them.
Here are some other features:
1. All menu options do is pass commands. You can write a long command once
and save it to your home menu. Next time push 1 and it works just as well.
2. multi-threaded
3. Supports recursive commands
4. Shell scripting
5. 99 options per menu
6. Strong data encryption over remote connections
7. Syntax highlighting. Keywords are highlighted on highlighted in blue as you type on the command line in DirectLink. System output indents it's response and is in gray.
8. XPlorer. A GUI file tool that can filter based on results found. After a search you can hit F6 and you will be taken into XPlorer with your results in a temp window. Won't be bad but no where near as flexiblel as Windows Explorer.
9. Command history. So far juggling through past command and common uses of the bang operator.
10. All files are database tagged which allows very powerful, quick searches like Linux even under Windows.
11. Whenever you go into a folder you can use a dir command (live search) or an ls command (database search). Database results are very fast (instant) even in huge directories. However they return dated data. dir is live which makes it a little slower but up to date.
12. Multiple commands allowed on line at a time seperated by ;. Commands issued recursively.
There are alot of features I can't even remember right now. I've also included some screenshots at
www.geocities.com/heasoftware/index.html
This version was created in Visual Basic 6 (it's quick and I know the environment well), the final version will be Java (I'm not familar with how to create GUI C++ programs). Do not bother checking there regularly. I just threw up a quick site for this. The program will be freeware (probably GNU GPL'd).
Unfortunately some issues I've had is getting auto complete to work the way I want it to. Also since all files are database tagged and recorded in my system it means file permissions are set differently than linux is set. I am planning on having a way to shut off my permission system though or limiting it strictly to folders. Since my system is databased it also adds alot in potential size to the program.
I was wondering what every thinks? Suggestions? Opinions?
Screenshots:
www.geocities.com/heasoftware/index.html