Application Installation – Mixed Feelings

So one quite major difference that I have come across on the switch is the installation of applications on Mac, and it is an area that deserves a mention here.

Generally, Mac applications do not seem to come with an installer (yes, there are some exceptions but lets talk about the majority case in this post) and at first the Mac model seems really clean. Simply drag the [Application].app file into the applications folder and run it, and drag it back to trash to uninstall it. Bosh. Done. Right?

But that raised some questions for me, Windows applications almost universally have installer and uninstaller applications because they need to place files in various places across the disk. Mac apps don't need this? Cool, but… What about per user application files? What about temporary files? What about user preferences?

So first of all I found out that the application "file" is actually a folder and inside that is the whole mess of application specific files. This is a great start, really clean and gives ultimate flexibility for the developer and perfect simplicity for the end user. But, even if it is good practice to write into this folder Mac OS X is a multi-user operating system and thats no good for per-user files and settings.

Then I found out about the Library folder, to me as a Windows user this basically looks like the Application Data folder under Documents and Settings, a per user store for settings and files. Most applications seem to use the Application Support folder under Library to store their 'stuff' in, but some applications (e.g. Safari, iTunes, Mail) seem to have a folder directly off the Library for different stuff. Preferences have a .plist extension and seem to go in the Preferences sub-folder. This all seems reasonably logical and god knows Windows has some inconsistencies where applications (especially old ones) put files. But Windows applications come with uninstallers that should remove all the crap they install.

So, that simple "Just drag the .app to the trash to uninstall" isnt quite as clean as it first seemed because even with a well behaved application you leave potentially hundreds of files lying around in several folders and you have no idea if you ever found them all because it seems like a fairly open season on where to write to inside that structure.

My final point here is that there also seems to be no permission issues with writing to the Applications folder? Is this because my default Mac user is basically an admin? Although I have not been asked to elevate my privileges by typing my password when tinkering in there.

There does seem to be an application called AppZapper which tries to solve this issue, I haven't tried it but I might take a look at it.

So, conclusions.

  • Application installation on multi-user operating systems has some fairly hard problems that need solving largely by the operating system or conventions laid down around the operating system.
  • Mac OS X and Windows actually have really similar models for file architecture
    • Documents and Settings vs Users
    • Application Data vs Library
    • Program Files vs Applications
  • Installation applications (InstallShield, etc…) are not ideal but neither is the .app model and in fact I think the .app model is actually worse because the perception is that the application is being uninstalled by dragging the .app to the trash and files have been insidiously installed in various different places across your disk.

If anyone has a good write up about best practices or any of the issues mentioned here within application installation for the Mac then I would be really interested to read it.

Technorati Tags: , , ,

Advertisements

