What a wonderful world we live in today, with MacOS X. Lots of decent software, and a slick, simple operating system. A pity though, since the system is not free software, and as developers we are restrained by Apple's shipping schedules to find out more about interesting new developments in API land.
Over the past few years, so many pieces have come together in Linux software for building a competitive desktop operating system, but so far none of really "clicked". Ubuntu is the latest and greatest, but still has some distance to go before it reaches the elegance of the Apple system. Elegance is more than just skin deep - here are the key things I think should be done in a Linux Desktop operating system:
Standardized packaging
There seem to be a variety of different package formats, and people talk of using distribution-specific tools (command line, graphical, web site) to find software for their distribution and install it. This seems to me like a huge waste of time, compared to Mac and Windows where there's more or less one way of doing things and the convention is you go to the software publisher's site to get the latest and greatest, rather than having to wait for it to come through your distribution's package tool.
Saner application and library installation and directory layout
A Unix system typically has a lot of different places for programs to be installed. Files and folders end up all over the place. It's about as bad as Program Files is on Windows. Why not mask off the core Unix-style command line utilities behind a curtain somewhere like OS X does (still available through the Terminal app) and create a new bundle structure for applications such that their install location is obvious and installation and removal is as simple as adding or removing from the Applications folder?
(I know, this system has flaws for apps that leave behind shared frameworks, but those are usually the exception more than the rule)
HIG applied more or less consistently across all "core" applications in the system
From the web browser to the network status tool, all should feel like they were painted by the same brush.
Smaller install, with fewer packages focusing on just what people need.
The ideal distribution would ship with only one of a specific class of app. Not even two with one default and another available but not default. That's what the internet and downloading and the wonderful ease of installation afforded by simpler standardized packaging allows for.
An easy to use but powerful application development toolkit
The system software should be built with the same toolset offered to applications. It should be powerful but easy to use. It should reinforce the HIG with its very use. Simple but useful patterns repeated to give developers and users a sense of understanding and mastery over their systems. Use of standard technologies for data storage, UI etc should be the path of least resistance.
MacOS X possesses many of these characteristics, and I think it's part of the reason it's such a joy to use. The hacker in me wants more freedom though, and I look forward to the day when the open source alternative reaches the same level.
That sounds horrible to me...
Yes it may be inconvenient, but the first one who'd come to me and says you are now to use only this packaging format, he learns to fly.
In Linux you have the choice, the choice of distribution, the choice of tools to use and it is better for it. It takes longer to find the right tool and it is more work to learn all you need, but if a system like this is bad, then why did apple change to a BSD-distro?
They could choose what to keep and and what to replace, but they wouldn't have done it, if they hadn't had the choice...
In my opinion Linux expresses a freedom that I really missed in the Mac.
BTW that single package format you want, isn't that what leaves windows a cripple after a year? I am also a windows user user and I know I don't know what the installations do, I have to trust blindly, and sometimes wrongly the people who created thos install packages to be trustworthy, but even the uninstall of a firewall application can cripple your system beyond repair.
Sven