A Glimpse at the Linux Desktop of the Future 759
hisham writes "Every now and then we see articles pointing out "what's wrong with Linux on the desktop." This one gives a nice overview not only of the problems we all know, but also where to look for solutions (app dirs, smarter filesystems) and what's out there (projects trying to change the face of Linux, like Klik, Zero Install and GoboLinux). Still, it usually boils down to things that Mac OS X already has or that are/were touted for inclusion on MS Longhorn. Fortunately, the major desktops stopped playing catch and are focusing on forward-looking Linux projects, like KDE Plasma and Gnome Beagle. Interesting times ahead."
Beagle == Spotlight? (Score:5, Interesting)
The problem with some users... (Score:4, Interesting)
Oh no. Not the Dock. (Score:4, Interesting)
If you want the user to be able to determine what Taskbar/Dock type thing they want, you might want to check out DragThing [dragthing.com] as a third option, which lacks the visual style of the Dock but works a whole heck of a lot better.
I'm not a big fan of highly customizable interfaces, but man I wish I could just turn the Dock off once and for all.
Re:Pre-Loading Linux (Score:5, Interesting)
For projects that use it, one click installs do exist on Linux, via the autopackage installer [autopackage.org]. And they are actually one click too (well, OK, two clicks) because there's no Next->Next->Next style wizards involved. Why not watch the Flash demo [autopackage.org] to get a feel for how it works (it's a bit out of date now, things are slightly slicker these days).
One of the biggest problems autopackage has is simply that developers don't know about it. Whereas every Linux developer has heard of RPM, virtually none have heard of autopackage because it's so new (it only went stable in April).
If you like what you see there, spread the word or even better, write patches! The best kind of product is the one that sells itself, after all, and whilst autopackage is already quite nice for the end user we're still busy untangling the ball of wool that software distribution on Linux has become.
Re:Klik? (Score:2, Interesting)
Come on! Can you imagine going to a professional conference and admitting that you run "gobolinux?"
not me. hell most of the time when asked I tell 'em I'm forced to be a mostly windows shop and have a few *coughcough*fedora*coughchoke* machines on the network. All these cutesy application names just serve to make boardrooms and administration folks not take the otherwise perfectly fine application seriously. No it's not right because they should be judged on their merits, but it is the way of the world none the less.
Re:Beagle == Spotlight? (Score:2, Interesting)
Well, I am not sure about this, but I think Beagle was available first. I think it is included in the latest SuSE which was earlier on the market than Mac OS 10.4. Don't know about Google Desktop search.
I have to admit that Beagle is not yet finished (no 1.0 yet) but it'll be ready earlier than Longhorn, I reckon.
For me Beagle is an example for Linux not playing catch up with Windows anymore but Linux having a useful (probably killer) application first to market.
Furthermore I think that Linux is in many regards more consistent and more polished than Windows. It doesn't get into my way so much and lets me do things faster and easier, that's for sure. Since using the last few iterations of Gnome I find myself swearing at stupid Windows more often. Explorer cannot even dream about being a match for spatial Nautilus, for instance.
And I prefer Linux to Mac OS though I'd recommend Mac OS for new computer users.
Re:Dear Linux (Score:5, Interesting)
With that said, however, things with Linux distributions that aren't SuSE or Fedora seem to be coming together fairly quickly. The last time I had a Linux system running in my house was about 8 months ago (Gentoo), and I did have sound problems (the Gentoo documentation wasn't updated, and the method they have for installing emu10k1 with the 2.6.x kernel is flat out wrong - but I wasn't aware of that at the time). I spent a few days working on it. That's a few days vs. a few minutes (including downloading the right drivers from Creative (in my case)). It's alot "slicker" on Windows, but, again, things are getting a lot better in the Linux world. I have faith they'll eventually catch up. But not unless people honestly admit there are flaws and they need to be rectified. Too many fanboys are zealously arguing that any criticism of Linux is amounting to blasphemy. How can things get better if any criticism is immediately denounced as FUD? Just because something works fine for them doesn't mean it works fine for everyone.
Re:Whats wrong? I (Score:3, Interesting)
It goes something like this...
Me: Ensure you have opengl support else Quake 3 will just open a window and close it again before you even get a chance to read what is wrong..
User: Oh? OpenGL drivers? Windows recognized my card perfectly well!
Me: Well, try it.. (user tries and finds out what I just have been saying)
User: ok, how do I fix this?
Me: Did you get a CD with the card?
User: Yes but there was also a paper in the box that said to not use it and use the included floppy instead, however, I have no floppy drive.. I did try the CD but it just crashed my computer.
Me: Ok.. goto www.nvidia.com and then goto downloads, then select your card type and operating system and download the driver. Double click on the downloaded file and follow the instructions.
That is an example from real life actually.
You were really over simplifying things on the Windows side, and making the linux side look overly complicated.
Re:My Biggest Linux Complaint (Score:3, Interesting)
2 bits (Score:3, Interesting)
The developers (generally) are not the zealots... they prefer to get work done instead of arguing about which is better. ;)
It's much better to think of the fanbois as Linux's PR department. Sure, they don't have the level of experience of Microsoft, but in true open-source style, they are slowly improving with time :-p
Re:Dear Linux (Score:2, Interesting)
I don't think it was ever said that one's ideals didn't involve a sacrifice or two at some point.
Goodby Apps, Hello Data (Score:5, Interesting)
Linux uses apps which mostly have three tiers: storage, engine and UI. They've got lots of IPC, mostly standardized. The desktops have more IPC options, too. I want a desktop which lets me find multimedia documents by bookmark, metadata searching, or virtual hierarchical views of my storage. When I open a doc, it can include live data, including data updated in realtime from distributed storage (or generation, like web services or streams). I want to work from menus (or other GUIs) that contain all the valid operations for all the valid datatypes in the doc. When I want to add new datatypes, I want to add from GUIs integrated with the doc scope in which I'm working. When I want to store my doc somewhere on the network, either as a resource, or a person, I want to merely send it to that object name, with its default transport (SMB, NFS, email, WebDAV, FTP, HTTP-PUT, SMS/Content-Disposition, whatever) automatic, unless I select another. I want to subscribe to versions of multimedia docs across the network. And I want to diagram how data flows through my document components into each other, including filters and logic, with dataflow/workflow templates that are just other docs that people with whom I work send around.
No more "apps". The Mac paradigm that Jobs swiped from Xerox PARC was supposed to be "doc centric". Apple and IBM started a grand partnership, Taligent, to put "OpenDoc" on every desktop, but they gave up when HTML and the Web supposedly offered a simpler, more popular way to do it. But it's 2005, and I'm more expert in operating a stable of complicated apps, each its own little world (with rickety bridges to some, but not all, other worlds), than I am in my own data. Let's slice up the apps into their features, each with their GUIs hanging out, then rebundle them into a desktop "meta-app". Which is the sole context, representing many different nonmodal contexts, in which I have to work on all my data.
Re:Seamless Vs Extensibility (Score:3, Interesting)
About 20 years ago, computer scientists realized that a raw stream of formatted data is not the way to go. In the future, when that data format changes then all consumers must also be changed. There's no extensibility or backward compatibility. That's why functional and OO interfaces were created.
Many hackers have so much experience parsing piped data streams that they are afraid to deal with functional or object-oriented interfaces. So they claim the old is better.
I do -so- agree! (Score:3, Interesting)
I run Windows due to some hardware issues, and I feel like I have put in enough effort trying to make stuff work.
However there is no ting which annoys the hell out of me in Windows than the pressumed useful and slightly forced data-organization.
Why on earth would I put my music in a folder called "My music" in a hidden folder called "My Documents" when I obviously want it in a common, shared folder? Not to mention I keep my system and data on clearly seperated partitions, and Windows insists on putting everything on the system-partition.
Add to this that a lot of applications now have started applying this idea and you get "My downloaded files", "My shared files". Even "My Virtual Machines"! You would think that if you did virtual machines, you had enough clue and brains to organize your files.
Here's hoping (not believing) that the removal of "My" in Longhorn may put an end to this madness.
Re:Dear Linux (Score:3, Interesting)
When I was building my new desktop Debian box, it had all-fancy-pants on-board Nvidia sound chips that theoretically might work if you were Linus Torvlads and you called in some favors and were really focused. I tried for a few hours, then ordered a $9 sound blaster off of eBay. When I slotted the sound blaster, sound just worked. I think that was a good money/time trade.
But that's not the end of the story. A few kernel recompiles later, sound stopped working. The module was still loading okay, everything seemed fine, just: no noises. It turned out that someone had made the nvidia on-board fancy-pants card now autodetect, and it had kicked the soundblaster out of sound-slot-0, so I had to re-plug my speakers into a different hole.
Anyone wanna buy a soundblaster?
Re:Great idea! (Score:2, Interesting)
xml val foo.xsd foo.config is much easier than
shit I used tabs instead of spaces in th the config file
and a standard agreed used by a vast number of people is better than a standard invented for this one application.
Standardised command lines, well at least settle on standards for help, version, verbose and debug, file.
Standard menu layouts for things like File and Edit.
maybe apps could get a start rating system for compliance, bronze for the basic command line and menus going upto gold for everything works with xml.
Oh, and why the hell do KDE keep there configuration in
Re:Pre-Loading Linux (Score:4, Interesting)
Yes, absolutely. Actually this camp of people tends to split into two quite different types:
Obviously autopackage will never please the latter type, but this is in my experience a vocal minority. Usually when people say they like apt, what they mean is they like the convenience of the command line for when they know what they want.
There's no reason you could not implement this UI on top of autopackage using a DNS style naming/lookup service. It would not be hard to do, and if anybody is reading this message and wants to help implement it let us know. We already have basic blueprints for such a feature.
Totally. We have a PHP developer who has written some code that auto-selects which packages to show the user based on their User Agent string. I still need to drag it out of him and get it documented, advertised on the website etc. I keep meaning to write an article or somesuch on website design for open source projects; far too many people link directly to their SourceForge download pages which is awful UI.
So there are two types of vendors here: software developers, both open source and commercial, and distribution vendors.
I think it's fair to say that distros like Fedora and Ubuntu will give up yum and apt over their dead bodies. They're unfortunately sold on the idea of centralised packaging.
On the other hand, the "first time setup" procedure isn't all that hard, unfortunately the UNIX non-security system of +x bits gets in the way but after you run your first autopackage succesfully that's no longer an issue. Autopackage is taking off amongst the indie software developer community, especially the open source gaming community. Again we simply need more people - developers are wanted, but any enthusiastic Linux users who want to help spread the word are also quite appreciated and we can put them to work.
Re:Dear Linux (Score:2, Interesting)
But not unless people honestly admit there are flaws and they need to be rectified
And I'm tired of hearing this garbage.
Flaws in the Linux world are already identified, and this is not one.
What you describe is called : "no vendor support", it is identified since a long time ago, is not a flaw of Linux but a flaw of the vendor, and it is being addressed.
But people like you think FOSS drivers can come faster than the manufacturer of the soundcard.
At least, in the FOSS world, we are realistic.
I prefer not even talk about the rest of your post, because talking about intall procedure under Gentoo to describe driver installation in Linux is just insane. Driver installation under Mandriva puts a very different light on Linux, but you can't possibly know that. Worse, you talk about a problem that has been addressed.
Re:Dear Linux (Score:3, Interesting)
At the same time, often my issue is with how a program interacts with windows - that usually means I have to look for product-specific info rather than windows info. All in all, a major pain in the ass, and there's no "standard" way for me to search, nor a central place to start from.
When I have had issues with Gentoo, I can go to the gentoo forums. And 90% of the time I find my answer there. If not, I can find enough info that I can refine my google search and figure out how to fix my problem.
And yes, my OS has failed me if I need to go looking for help - at least with Gentoo I have a really good starting point. On top of that, I have yet to get a "suck it up - that's the way it is" "solution" to my problem under Linux. If it's major, you can almost bet that someone, somewhere is working on it. Often there is already a beta fix for the issue. Compare that to the last 3-4 versions of windows, and fixes are a long time coming, and often don't happen at all.
Oh, and I don't even want to talk about useful error messages and logs...if my OS breaks, I want to know why and where. I don't want a screen of useless info, which doesn't indicate what program broke, doesn't return any really relevant info, and doesn't log the info clearly, if at all. Windows.
Re:Seamless Vs Extensibility (Score:3, Interesting)
No, it's a GREAT model! It's just not suitable for everything. "Pipes and Filters" is one of the basic software architectural design patterns. For repetitive manipultion of data (you know, the core purpose of computers), nothing beats it. If you only have to do a task once at the moment, then the standard GUI way (componentized or otherwise) may be more efficient. But if you need to do that same action hundreds of thousands of times, command line pipes and filters is going to be a heck of a lot easier, if you get to start with a text stream.
And there's no reason you can't componentize a pipe or a filter.
C++ has no runtime type information, and no introspection, so these things have to be hacked on to the top.
Actually, C++ has both of these. But unfortunately they're not as elegant as in some other languages, and their use tends to throttle performance down to the level of those other languages. But they're there if you need them.
But stop and think what you need them for. Primarily it's to eliminate coupling. But can you get buy with merely loose coupling instead? Do you REALLY need absolutely anonymous components that you can snap in anywhere?
The use of a sensible API eliminates the need for zero coupling. No, it won't give you an A+ in your OOD class, but it's perfectly suitable for the real world. Besides, you're going to end up with coupling anyway, even if its via querying the component for its methods. So you might as well be open and honest about it, and code in some dependencies that you know about, instead of waiting for the implicit but hidden dependencies to bite you on the butt when you least expect it.
p.s. I have nothing against Objective-C, rtti, introspection, reflection, or any of that. I just take offense at C++ being treated like a horrible evil thing.
Do it right (Score:3, Interesting)
1) Don't confuse eye candy with usability. A corrolary is don't confuse trendy with usability. OSX has a lot of eye candy, but it's usability really isn't all that stunning if you look at it objectively.
2) Don't make the unwashed newbie your core audience. Newbie friendly isn't synonymous with usability. Everyone grows up, and no one stays a newbie forever. It's hard to believe, but it's true. You don't want to frighten away the newbie, but neither do you want to force him to abandon your desktop in disgust once he graduates to an intermediate or advanced user.
5) Don't dump legacy functionality. Just because you don't use the network connectivity of X11 doesn't mean no one else does either. If you haven't noticed, "the network" is getting bigger and more heterogenous every day. If I can't use your desktop over the network, it's going to suck.
4) I don't use Linux, so don't make a Linux-only desktop. Most of you developers know this, but unfortunately there's enough of you that don't to make things a real pain in the butt.
What a catch-22! (Score:2, Interesting)
The saving grace of Linux is that, due to it's openness, it can be modified to give everyone what they want. It can still be my vodka screwdriver while we water down another version to the Shirley-Temple-on-the-rocks-with-extra-sugar that will be demanded by the GUI-only crowd.
But rockier coastlines are in sight. The effect, I predict, will be called "distro drift", with certain distributions falling off the Linux bandwagon altogether...when you've reduced it to a toy, it can't be called a "real system" any more! So we'll have the "two Linuxes", the weak-n-easy camp, and the Real-computers camp. This is happening already...who today can look at Mandrake and Debian and identify them as the same system? Maybe so, for a while longer, but it's getting to where some Linux distros have as much in common with each other as they have in common with...any other operating system!
Must we go this way? Or is it just time for us Linux fanatics to tell everybody to just go away? Why torture Linux and try to mold it like a bonsai tree until it becomes something else? Why not just BUILD SOMETHING ELSE, and let Linux be Linux? What is the point of switching from Windows to Linux, if you demand that Linux become the exact, duplicate, genetic clone of Windows?
Yes, I'm a Linux fanatic...and even I, since day one, have told people "Linux is not for everyone". If all the computer is to you is an entertainment device, used just to play games and chat online, you need something that caters just to those needs. Get an Xbox and a Web TV. Get one of those new cell phones with a screen on them. Get an Ipod.
You will only meet with failure if you keep beating on the computer trying to hammer it into something that's a completely different shape from a computer!!!
The only other possible outcome: we slash Linux down to a shadow of it's former self, abandon it to the Suits, and go off and build our own cool operating system again. Then the cycle will begin again...have I explained this clearly enough, at last? Can everybody clearly see what the path leads to?