On Fri, 14 Apr 2006 12:59:42 +0100, Alex Bligh wrote: > > > As such Linux is incredibly user hostile and Windows is a lot more user > > friendly (and I'm talking normal users here who just double click a file > > and expect to see something, if only an error, happen.) > > Sure, but that, it seems to me, is largely the desktop's problem. If > you click on a pogram that says "I can't run" and reports the > error as best it can, you get nothing back. Yes, the answer to the question "Why didn't the errors on stderr appear in a dialog box" is more a matter of what the desktop software is doing at the time of double-click, rather than what the application itself is doing. However, there are some things that an application can do at this point to work better with the desktop. For example, there's a startup notification (draft) specification which applications can use to make the desktop be aware that an application is trying to start. This is what allows the desktop software use busy cursors and otherwise indicate that something is happening. It seems like that might be the place to solve the failed to start problem, (I'm really not familiar enough with the spec. to know if it handles this at all yet). The specification text can be read at: http://standards.freedesktop.org/startup-notification-spec/startup-notification-0.1.txt and its status is noted as one of several "draft specification that are new and not yet widely used, though they may be used by one or more desktops or desktop applications: " here: http://freedesktop.org/wiki/Standards Meanwhile, there is a more fundamental question as to how did the user's computer ever get into this state where a critical shared library is missing? You introduced a "normal user" who is just double-clicking. Fortunately, such users will generally not be able to easily delete shared libraries, (thanks to some user permission separation that Linux provides). So then it's just a matter of getting the application installed properly in the first place. The software that is most successful at this is the software that is well-integrated with the entire distribution. Then it can take advantage of the distribution's package management with dependency management etc. My experience with using released versions of Debian or Fedora, say, is that it is exceedingly rare to find a critical library missing after installing something with the distributions packaging tools. Of course, taking advantage of good integration with the distribution requires compatible licensing. Xara is definitely on the right track here, and will get there when it ships with an entirely GPL source base. Meanwhile, there are application vendors that choose licensing schemes that are incompatible with the distributions. These vendors do face problem with getting libraries properly installed, (and face problems as system libraries get updated/removed by a packaging system that is unaware of the application). Some vendors respond by shipping static builds instead to avoid the problem altogether. But this introduces a raft of other problems as now the application has frozen all the security-related bugs of its dependent libraries into its own application. When the user next updates zlib (or whatever) to fix a security bug, the application might still be running with the old buggy version. So, basically, by choosing this route, the vendor has decided to accept all the problems that the distribution's packaging system is already solving, (library dependencies, software updating, etc.). There are things (you mentioned klik for example) that try to make this easier, but it's still quite a bit of pain to choose. But, this is part of the tradeoff that comes when choosing licensing that means the software cannot be an integrated part of the system. Fortunately, Xara does not appear to be choosing that route at all. So my suggestion is: Get to pure GPL as soon as possible, and get integrated into the main part of as many distributions as possible. Many problems will "disappear" this way---either directly solved by the packaging systems or else solved by the actual package maintainers---either way it means less work for Xara engineers. -Carl
Attachment:
pgpSbaOEjk5Yj.pgp
Description: PGP signature