Tuesday, April 01, 2008

Instaling to the Desktop (Let's Start a Riot)

I am intentionally announcing a decision that might make experience X-Plane users unhappy - my goal here is to solicit arguments against it (if there are any) since it's a sort of a strange change.

The proposal is to make the default installation location for a new copy of X-Plane be...the desktop.

EDIT: to clarify some of the blog comments, this is a default installation location; the user will be able to customize both the folder name that is created to contain X-Plane (default will be "X-Plane 9") and the folder into which this new X-Plane 9 folder will be placed.

The desktop? What are you hacks thinking? Well, here's what we're thinking:
  1. Our goal is to minimize tech support calls during installation. This means making an installer where the last computer-savvy users will not get stuck in the installation process. If you know what you're doing, you're not who we're aiming at. (I reiterate, we get a lot of calls about installation problems from users who have never used a computer before.)
  2. We need a location that the user installing X-Plane has access to, guaranteed. That rules out places like the Applications folder on OS X - we expect the least sophisticated users to not customize the install location, so we need one that will work.
  3. We need a location that the user can find. This rules out their home folder (the user may not use their home folder or know it exists) as well as the C drive and the Program Files folder on Windows (both can have their files hidden by default on Windows XP to keep users from breaking tings).
The desktop solves all of these problems. Every user has write-access to his or her own desktop, and every user knows where it is.

If, like me, you don't want X-Plane on your desktop, you can simply click the "destination" button in the installer to put it somewhere else.

As a final note, the strongest alternative to this on Windows was to put the app in program files and build a start menu short-cut. But this starts the sweater unraveling...if we have a shortcut, we need an uninstaller rather than trashing the folder...if we have an uninstaller, how do we cope with multiple installs...by the time you solve these problems you have a huge amount of new untested code.

I'd like to get a more Windows and Mac interface compliant installer, and we'll get there eventually, but the work I'm doing now is aimed at the biggest real problems we face:
  • Users not knowing where X-Plane is.
  • Errors during the install in its default configuration.
  • Problems installing and configuring scenery.
Okay, there it is, fire away!


Dan31 said...

No problem for me as long as we can customize the sestination folder.

y-man said...

Please, whatever you do, do not consider removing the user's ability to install it at a location of his choice. I know you implied that destination button/field is there to stay, but just want to be sure.

- a user still doing most his work/play from command line, o.k., I do have a shell script to start xp9 (called just that)

bubal said...

Ufff ... I think that is not a good idea, at least, no the best!
(First, I hate the desktop library).
Perhaps is the Windows near place to the user, but not the X-Plane programs near place, b.e. GoodWay ask to the user where is the X-plane copy, and the desktop is not a possible choice in a tipical file find windows ...

AWC said...

I see no problems with it,as long as down the line things are not demanded to be on the desktop.As long as we can still have our folder were we want it,without trouble.

Jan said...

Not the typical solution - but I can see the merits. I also don´t have a problem with it, as long as I can choose another destination should I desire so.

Anonymous said...

This is NOT a good idea. If every software manufacturer starts doing the same thing, guess what happens with the computer experience (and the user's desktop).

It's better to educate a customer on doing the right thing, than putting the responsibility on the hands of all the users that know how to use their computers.

Anonymous said...

Haha, nice April Fools Day joke (I hope!)

peter meininger said...

there are dozens of reasons why the desktop is the wrong place for the X-System folder but I'm too tired to argue....as long as we can choose custom install locations I'm happy.

whats wrong with using the platform specific default location and putting an alias/shortcut/symlink of the x-system folder onto the users desktop?

Benjamin Supnik said...

Hi Peter,

There are two fundamental problems that get us where we are today:

1. The sim is fundamentally not designed as a multi-user app, and I'm not in a position to change that right now.

It requires write access to itself to use in any sane way. This totally borks the notion of putting apps in protected places, which is how the "standard OS install" works on Mac and Win.

So you can put the sim in Applications or Program Files - just pick your destination - but we're not going to try it by default...it a user doesn't know what these folders are and doesn't know what admin rights are, putting them there is just asking for pain.

2. At this point I'm out of time to develop new untested code...there is a huge penalty for bugs in the installer. When looking at more OS-friendly install methods (ignoring the protection issues above), you can see how many things have to be put in place that aren't there.

- So we want a start menu item so we can stash the app anywhere, great.
- Okay, so now we need an uninstall to remove a file that's not part of the x-system folder.
- Hrm, but what if there are two x-systems...how do we coordinate the uninstall?

My point here is that we couldn't do the OS way "just a little bit"..to get something consistent we'd have to go all the way and I'd be out of time.

Finally, I must say from my research, uninstall is handled really quite badly on both Mac and Windows. If you do a google on the windows uninstaller, you'll get a billion questions about how to deal with incomplete uninstalls and other broken behavior.

The Mac gets around this by not providing any useful facility at all...fine for self contained apps but a mess for anything that dumps files all over the library, app support folder, and the 20 other places.

And finally, one last rant...if you're reading this blog, you might have trouble IMAGING the users we're targeting here. About once every 3 or 4 months I end up picking up a support phone call for Randy with a new user, for some reason, and I am reminded what a huge gap there is between the computer nerds and the computer illiterate.

Anton said...

Well, if your goal is to help people that is not very familiar with pc desktop environments, you're definitively targeting windows users (don't get me wrong, I mean, your target audience will probably be Windows users rather than OSX or Linux, just statistics).

In that case I really think you should consider going for the standard way: installation to a hidden default location, and a shortcuts to the Start menu.

The advantage is that if the user knows anything at all about Win, he will be familiar with where his programs are located (Start Menu). If you want to be even more explicit, then stamp a shortcut on the desktop.

Ok, this might not be compatible with multiple installations, etc. But this is probably for "advanced" users only. So, for advanced users, the installer could include an "Advanced" button where one could customize the installation procedure. This scheme is also quite common, so knowledgeable users will likely find the button and choose the right options for what they want to do.

But, as a software engineer myself, I see your point. This kind of implementation might be complex enough to deliver just now. So your solution looks simple and effective enough as a workaround.


Anonymous said...

some folks will use their machine as a work device. When connected to their parent network certain windows installations may attempt a resynchronize of the desktop folder across their network to the parent network. Ideally once the option to chose the install is in place that situation can be avoided.

How about an incon on the desktop linking to the actual folder?

Anonymous said...

This is NOT a good idea!

X-Plane, as every application, should stay in the Application Folder at OSX. Even at XP it should stay, where it is designed to stay - at the Applications.
If every software company would install their applications anywhere on the harddrive as the default, the customers would be more confused.

Sorry to say that, but even at very simple installers, like Skype or Firefox, 90% of my supported customers here at an Apple Service Partner where not able to install the apps correct: Every time they start their apps, the installer images open up and after that the apps.

It is not very complicated to show the customers, where their applications are installed: Like Macintosh HD - Applications. That´s it! The cleaner the hirarchy is, the better.

Eduardo said...

That's a great idea, Ben. Just don't forget that us, Linux users, have a Desktop folder too. The last Beta Installer (124) is installing (by default) at /X-Plane, a folder that most Linux users doesn't have access.

Still waiting for XSB for Linux...


Benjamin Supnik said...


With this installer your home dir will be the default on Linux. I trust LINUX users to know where their home folder is.

Paploo said...

First: I see no problem with the plan. It makes it easy to support and anyone that knows where they want it can easily set the destination to whatever they want.

Second: Speaking of installers, I was installing more of my global scenery onto my computer, and found myself mildly frustrated that if I wanted, say, just Hawaii, I had to install *all* 9 GB of the South American scenery first, and then remove most of South America (I dumped everything south of the equator in the end)

Sometime in the future, it would be really neat if the installers for a region disc would present you with a clickable map where you can select sub-regions to install. Maybe 10 degree by 10 degree or 5 degree by 5 degree squares that can be selected by the user as necessary.

Benjamin Supnik said...


In this case you don't need to file a bug because it's already addressed in the 2.0 installer. Generally you should file bugs using the bug report form taht can be found off the contact page on x-plane.com (NOT by posting on this blog!). Blog comments take a while to go through since I have to get around to approving them to prevent spam.

Paploo: I agree that the "whole continent behavior" in the 1.x installers is annoying. Here's the good news:

1. The new 2.0 installer has a map that lets you select the scenery you want to install (both for an initial install/new install and later as an add/remove scenery operation).

2. The new 2.0 installer IS compatible with DVDs that are already burned using the 1.x installer.

The 2.0 DVD installer will be available for download (mainly for tech support reasons, e.g. if we need to fix a bug).

But you could grab it, run it off the HD and insert a continent disk. It'll give you the "add/remove global scenery" option and the map will show the particular set of DSF files on that DVD. Pick them in 10x10 clumps.

DVD sets baseed on the 2.0 installer span disks - that is, 1 installer on disk 1 lets you install everything, and it prompts you to change disks.

If you use the new installer with your old disks, you may have to go through several disks to install scenery...the images on the covers show the "region" they cover, but for example if you wanted the US-canadian border you might have to go through two steps with two DVDs to get all the files you want.

Sevo said...

I'd really recommend staying with the standard defined for each system. There are too many configuration options that can redefine what and where the "Desktop" may be.

In the long run, support issues caused by disk quota, non-executable or network mounted user homes, the "clean up desktop" tool in Windows or alternative Desktops and Screen Managers will probably outweigh the support benefits of a frontally visible X-Plane folder (if it is visible at all - the amount of desktop clutter I've seen at work makes me rather pressimistic).

Anonymous said...

I see from one of your comments, Ben, that you're aware that defaulting to the Desktop is a "lesser of evils" workaround to the much more fundamental issue of X-Plane not being multiuser-aware. With that in mind, I do agree that the Desktop is probably the safest place for novice users, with the way things currently are.

I really, truly do hope, though, that one of your major goals for the next significant upgrade to X-Plane (9.1? 9.2? hopefully sooner than 10.0) is to completely revamp the filesystem layout of the whole X-System. All modern operating systems are designed to support multiple users, and those users expect their applications to work correctly in these environments.

On my Mac OS X machines, I would love nothing more than to be able to install X-Plane by simply dragging one application icon to my Applications folder (or dragging one folder icon, since there are several other programs besides the sim itself). On first launch, X-Plane could show me a map interface for downloading scenery files off the DVDs, and place all of those files in /Library/Application Support/X-Plane/Scenery. Custom scenery, aircraft models, and the like could all go in either the system or the user's Application Support folders, depending on the user's preference. Software updates can be handled by X-Plane itself, as is common practice nowadays. (You can even add a simple sort of "self-repair" or at least self-diagnosis as a menu item in X-Plane, which would check for the most common filesystem layout problems encountered by users. This could be a great "step 1" procedure of any tech support calls, and I bet it'd save a lot of time and headaches.)

I know the software installation paradigms differ between the three major OSes, so I think you need a very generalized abstraction layer between the filesystem layout and X-Plane's code. Yes, it's a lot of dirty work which has very little instant gratification, but it's something that needs to be done eventually, and the sooner it is, the better for you as both programmers and as tech support.

William said...

well I just switched from a PC after 20 years to a Mac pro desktop and this sounds wonderful because I can not find XP for the life of me.I think I put
it on my desktop but I find in more than one place so this is great news I cant wait

romeo oscar bravo said...

I dunno.... program files is where 99.9% of all downloaded "programs" go , and applications (mac)is also a perfectly logical choice. I respect your need not to answer 10,000 calls from the lost and confused, but I just think thats a part of the game / do what you have to do though, It wont affect the avarage semi-skilled x-plane user very much I woulden't imagine.

Anonymous said...

Here's a fresh opinion on the installer from a new user of x-plane9. I am a 23-year IT professional and just installed x-plane9 to I:\programs\x-plane. The installer crashed when scanning scenery, after which on a second attempt to rev to the latest version to avoid the first problem the update operation of the installer errored out because it mangled the path by appending volume:/dir to the existing install directory resulting in an invalid volume:/dir/volume:/dir path. So my initial conclusion can only be that user understanding of how to use the path is not the root cause of the reported installer problems but rather simple bugs in the installer itself.

Benjamin Supnik said...

Please file a bug report.