55 responses to “Application Installation – Mixed Feelings

  1. You’re right, Mac OS doesn’t ask for your password as long as you’re working as the admin.
    But as soon as you’re working with an account that has no administrative rights, adding and deleting files to and from system folders like the applications folder requires the admin-password.

  2. You’re absolutely right about the Library folder. Uninstaller do exist with some apps, but not often, and never with Apple apps.
    So let install only good apps !
    And when you want to uninstall, just use Spotlight. For example enter the word “Word”, and Spotlight will show you the Microsoft apps + the .doc files + other temporary files and all that stuff…
    (excuse me for my american english)

  3. I have been a bit disturbing about this issue myself, and I have started to rely on AppZapper to “zap” away the additional files.

    There is a standard for saving these files though. All preferences are stored in the preferences folder, because that is where the application frameworks puts them (the developer doesn’t choose this himself, it is done automatically when he uses preferences in his app). Additional files are then stored in the Application support folder all the times I have seen. Don’t know whether this is chosen by the developer or done by the frameworks though.

    The only files I have noticed which isn’t necessary stored in these locations are hidden files used by shareware apps to validate expiry dates. These are not always that easy to zap away, but there is a reason for that ;-)

  4. I remember reading somewhere that when you drag an app to the trashcan – it will delete its library preference files on the next empty or reboot.

  5. > I remember reading somewhere that when you drag
    > an app to the trashcan – it will delete its library preference files
    > on the next empty or reboot.

    Thats interesting although I would disagree slightly with doing it without letting the user know. In an ideal world, the user should be consulted before preferences or user data is deleted.

  6. definitely give AppZapper a try, its an amazing application. And so simple to use.

  7. I’ve just tried AppZapper, and here in my iMac Intel, it does NOT delete preference files that go with the application.
    The day an app doesn’t launch, you have to know that you can trash the .plist file of it from your library folder, and the app will launch again.
    I recommand you not to copy your library folder the day you buy a new Mac : take the time to do the transition with your own hands : it’s a bit longer, but so it works so much better.

  8. Sorry, but you’re wrong about the Mac OS X way being bad. The problem with installations and uninstallations on Windows is that it could possibly remove files which other applications uses (seriously, don’t tell me none of you got that “Removing this file might affect other applications” crap when uninstalling), often leaves mess in registry, and doesn’t remove all the stuff either (just check how many apps are actually completely gone after doing the uninstall).

    On OS X if you drag the app to trash it’s gone. Sure there’s gonna be files that belong to that application, like preference file (.plist) or the folder in Application Support, but they DON’T affect the way your system works. These files are associated with the application and the only thing they do after the application has been removed is take up a little space. On Windows the uninstalled application will most likely haunt you for the rest of your life, or until the next re-install of Windows.

  9. Anatoli, there are two issues in what you describe.

    First, the guidelines on installing on Windows have largely changed and the issue you refer to with applications deciding to uninstall common files or windows system files that other applications may access is pretty much a throwback to when it was deemed a good idea to install your supporting libraries into the C:\Windows\System folder. This doesnt happen anymore with modern well designed applications and you will only really see it with old Windows applications.

    Secondly, The reason I dont particularly like the way this works on Mac is because of the insidious nature of the creation of additional files and settings to a location that the user is potentially unaware of. Imagine the situation with a Mac where you get an application, install it and somehow mess it up. When you trash the .app and re-install to fix it, nothing has changed because it was the .plist that was causing the issue. How is your average user supposed to work out what that issue is?

    Now dont get me wrong, I dont think Windows is perfect either. I dont think we have found a good solution to this issue yet for multi-user operating systems and in fact what prompted me to write this post was that I was so surprised that the Mac way and the Windows way were actually extremely similar and that surprised me because on the surface, they seem very different.

  10. I agree, for new users this system can be a bit confusing. However the advantages outweigh the disadvantages.

    With most applications there are really only 3 items that are installed.

    First, the application itself. You’re right that this is a nice easy way of installing files without causing a mess. It also means that the majority of the files are in one place. It certainly makes me more comfortable knowing this. I always worry when I see XP going through a 5 minute install for a small routing app :)

    Second, the .plist file. I think it’s important to leave these where they are, even after an uninstall of the application. I’ve often uninstalled an app and found a few months later I wanted to use it again and having the plist there was a godsend because I didn’t have to go about setting up preferences all over again. The file is also so small that having even 1000 old plist files on the system wouldn’t matter.

    Third, the application support folder. This is generally for apps like RSS readers, media products or browsers that require the saving of specific user related files. Safari keeps all the bookmarks here along with history’s etc. This is mainly for the multi user environment.

    I think overall it’s a clean way of installing and keeping apps.

    You mentioned the possibility of ‘messing up an app’. I’ve used OSX since the beginning and never have I had to delete an app because I’ve messed it up. (I actually have because I was messing around inside the package but most users wouldn’t do this or even know how to). When an app crashes there are two things to do that will solve the problem 99.9% of the time. 1. delete the plist and 2, repair permissions.

    Trashing the app rarely, if ever makes any difference.

    The idea that you leave ‘hundreds of files’ lying around the system is not quite accurate either. With most apps you leave one or two (very insignificant) files around. These are easy to find with spotlight as the previous user mentioned or simply by going into the library folder.

    I don’t think that the Mac system is perfect by any means. It can certainly be improved upon but I’m not sure an uninstaller is the right way to go.

    In fact, thinking about the applications that do have an installer or uninstaller, I can’t think of any ‘good’ applications that do have one. Are there any???

    Generally is the horrible bloated apps that have installers, apps like Adobe Acrobat or Photoshop which really leave a mess of your system.

    Maybe that’s why I’m against the uninstaller. :)

    Love your blog btw, such a good idea.

  11. I’d rather that I find out a file (.plist) that was left by an application than multiple orphaned Registry entries.

    Frankly, I’d select the way the Mac OS X handles application installation over the way Windows does it. Gone are the days when you can simply drag an exe file to anywhere you like like the nifty tool named irfanview. :)

    Uninstallation is quite a chore but with Spotlight, it is not that difficult. AppZapper even makes it easier! :D Try it out.

  12. What rom and Michael said… And now to your points, macnewbie.

    You say that the issue with system files being deleted, etc. has been resolved. So, then why is it, that I still encounter it with many new programs. I use Windows daily and I can tell you that the issue is still there. More importantly, the registry issue will be there forever.

    Second, I have yet to see an appication messing up it’s Application Support folder. As for .plist problems, yes, it happened to some people. But even more people had registry issues, way more.

    So, no I’m not saying OS X is perfect… I’m trying to prove that what you say in your article is very misleading. You claim that if something goes wrong there’s no way normal user will know, and although true, it’s the same on Windows. Except on Windows you’ve got a lot more related issues. In addition to that, in OS X it’s enough to trash .plist, in Windows you would have to go crazy with registry and that’s certainly not an easy thing to do for a newbie—much harder than trashing a file.

    I think the problem here is, you’re approaching the OS X issue as a new Mac user, but you’re approaching the Windows issue as a knowledgable Windows user.

  13. I’ve been developing Windows applications professionally for 15 years. The fact that Windows applications require installers has absolutely nothing to do with files being added/removed from a sub-directory of “Documents and Settings”.

    The primary reasons is the Windows Registry and COM component registration/deregistration. COM’s architecture dictates that all components are registered persistently in the HKEY_CLASSES_ROOT key in the Registry at installation time, and this needs to be done by an installer application.

    This is far more ‘insidious’ than the creation of totally benign plist files on the Mac. And, more importantly, your statement regarding Windows installer applications removing files from the user’s Application Data directly is incorrect. Most applications create user profiles/settings on the fly using a mixture of .ini files, .xml files and custom binary formats. These are generally created automatically when you close the application after running it for the first time. The installer application has absolutely no idea about these files as it does not create them at install time.

    More importantly, almost all Windows applications litter your Registry with data in the HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER hives. And if this data is created auto-magically at run-time (rather than at install-time) – and it generally is – then the installer won’t remove it when uninstalling either.

    So, the behavior you perceive as insidious on the Mac is just as prevelent on Windows, if not more so, as installer modifications a) muck with the system’s software configuration (i.e. the COM component registrar) and b) installers don’t clean up after themselves anyway.

    I’ve spent the last 5 years working on a large Win32 app (close to 20,000 source files, over 2 million lines of code) which installs more than 20 .exes with more than 250 .dll support files. This is a HUGE project with over 20 full-time developers. The product’s installer is hugely complicated, attempting to play by Microsoft’s rules and it swallows an unreasonably large amount of the total project budget. And the bulk of this complexity is a base-line requirement for COM-based Windows applications of this kind.

    Most app developers balk at the kind of effort and resources we invest, even those developing professionally, so most developers cut corners and don’t clean up after themselves at uninstall time, leading to the bloat and cruft that Windows develops over time.

    Apple understands this and hence designed a model which, for the bulk of desktop applications doesn’t require any explicit developer support. This is better for users and for developers.

    The only side effect is a small number of tiny, benign text files in a well-documented place.

    If you think this is equivalent to Windows technically then you should take a look at the Win32 SDK documentation for COM, ODBC, OLEDB, Performance Counters, Services, Windows Management Instrumentation and almost every other prevelant Windows technology – you’ll be appalled to see how much junk installers are placing on your system at install-time and will understand why they can’t possibly clean up after themselves when you uninstall (if the uninstaller even runs at all.)

    I’d go with the Mac OS X architecture anyday.

  14. Anatoli
    > I think the problem here is, you’re approaching the OS X
    > issue as a new Mac user, but you’re approaching the
    > Windows issue as a knowledgable Windows user.

    You are absolutely right, I am not trying to hide the fact that I am heavily from a Windows background and the Mac is completely new to me and this is the point of the blog, it is selfishly for my own education.

  15. Michael
    >With most applications there are really only 3 items that
    > are installed.
    >
    > First, the application itself. You’re right that this is a nice
    > easy way of installing files without causing a mess. It also
    > means that the majority of the files are in one place. It
    > certainly makes me more comfortable knowing this. I always
    > worry when I see XP going through a 5 minute install for a
    > small routing app :)
    >
    > Second, the .plist file. I think it’s important to leave these
    > where they are, even after an uninstall of the application.
    > I’ve often uninstalled an app and found a few months later
    > I wanted to use it again and having the plist there was a
    > godsend because I didn’t have to go about setting up
    > preferences all over again. The file is also so small that
    > having even 1000 old plist files on the system wouldn’t
    > matter.
    >
    > Third, the application support folder. This is generally for
    > apps like RSS readers, media products or browsers that
    > require the saving of specific user related files. Safari keeps
    > all the bookmarks here along with history’s etc. This is mainly
    > for the multi user environment.

    This is great information and exactly what I was looking for. Thank you.

  16. sw
    > The primary reasons is the Windows Registry and COM
    > component registration/deregistration. COM’s architecture
    > dictates that all components are registered persistently in
    > the HKEY_CLASSES_ROOT key in the Registry at installation
    > time, and this needs to be done by an installer application.

    Amen.

    COM is, was and always will be a nightmare from start to finish and I didnt mention this in the original article, I should have.

    > If you think this is equivalent to Windows technically then
    > you should take a look at the Win32 SDK documentation for
    > COM, ODBC, OLEDB, Performance Counters, Services,
    > Windows Management Instrumentation and almost every
    > other prevelant Windows technology – you’ll be appalled to
    > see how much junk installers are placing on your system at
    > install-time and will understand why they can’t possibly
    > clean up after themselves when you uninstall (if the uninstaller
    > even runs at all.)

    I have worked with a many of these technologies over the years and I agree they can be a real mess and again, this is usually COM’s fault. My original post was more focused on simpler/consumer type installations (maybe I should have qualified that too) than ones that hook into core operating system services which I would expect to find in more of an enterprise type of software (WMI, Perf Counters, etc) however this raises a really interesting point for me, I would be really interested to see how the deeper operating system technologies are integrated with applications on OS X, how do you hook into a scheduler? (does it use cron?) How do you interact with the preference panes etc, do you need to place hooks somewhere or is it more of a case of placing the correct files in the correct places?

  17. @Everyone

    Apologies if I oversimplified the situation in this post, I certainly didn't mean this to be a 'traditional' ABC Sucks! and XYZ Roolz! blog. In fact that is something I am trying really hard not to fall into ;)

  18. macnewbie,

    With things like Preference Panes and Menu Extras (like getting an eject button by the clock, Adium’s menu extra, etc.), it’s simply a matter of putting the right file in the right place. Delete the .prefpane file, and it disappears.

    Another thing that helps is that Apple has been repeatedly telling developers from Day One that they should never ever write to the /System folder. If they want to make something available system-wide, use /Library. Compare that to the thousands of crapware apps on Windows that drop junk into \Windows or \Windows\System(32).

  19. If you think Windows uninstallers actually uninstall everything they put on, you are deluding yourself :)

    Registry entries, DLL files and stuff going into places not in the usual folder structure are almost never cleaned.

    I’d take the .app model any day of the week, it’s simple, and leaves about the same amount of slack space (or less) than an “uninstaller” gives you.

  20. Manoftheisland

    There should be an option in your users section of the Preferences to ask for password when installing new Apps into Applications Folder.
    I have it set up that way on my eMac (10.3.9) at home. I am not sure about the path to the option as I am currently using a Windows Machine at school.

  21. SW is absolutely correct.

    The single biggest difference in developing windows COM based apps and Java and/or Mac apps is the bloody windows installers.

    You HAVE to buy one if you’re going to deliver commercial apps. The entire process of installing on windows is hugely complex compared to the other platforms.

    At my last job we built a thick java client app. The installation for Linux was a friggin zip file (os x was a jar). But to get it reliably installed on windows took a huge amount of effort. Company before that? Windows only app. For the 4 year life of the company we had never ending trouble dealing with the 8 major versions of windows that all did things slightly different; let alone all the different things other apps can do to screw up the various dlls you’ve installed.

    People forget that software development doesn’t end at the compile phase. You have to deliver the software in a way that a NORMAL person can work with. The mac has always gotten this right. Linux at least has good package management tools and a lib system that is reasonable. Windows has always been a mess that eats huge amounts of development resources.

    But I’m sure .net has fixed everything (i wouldn’t know I abandoned any windows as a dev platform when mozilla 1.0 came out).

  22. > Another thing that helps is that Apple has
    > been repeatedly telling developers from
    > Day One that they should never ever
    > write to the /System folder.

    …and in doing so has made app development in a Mac environment less of a headache, imo. I’m a student, and so far, can only write bloated java apps (which are easier to write on a mac, methinks).

    My room mate put it this way for me, back when I switched last year:

    “Apple has told people how to talk to their operating system, and how to get the resources they want. If they know how to talk to the mac, they can write a program for it. With Windows, you are given a piece of code and told “here, work with this””

    The simplicity of that analogy may draw the ire of some of my fellow commentors, but no matter: my point is, not only does it seem to be easier to write for mac, it seems *safer*, like it would be much more difficult to actually muff up your system.

    (Great blog, btw. Dugg and found to be Del.icio.us!)

  23. Good morning guy…

    How it’s going? this is a little off topic but…

    I would love to hear your reaction to Apple newest application release – something called “Boot Camp” which is Public Beta Software that enables Intel-based Macs to run Windows XP.

    For me as a manufacturers representative who deals with windows depend manufactures everyday – it’s not a bad idea in the short run. But I’m thinking that those same companies may see this as a way to cave into Apple and get the hell out of the windows ongoing security mess once and for all!

    This is big for Apple and could be bad for folks like Dell who’s been on the edge for years.

    I do hope you check it out soon…

    therepguy

    PS Apple’s stock is taking off and CNN is all over it!

  24. Found this on Digg now! Great blog too.. I too am windows convert, been with MS since my IBM 8080.

    I’m still tring to learn how to create a folder in the folder Im working with.. Really easy on windows with a right click, but on the mac the only way I can figure out how to do it is to go to the top bar. making folders is not in the contextual menu system.. can we request it?

    Something I also wanted to add.. this may seen wierd, but I find that I un-install or install far far less applications on a Mac than on windows. For example, on a virgin windows machine, it would take me many many hours with a huge list of “nessisary” programs to install..

    My mother-in-law just bought a new iMac, and she asked me “do I need to buy any other software?”. I thought about it, and then said, no.. you have everything you need right out of the box. With a windows machine I would have given her a very long list of tools and apps that she would have to buy.. Virus protestion, MS word, Nero CD/DVD software, DVD player app, firewall app, iTunes, Quicktime, firefox, A photo app, drivers, ect, ect.. Then spent the better part of the day installing these, just to get the computer “up to use”.

    just a new mac users input too.

    thanks

  25. >Thats interesting although I would disagree slightly with doing it
    >without letting the user know. In an ideal world, the user should
    >be consulted before preferences or user data is deleted.

    Well make up your mind. If you drag the app to the trash then you want them to be deleted don’t you? Isn’t that the who point of the post?

    And the plist file is a rather small xml file (about the size of an ini) – I would rather that stay around and keep the easy of a drag to remove.

    (Your post seems kind of like you’re trolling, but I’ll give you the benefit of the doubt)

  26. Maybe someone else has mentioned this (I don’t know because I didn’t read every single comment), but, even in windows, when files are created POST installation, Uninstall applications won’t delete those files unless it prompts you during uninstallation to choose whether or not you want to delete files. Uninstall will only delete files created during installation. Let’s say you uninstalled something like Firefox. Your user settings are still there. So the uninstallation process in Windows is not necessarily “cleaner” than uninstalling something on a Mac.

  27. As to your issue with orphaned preference files, I think you just need to look at it from a different perspective. These preference files are meant to stay on your system if you ever delete the application. The reasoning behind this is: if you ever want to reinstall that app, it would be nice if the old preferences you happened to set would still be active for the new install.

    Thus, even if you uninstall an old, broken version of an application and then immediately install a newer version of that app, all of your preferences are safe in a different location.

    The price for this ease-of-use is minimal, as most preference files only take up a single K of disk space. Plus, once a program has been uninstalled, its preference files do not affect your system in any negative way, as these files are never opened or read.

    OS X does automatic defragging during use of all files under 20 MB, so you don’t even have to worry about that.

  28. i know you’ll have had this from previous posts, and prob know it from your win knowledge, but it’s might be worth stressing don’t work as an admin all the time! install as an admin, don’t work as an admin. cheap installers say “just drag to the application folder” which for a “self-contained” app works largely fine (with the caveats you’ve brought up about /Lib/App Supp) and as a non-admin you’ll then be prompted for an admin name/password

  29. richard,

    to create a new folder inside of any other folder just control click or right-click with a 2 button mouse and New Folder should be one of the items in the contextual menu.

  30. richard —

    Try command-shift-n

  31. Users coming from windows (a lot, nowadays) find it weird there is no uninstall option for applications. Educated the windows way, they know it’s very, very, very bad to have remains of uninstalled applications laying around in the system. There are tons of cleanup-utilities which claim do delete everything from every place windows app can store things, like, uuuh, the registry.

    But now, you’re on a Mac, and things work differently as you’ve already noticed. Don’t bother about files spread over the system. I’m using my PowerMac since March 2004 and never ever cleaned up my users library folder. The system works as a charm, as it did two years ago. I only once had weird issues and people recommended to clean up my Library folder. In the end, I found out that bad RAM caused the problems, not remains of deleted apps.

    Conclusion: Macs don’t get slower like Windows. Just let the files rest in peace. Windows users tend to get worried because of bad experiences they made being tortured by Windows. Don’t worry about this, just do your work. That’s the Mac way.

    Btw. These “clean library folder stuff” is the same crap as “Repair permissions”, the holy grail of every amateur Mac user. It doesn’t help actually, but unwise people tend to love placebos ;-) Check Daring Fireball for a recent comment on this …

  32. When upgrading software (such as Firefox) many times all you need to do is over-write the old app with the new one (drag the new icon into the Applications folder and say yes to over-write existing). Of course, some people first delete the old one out of the Applications folder first and then drag the new one in. And every time I’ve done this the updated app has worked flawlessly with my existing preference files. This is as good an argument as any for the preference files to stay even though you’ve deleted the app.

    Of course, I certainly don’t want to get into the hidden files installed by demo software (to keep track of things like 30 day demoes).

  33. Yvo van Doorn

    I’d recommend a program called AppZapper. It removes most of the crap that a program might leave behind. It was offered for free recently to the first 2,000 users, but that action ended 48 hours ago.

    The reason why applications are able to write freely in the /Applications folder is because your account is member of the admin root. Admin group has read, write, execute in the Applications (default listing for Applications:
    drwxrwxr-x 95 root admin 3230 Apr 4 09:56 Applications).

    A standard user will be prompted with a password if they attempt to write to the Applications folder (note the w from the last set). Once copied in, they are chowned to the admin installing it and then get read/write/execute in the Applications folder.

  34. I dn’t worry about files in Application Support or Preferences. Most of the time they’re small files and I clear my caches relatively frequently.

    It means you can uninstall an app (Trash!) and yet still retain most of your settings. That’s been useful over the years as I’ve progressed through different hardware.

  35. First off I’d like to say that this is a good start for the people looking to make the switch. However, I’d like to comment on the whole install/uninstall topic. Windows systems no matter if they are a single user or a multi-user running system will leave all sorts of files in different places. Mac is the same way. However, with a Mac, you are pretty much guarantee that the files are going to be in one solid location. Many people have already explained where these files are left, whether it’s a Windows machine, or a Mac machine. I do agree with Nicolas on Post #2 about using Spotlight. Now this does only work with Tiger, but I do feel that it brings up a good point. Using Spotlight is always how I’ve gotten rid of those “extra” files. But in reality those files only take up maybe AT MOST 1MB, at least with what I’ve seen. Now if you have a 100GB HD which most machines are coming with, I don’t see the reason to worry about that little 1MB that’s being taken up by some oll app. files. But if you really feel the need to get rid of them I’d use Spotlight.

    Now on to my next comment I wanted to make. You are a Windows person. A very strong Windows person at that. I would like to say that it’s really hard to be biased when you’ve been with Windows for so long. Let me give you an example. I have a notebook running XP Pro and a version of Linux. Now I also have a new MacBook Pro(by the way I love it…even with all the problems it’s having). Now I took them to my parents, who are 45-50 age category. I first set up the notebook just running XP Pro. They could fumble through it ok. Only because they have a computer at home. I then rebooted it and ran Linux and had them try to do the EXACT same things and they could no problem. NOW even better for the Mac Addicts(like me) out there. I booted up my MacBook Pro and let them go at it. It was unbelievable what they did. They found everything they wanted to do with it, PLUS they were able to take pictures off their digital camera and make slide shows to give to their friends from a recent trip they went on.
    Now when I think of what a user needs to do. I think well a user is like my parents. So the end user, which is what this whole blog should be about, isn’t going to care about little files that are being left there. The point is that Apple has created a very high quality operating system that the end user can use. It was stated in a previous post that with a Windows uninstall you get a message about deleting all files could effect other programs. Well I can tell you from experience, then end user gets confused and frustrated with those messages. Apple with Mac OS X has created a VERY simple operation for the end users. If they want to delete something, they do what they naturally feel they should do. Drag and drop the app in the trash and empty it. That’s IT! So much easier then they way the Microsoft does it.

  36. AFAIK, some windows apps leave their settings (in the Application Data folder) in place just like the Mac apps do. In fact, it has to, because the person uninstalling the application may not have permissions to remove other user’s settings files.

  37. Having recently made the switch myself, I have experienced the pain that the scattered .plist files can cause. As an unexpected bonus, my Intel iMac came with Quicken 2006, a godsend as my Windows Quicken 2003 was set to EOL in April. My wife and I began using it and had no issue with it for the next two months.

    Then, suddenly, my wife could not use Quicken; it would do the wonderous beach ball dance of doom and would only die through the “Force Quit” menu. I could still use it, but that only lasted for a week until both of us could not use it.

    Quicken support was somewhat helpful, but after reinstalling and deleting .plist files for two days, the problem persisted. One or both of us could not use Quicken.

    At some point, I decided to see what would happen if I deleted all Quicken .plist files, mine and my wife’s. I also ran Yasu (one tool that I think every Mac user should have and learn to use) after deleting the files for good measure.

    Bingo… that did the trick; both of us have been using Quicken since that time with no issue. Word to the multi-user wise, if an application is misbehaving, delete ALL .plist files, not just your own, before reinstalling.

  38. One thing I notice that hasn’t been mentioned here is the fact that, at least in Tiger, if an application crashes (more than once? not sure..) it will prompt you to start with clean preferences (it wipes the preferences file). After doing that it will ask you if you’d like to keep it that way or restore the old preferences. Has anyone else noticed this?

  39. sprak,
    It sounds like Quicken is just designed like crap. Which isn’t a surprise coming from Intuit ;). Unless someone else has seen this behavior in other apps?

  40. Hey macnewbie,

    I just saw your blog listed on Digg.com and decided to take a read. I’ve spent the last hour reading it a work since they’re not keeping be busy. So, far sounds remarkably like my move to mac 5 years ago when I was a graphic design student (and buy the way I still have the same machine and it can still hold its own). I appologize if any of this is a repeat for you.

    Though some of this might be off topic by a little bit to a lot I thought I might mention a few things to check out. Some of them I have only learned about recently myself.

    First, check out http://www.macupdate.com. I am somewhat surprised I haven’t seen anyone mention it yet. It is a great resource for much of the mac software out there and lets you know what is a Universal Binary and what’s not. Its has a user rating system that is usually fairly accurate. Much of what I am going to mention is listed on there site.

    Second, for a great text editor check out TextMate at http://www.macromates.com. It takes a little time to setup and get used to, but from what I have done so far I have been very impressed.

    Third, for testing Apache, PHP, and MySQL related sites check out MAMP at http://www.mamp.info. So far its worked great for me, and they have just released a Universal Binary on Monday.

    Fourth, coming for a windows web development background, I would be curious about your impressions on the Mono project at http://www.mono-project.com as an opensource alternative for .Net applications. I would also be interested in your thoughts on its ability to develope across platforms. I have just started looking into it myself.

    Fifth, is a book I just recently bought for the more geek oriented. Learning Unix for Mac OS X Tiger, by Dave Taylor, from O’Rielly Publishing, ISBN: 0596009151, for $20. I have only read a little bit so far, but so far its given me a lot of insight under the hood of OS X Tiger and it full potential.

    Good luck with your switch. I hope it goes well and that you become a
    full mac convert by the time your done. I agree that apple doesn’t do everything right and I am all for open standards as you mentioned, but no company is perfect.

    alexl

  41. if you are cocerned about files you cant see there is an app/utility called Invisible which exposes all hidden files of the system. Unless you are using terminal to access. I believe there is nothing hidden from therminal. There is a danger there though. You probably will eliminate necessary files. However… programs like Norton system works is a program that unless totally removed will take a huge system resources. That is if you dont want the program there. For that process, invisible was nessescary. There are other programs like that as well. As for programs leaving hundreds of files in hard to find locations… well others know more about that than me. After clearing out stratup folder, Preferences folder, pref-panes, application support, and reciepts, I am feeling faily confident I have eliminated what i need to get on with my day.

  42. Actually the situation is much better on OSX vs. Windows. With Windows, application internals (executable code; which comes in many forms on windows ie dll’s, exe’s, ocx’s etc..) can get spread out all over your hard-drive. This propagation of executable code does not generally happen on OSX; typically only configuration files, prefs.. etc will linger. But these files are harmless unlike the end-trails left behind by Windows applications.

  43. Regarding the “what do you do if you accidentally screw up an installation, and how is a normal user supposed to know about .plist” comment. Well, actually, the Mac OS X will, if an application crashes, offer to re-launch said application with a clean set of preferences. Upon quitting, you’re then given the option to keep those settings, or revert to your original ones.

    The Mac package approach is a really great idea. The application (including multiple CPU architecture executables), and all it’s support data are kept in a single folder, that appears to the user to be an application. Most of the time, the only things created outside of the application package are a small .plist file (which is usually XML, and pretty transparent) and documents.

    What’s really great about this system is when you migrate to a new machine, or when your home directory is stored on a network server. What you’ll find is all your applications just keep on working EXACTLY like they did before.

  44. Hey ‘newbie,

    I was hitting Digg today and I’m really happy that I found this blog. I’m still a Windows user with a nice helping of Dual-Booted Ubuntu and I plan to do the switch this summer to a MacBook Pro (I would do it 25 minutes ago but being a student doesn’t bode well for the checking account). I’m a full-time Computer Science student/part-time Level 1&2 Desktop Support Tech/small-potatoes web developer and just reading someone’s journies through the OS X transition makes me even more confident that it’s time to pull the ol’ switch-a-roo whenever I can.

    God speed and good blogging!

  45. Hi there,

    I’m in the process of switching too. I’m not getting rid of the windows PC’s yet, as I need them for work, but am interested in the Mac for the UNIX underpinnings and web development.

    One thing that I am finding annoying is the lack of a proper list view in Finder – I really miss the 2 panes view of Windows Explorer (not Internet Explorer) with the directory structure on the right and the files on the left.

    Also the fact that directories are not at the top of the view means I am naming them with an underscore at the start so I can easily find them. Frustrating to say the least.

    thanks for the mySQL tip.

    Mike

  46. Nice post! I moved to Mac from a UNIX background, and I think I can offer some insight that could alleviate your worries.

    Like UNIX, OSX uses the concept of “dot files” — in OSX the concept is expanded to the ~/Library directory. Every user on the system has a home directory, and application settings and preferences are stored only in the user’s home directory. The OS doesn’t walk through the user’s directory and load/use every file in there — those files are created and used only by the specific application that installed them and does not impact the rest of the system.

    So if I run the application Foo for the first time, Foo may install some preference files under ~/Library (the “Library” directory in my home directory). Every time I run Foo after that, those preference files are checked. Nothing else on the system cares about the Foo preference files – these are not touched unless Foo is started.

    So when you “uninstall” Foo by dragging it to the trash, yes, its preference files remain in your home directory. However, they do not impact the system at all, aside from using a bit of disk space.

    The downside is that if your intention is to do a “Microsoft Solution”, meaning remove something and re-install it hoping to fix some problem, you will have the same settings/preferences files as you did before the reinstall. So novice users may have a hard time if they need to remove broken preference files.

    You can find all the files that contain “Foo” or “foo” in their name by running the command:

    find . -name “*[Ff]oo*” -print

    in your home directory. If you want to remove all of those files, you can pipe that output to the rm command:

    find . -name “*[Ff]oo*” -print | xargs rm -rf

    I agree with you that some convention for doing this automatically for application removal would be good for OSX. Then again, if your intention is to remove Foo so that you can install Foo version 2, you probably don’t want to remove all of your preferences.

  47. One thing that I am finding annoying is the lack of a proper list view in Finder – I really miss the 2 panes view of Windows Explorer (not Internet Explorer) with the directory structure on the right and the files on the left.

    Mike check out http://www.macupdate.com, which I mentioned earlier. If you type finder into the search you’ll get all kinds of things. Ones to check out Macintosh Explorer, Xfolder, or Pathfinder to start with. Also, here’s the Finder search I did.

    Have fun.

    alexl

  48. It would make sense to place hooks in the app so that when it’s dropped into the trash, it can run a little uninstaller script inside the app folder to remove the cruft from your system before it gets deleted. garage band leaves 3GB of stuff on your system :/

  49. Check out WhatSize http://www.id-design.com/software/whatsize/ , it works just like good old TreeSize on windows, which lets you browse the files on your system ordered by disk size. Thus you can hunt down huge space wasting folders you forgot about (like the garage band demo songs in Shared Users, and Garage Loops in System Library)

    Also check out DeLocalizer, http://www.bombich.com/software/local.html which uninstalls OSX foreign localizations (the ability to use OSX in a different language; not the ability to view those languages on the web etc). This alone saved me 2.5GB on a fresh Macbook.

  50. To #31. Mario Aeby and #32 Yvo van Doorn

    That’s right. When I reformat my PC, which I happen to do quite fequently due to the slowing down effect on PC after weeks of using, it often takes me a good day on installing applications and tweaking the PC. Applications like Office and Firefox take me rather minimal efforts. Its those utilities that takes most of the time, like Anti-Virus, disk utilities, Memory or Cache utilities, and most importantly those back up utilities for in-case-the-windows-crash-n-die-like-last-time purpose. On top of installation, the tweaking takes some sweet time too in order to turn off those system services that are slowing the windows down, take out the unneccessary taskbar app to save memory and most importantly streamlining the regestry. I would feel lucky if all these finish in 1 day, if not days.

    But with my mac, I dont have to worry about any of those utilities and tweaking. For most of the general home computer users, all you need maybe is just installing the office suit and you are good to go. Cant be any simpler.

    When I update my applications on windows, most of the time I need to 1st uninstall them and then reinstall the new ones, and oh defrag the pc in between these 2 procedures for better performance. But on a mac I would just drag and replace the applications, done and done.

    In my impression, due to the file system of Mac OS, a file on mac takes up lesser HD space (maybe a 1/2 a K or so) when compare to the same file on PC. I cant be sure, need to double check again, can anyone confirm this? Nevertherless, the same program definitely takes up lesser space on mac, eg Phtoshop, MS Office. So those little .plist file really dont concern me that much when the file system already saves me lots of space.

    I have been using both Mac PC paralle for more than 10 years now. I found that my every day works can be performed on mac w/o any problem. It’s just the games and some multimedia encoding software (DVD Shrink, Alcohol120%, DVD-to-divx converters etc) that are holding me back to windows. If these softwares and games are available on Mac too, I would let go my PCs and have a pure Mac environment anyday :)

    oh and to #50. Kroc Camen
    Thanks for the tips, I never really bothered to look into those places before. I will check them out now, whow more HD space, here I come! ;P

  51. how do you hook into a scheduler? (does it use cron?)

    Tiger uses a system called launchd which replaces cron. (It actually replaced a lot of other Unix scheduling and startup components as well, and it’s an open source component so other Unix variants can adopt if it they desire.) I’m not an expert on this particular technology, so I won’t babble too much about it, but see launchd on Wikipedia.

  52. garage band leaves 3GB of stuff on your system :/
    3Gb?!?
    Wow

    This is mostly media files, which can be used in other applications.

    This type of data is a question mark — should programs uninstall fonts that shipped with them? Clip art?

  53. Also check out DeLocalizer

    Consider as an alternative Monolingual, which can optionally remove the non-relevant architectures from Universal Binaries. If you have only Intel- or only PowerPC-based Macs, there’s no need to carry around the extra binaries. (If you have both, I’d suggest leaving them there so you can easily copy a program between machines).

  54. Pingback: My MacBook Pro - first-time Mac owner - Robert’s talk