SoLDMG wrote:So everything is integrated in one huge chunk? No seperate apps? That's actually amazing. What about terminals?
What about them?
Having applications is fine, but I don't want to be forced to use an application, as a user. If I want to get creative, and do something like load a video file and extract and save the audio into an mp3 file, I want to be able to do that from the command line, and preferably in one line. Or if I want to convert an mp3 file to a video file, by rendering the waveform and saving that as an mp4 file, I'd like to be able to do that too.
I'd like to be able to stream a podcast from the Internet, listen to it, and save it to disk all in real time.
I'd like to be able to plug in a webcam, and start capturing a still image every 10 seconds, compare the images and calculate the "difference" between them, and save them to disk if they exceed some threshold.
The OS could do all of this, but it would need to be intimately aware of the various file types, data formats, and the relationships between them.
Linux actually does this fairly well... Much better than Windows. But it relies heavily on various apps and utilities to do most of the work. Finding and collecting all of the command line utilities to be able to do all of the above would take months. And even then, remembering all of the names of the various utilities would be nearly impossible, since they all use different, cryptic names.
The problem is that the OS has no clue what is inside any of those files, or any network packets. So it can't do anything to help the user accomplish a task.
The real role of the "application" is to provide the user with a friendly "interface" to make tasks easier and quicker. But I'd rather the application not actually "do the work".
Think about Java /.NET. They are both very popular development environments, but when you look at the code written in these languages, a large percent of the code is just responsible for rendering the user interface and telling the existing, built in classes what to do when the user clicks a button.
I think the OS should essentially be an "interface" between the UI and the functionality. This is so that the UI could be swapped out, or removed altogether, if the user prefers to use the command line.
Haiku is actually really close to what I want. But there's something about the way it was implemented that makes it... Less than intuitive, for me at least. Maybe I just haven't given it a fair chance...