I always laugh especially about Video NLE's on Linux... Kdenlive has to haul most of KDE4's fat-ass runtime stuff along just to work and Cinelerra is completely toolkit agnostic with it's own self contained UI components... good luck getting that shiny unified Apple look with two projects that different
Spot on Glen. If there is one thing that Apple have shown it is that having an elegant, uniform symmetry of design and an attention to detail in terms of presentation is very appealing to the average end user.
Some may say that looks are superficial and shouldn't matter and this may be correct but, eventhough we may be wrong to judge a book by its cover, most of us do a lot of the time.
It is human nature to admire something that is aesthetically pleasing.
However, I don't think it's just about cosmetic things - its about integration too.
I think where Apple are also clever is how they design their apps to operate together as a suite.
I haven't used OS X since Leopard, but, if I remember correctly, when you used iMovie there was a media browser which allowed you to browse and search your iTunes library and your iPhoto library from inside iMovie and drag music and images straight on to the timeline easy as pie.
Could you search your rhythmbox and shotwell libraries from inside pitivi (don't mean to have a go at pitivi - just using that as an example)?
Historically, in the Unix world, there has been this philosophy that apps should "do one thing and do it well". However, when this philosophy came into vogue was in the 1970s when everything was command line based. It is easy for the user to combine different command line apps together using pipes, but how can a user do that with GUI apps?
If devs believe in the Unix philosophy that is fine but, if so, then it is imperative that integration with other apps and the system as a whole is top notch.
KDE has this nice idea of KParts whereby part of one KDE app can be embedded in another KDE app, however not all Linux apps are KDE apps.
I do a bit of photography as a hobby. I use Raw Therapee for RAW processing, Digikam for Photo Management and GIMP for editing. All these apps do a fine job at the task I use them for, however they do not integrate well together and the workflow is not as good as it could be. For instance, Digikam has automatic versioning built in but this only works for edits made with its own editor. I, and many, if not most, others, use GIMP for editing. You can select an image from within Digikam and choose to open it with GIMP but edits made with GIMP are not saved in the Digikam version history - you have to manually save the edited version under a different filename or overwrite your original. The end result is that it shows up in digikam as a completely different photo rather than as a different version of the same photo thus making the versioning feature redundant unless you do all of your editing within digikam itself, which I don't believe is the case for most users.
I sometimes wonder how desktop Linux might be today if the great schism between KDE and Gnome had never happened and everyone was still using the same desktop environment and all development was focused on that one desktop environment and all applications were written with that desktop environment in mind. I find it sad that KDE and Gnome both complain of a shortage of developers and yet cannot pool their resources and work together. I know folks will say that choice is what matters, but would you rather have 1 really polished DE or 2 that aren't as good? There is only 1 Linux kernel but I don't hear people complaining about a lack of choice in this regard and that we'd be better off if there were a number of independently developed forks of the Linux kernel to choose from. In fact, I firmly believe one of the main reasons why Linux has been so successful is precisely because there has only ever been one version of the kernel that everyone has used.
Desktop Linux has so much potential but what holds it back, in my humble opinion (speaking as a longtime user rather than developer), is a lack of organisation. People tend to do their own little thing instead of working together. The whole idea of the free software movement was that folks could see the source code of a program someone else had written and add a feature and improve it but 9 times out of 10 developers seem to prefer to start their own project from scratch instead of improving an existing one. I appreciate it may be difficult for developers to work together at times as their code means a lot to them and they may not always see eye to eye on the direction a project should go in, but ultimately we have to compromise to some extent or we'll get nowhere because one person can't do it all on their own.
Okay I'll stop moaning now.