When I select "restart" (edit: at least when installing system updates), the computer should save application state and reboot instead of every application asking me stupid questions like "are you REALLY sure you want to quit web browsing?".
I want to select "restart", go to the kitchen, get my dinner, come back, and the computer be rebooted and my applications restored the way they were before.
Also, the developer tools should include a good package manager instead of having to use Homebrew or Macports (both of which are flawed in various ways).
The reason package management works better on Linux is not because there's a better package manager program. Rather, it's because there are hundreds of developers for Debian, Fedora, et al who put serious time into making sure the packages themselves work well. Few OS X users really care about Unixy packages, and even fewer actually work on one of the package managers, so bugs just don't get ironed out enough.
I don't see much Apple is likely to do to help. They could bless a package manager as official, include it in OS X, and pay for build-boxen and for people to work on it; but you'd still need a lot of community involvement, and that's not Apple's cup o' tea.
Apple could also just make a few things easier about building nix packages:
Currently the OS X linker will automagically look for libraries in /usr/lib and /usr/local/lib by default, this should become easier to turn off so that packages don't end up with hidden dependencies on stuff the user threw in /usr/local.
* A lot of libraries that are extremely common on other nix aren't included in OS X, eg: readline, iconv, gettext. But many of these are GPL3, so don't count on Apple being helpful.
Universal, backwards-compatible binaries are currently a PITA to build from the command-line. You need to specify the SDK, DEPLOYMENT_TARGET, and compiler separately; and then if you ended up using different SDKs for different architectures, you need to use lipo to combine the results. Some way to specify all this stuff at once, and use sensible defaults would be great: 'gcc --sdk=ppc/gcc-4.0/10.4 --sdk=x86_64/clang/10.6 ...'
One thing they can do is package-manage the Ruby/Python/Perl/Apache/vim/emacs/gcc/etc. that either comes built into Mac OS X or gets installed with the developer tools. Current package managers either have to work around that (Homebrew) or maintain an entirely separate repository (Macports).
The primary use of restart is to install system updates. Having my applications' states reset only means I have to go in and restore their states by hand every time Apple decides to release a new version of Safari.
I actually can't think of any time I've even used restart to reset my computer's state in the past couple of years.
Why do you think the updates require a restart? To reset the computer's state. I think the problem to be solved is updates requiring a restart (which is unacceptable in this day and age)
Yes, I have some idea of how computers work. And it would be fantastic if the OS could hot-load patches instead of needing a reboot.
It would also be acceptable if Safari could just remember what tabs I had open and reopen them instead of asking me stupid questions when I run Software Update and then canceling restart when I don't answer.
I'd think that could cause problems if the system frameworks or other libraries are changed by the update, but the apps are restored into RAM from the pre-update memory image.
Yeah you would want it to be a little smarter than I described, but not too smart. Web browsers would remember their tabs and windows, office programs would autosave and autoload temp files, etc.
I imagine there's a hundred tiny problems which make it infeasible, and it would require API changes, but damn would it be nice.
Yeah, I'm going back to Linux because I realize I miss apt-get more than all the goodies and bling OS X brings to the table. I checked and Ubuntu 10.10 will install happily on My Macbook 5,2 and I've checked my app list: Skype for Linux? check, Spotify for Linux? check, OpenOffice? duh, Chrome? yup, Tweetdeck? there's Gwibber, the list goes on ... Textmate I'll miss and Preview.app is super-duper but apt-get install I miss you!
In addition to Fink, there is MacPorts. Between the two, you can get a lot of things installed just as easily as on Linux. Of course, proprietary software is still proprietary.
I want to select "restart", go to the kitchen, get my dinner, come back, and the computer be rebooted and my applications restored the way they were before.
Also, the developer tools should include a good package manager instead of having to use Homebrew or Macports (both of which are flawed in various ways).