How Would You Refocus Linux Development?
buddyglass writes "The majority of Slashdot readers are no doubt appreciative of Linux in the general sense, but I suspect we all have some application or aspect of the platform that we wish were more stable, performant, feature-rich, etc. So my question is: if you were able to devote a 'significant' number of resources (read: high-quality developers) to a particular app or area of the kernel, and were able to set the focus for those resources (stability, performance, new features, etc.), what application or kernel area would you attempt to improve, and what would aspect you focus on improving?"
Better hardware support
Better performance
Maintain excellent reliability.
What else could you need?
There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
and concave lenses, with a relatively low refractive index and arranged in an optimum series for magnification of subtle surface-details, at quite a close range - say between 200 and 400 mm.
Thanks. I'll be here all week.
"Flyin' in just a sweet place,
Never been known to fail..."
Find out all the things at take too many clicks, or require editing text files and make them "Just Work" in a simple and easy way.
Al the time on Linux it seems every program looks different and out of place, the only ones that fit are the ones that come with the DE and so are made to look all the same. Take a look at KDE apps on Gnome or vice versa. On windows everything uses standard widgets and themes. And I'm not talking about stuff like Winamp that uses a skin, but take a look at Pidgin on the windows platform, an open source project that looks completely at home on a Gnome desktop. In XP or Vista, the menus and windows aren't drawn the same as other apps. It's more of an annoyance than a mission critical problem, but it really detracts from the professional and complete image that I know Linux is capable of showing.
If you build it, nerds will come. Soylentnews.org
To extend on that idea, I'd also add common keybindings and a central place to register global keybindings. Maybe even mix it with some kind of app api structure (i.e "this keybinding calls this function, or this menu entry, or this button")-- The kind of stuff that Leopard's new scripting is promising, and Microsoft's new console (MONAD?) bragged about but didnt yet deliver.
The other thing I'd personally spend some developers on is picking up XMLTerm, the abandoned mozilla Xterm project that was capable of inline rendering whatever Gecko could render. For example letting you have a shell script spit out a html table, or images.
Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
I know that gcc is a great compiler, and vi and emacs are wonderful, but I really miss the convenience of select and drop gui development. I also like IDE's, with context sensitive help, and class completion and all the other things they do.
It seems to me that windows development tools are ahead of Linux in these regards, and it would behoove Linux developers to make development as easy as possible.
It would make it higher performance, but less stable. Tie something into the kernel, and there's a bigger chance it'll hose the system as it goes down.
It is pitch black. You are likely to be eaten by a grue.
and so should al large part of the slahsdot readers. I think the Bazar is a good development model. Without doubt "devoting a large number of devolopers to a task" is the opposite of that. Again thing which have a factor of 100 in man-years will show up in the lists of the readers.
Ensure greater collaboration between RPM repositories/distros so we don't have errors such as mess as we do right now. As is: "You installed Program 1. It needs program 2." **installs program 2** "You installed program 1. It still needs program 2. It looks like you installed program 2A. "
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
Unless Mac OS opened itself up (both source code-wise, and in regards to the hardware it will run on), it just wouldn't be the same.
It is pitch black. You are likely to be eaten by a grue.
If you are looking for a completely GUI drive *nix I would say OS X is your best bet (yes, I know you can use the CLI in OS X, but you never have to unless you so desire).
That just freaking works. I never understood why every distro can't just use the same install method. Whatever it may be, rpm, apt, yast whatever. And I don't mean the 3 step make install method. Wouldn't it be great to go grab a package from freshmeat or sourceforge and...oh look that's the package type I need....
That which does not kill me only postpones the inevitable.
Digital Video Editing - hands down.
We have converted to Ubuntu for all computers in our house now, and the only reason I'm looking elsewhere is for a stable and *easy to use* digital video editing solution. Surprising really, given the amount of video people record lately.
The hopeful projects are Kdenlive (still seems immature), and Cinelerra (can't for the life of me get it to install/run). Kino isn't an option, as you can't include still images.
With DV editing, Linux would indeed be desktop ready.
Admit it, wine sucks and there are lots of programs that will never be ported. I want wine to be integrated and almost invisible, like the Classic interface in OSX.
Why is it that all the developers seem to be able to code to a standard API - but they can't even come close to agreement on the way a program is operated? Maybe it's time to create a UI standard for Linux apps?
This would go a long way towards making Linux the favored choice for desktop machines. Ease of use is a great way to unseat the dominant OS; it's not exactly easy to use and it's very possible to beat them at this game.
KDE and Gnome do a lot of things for usability, but some usability quirks have their root deep down in the kernel (awkward handling of CD/DVD, lack of stable ABI for kernel modules, userspace-fs could need some additions, kernel features that need a kernel recompile instead of just a module, etc.) or Xorg (hot-pluging of input devices isn't supported, no real graphical configuration tool, way to easy to get a non working configurations, etc.) and can't be fixed elsewhere no matter how much wrapper magic you throw at them. Lack of a real widespread distribution portable package format would be another major issue.
The first of those two is self-explanatory. High-quality, high-performance Free 3D drivers for good hardware.
The second...
I want some (not all) kernel developers to stop using throughput based metrics to measure performance, and instead use a metric based on interactive performance. I have a suggestion for such a metric...
The time between user input and the user input having a noticeable affect on an output device like a display. And I don't think this time should be as short as possible, though that's a good goal. The time should be as consistent as possible while remaining short. I propose a metric that measures this latency and plots the standard deviation of the latency and uses that as the main metric with that average latency being a secondary metric.
Need a Python, C++, Unix, Linux develop
I've seen some great preferences and some lousy ones, and then there are a bunch that are still only accessible via text editors. Getting some of the guys that are doing a bang up job on the good ones to help with the bad ones would be a start (i.,e. get the RH guys from system-config-samba to help on the gsambad project.) Also get a nice recoverable video preferences system (to go back to a one-size-fits most mode if you totally mess up the monitor settings).
:-/)
How about including some of the documentation files WITH the app packages (sometimes they are there as an often overlooked separate install, sometimes there are none included.
Last but not least would be print settings - some are nearly great (Open Office) where everything just about works (i.e. Tiling should not loose stuff in the print margins). And other are near non-existant (Inkscape).
Those are the things I think are past due.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
1) Wifi networking
Too many wifi cards (especially the Broadcom chipsets) are painfully difficult to get working correctly. WPA2 encryption support is flaky. Wired and wifi should switch gracefully.
2) Better sound support
There are too many conflicting ways of producing sound, some of which dislike working together. Midi support should be built-in. Currently, it's a pain to install. Hopefully KDE's Phonon subsystem will help here.
3) Better a/v
Too many movies have unsynced audio and video. Also, many codecs are unsupported. Yes, I know they're proprietary, but I don't really care. Ubuntu is making codec installation easier, but frequently the codecs only work with some particular backend. (For instance, even with mp3 support installed for gxine, Amarok (a KDE app) still needs to install it's own. The desktop environment should provide a generic way for apps play audio, and if a KDE app is running under a Gnome environment, it should be able to "just work".) Don't forget the wonderful closed-source
graphics card drivers!
4) Easier windowing subsystem
No one should have to edit xorg.conf to get anything working. Fortunately, the next release of X windows is supposed to finally do away with this by adding dynamic configuration with xrandr. Also, it will be nice when CompizFusion is more robust. Lots of people really like the eye-candy, and I find some of the features useful.
5) Applications
It should be easier to keep applications up-to-date. I love Ubuntu, but it drives me nuts seeing bug fixes or major enhancements to applications that I can't easily obtain because either the OS updates don't include application upgrades, or the OS repositories are simply not adequately maintained. I don't want to have to
litter my package manager with repositories, or manually install packages just to keep my apps updated.
6) Laptop support
Suspend and resume don't always work very well. Some laptops don't come back, and frequently networking
is messed up.
bytesmythe
Hypocrisy is the resin that holds the plywood of society together.
-- Scott Meyer
There are lots of exciting new things in linux: HAL, DBUS, UDEV, etc. These have changed the way hardware is detected and activated, mostly for the best.
But many of the new tools that deal with this stuff are GUI programs like network manager. Now, network manager is a good program, but wouldn't it be cool for it to coordinate with ifup/ifdown? You know, update the classic commands so they use the new systems. I think there could be either a new generation of CLI tools or a re-vamping of the old.
I'd also like to see more development of client/daemon type programs, where large pieces of the execution are separated from the GUI/CLI interface. This could make a lot of programs more fault-tolerant. Like bit torrent clients that could continue to download when the user logs out, etc.
Use the Firehose to mod down Second Life stories!
Before they start reverse-engineering drivers, first clearly document the manufacturer's failure. For years I've been avoiding giving such manufacturers any of my money. I'm quite willing to help them fail faster in the marketplace.
I can get Ubuntu, Gentoo, Debian, RedHat, etc., etc... I can't get "Linux".
There's your problem...
This issue is a bit more complicated than you think.
Creating gui apps should be as easy on linux as it is on windows. gtk and glade are pretty good but aren't as easy to control the layout and size of the widgets as they are in windows. If there was a Python IDE that was as feature rich and similar to Visual Studio it would make the transition for Windows developers writing programs for Linux a whole lot easier and more attractive.
Seems like everytime I click the help menu, I get some skeleton outline, if anything at all. I don't mind googling around for the information, but if usage is going to grow outside of the techie segment, the help systems are going to have to catch up with Windows 95 era chm files, at least. I'm not talking about technically, but rather actually having some useful content in the systems. I understand that writing documentation is no fun, so I don't hold out much hope for this.
Sure would be nice though.
For students and teachers. Make it so useful for the schools they'd be crazy not to use it. All else would follow...
While you're at it, you can fund the development of Duke Nukem Forever, too!
seems to be tending toward Ubuntu. Simple to install, no command line needed for the casual non-geek user, intuitive GUI for the convert from Windows. I'm using it right now on my Dell desktop that came pre-installed with it. I already had it running on another machine, but I wanted to vote with my wallet for linux to be available Joe Public as already installed on a commodity computer.
Additional software is easy to install. I'm using Opera to post this and, even though it's not available through the Ubuntu add/remove, getting it downloaded and installed required no CLI use.
I've got another machine with Fedora 7 and have played with a lot of other distros including SuSE, Knoppix, Mepis, and some of the Ubuntu forks like Kubuntu, Xubuntu and Mint.
We have a guest room in our house that is complete with a guest computer.. It runs Ubuntu Feisty and our guests have not had a problem using it. I just tell them that it's not Windows, it's Linux. Here's the browser and feel free to use any of the networked printers if you need to print something.
"Do the Right Thing. It will gratify some people and astound the rest." - Mark Twain
or the free software movement? We're talking about the "bazaar" here... It's fine the way it is now. We've got great distros like Fedora, Ubuntu, etc. Everything's working pretty well, really. The problems are mostly political (read: multimedia codecs, patents and such) and somewhat technical (read: Microsoft Office proprietary files, etc.)... that won't go away easily even if you put thousands of hours of the best programmer or lawyers on them. I hope the rumors about Red Hat's effort on some licensing deal for codecs is true, that should make for some interesting evening news. :)
I think Linux has always had this "everything at the same time" feeling to it; so things move ever so slowly. Some languish, some die, sometimes people get angry about it and things get fixed. So many people pulling in different directions ; many projects died but their best ideas live on.
It used to be a nightmare to configure hardware -- its now easier than installing XP on a Vista machine. X had (and has) so many problems it wasn't funny; but these days you can click around for days and it mostly just works. Wine was a joke for years -- but I can run my favorite online (DirectX) games at decent frame rates and progress is fast. For years it felt like all Linux coders lived in the USA; now proper Unicode support & multi language support make for example Chinese/Japanese input much easier.
Linux is a giant wave always moving slightly behind the edge, companies can make money by living on the bleeding edge. But slowly all of them get washed away.
We could ask for a lot of stuff, but let's face it, most of what is going to be suggested wouldn't really help and would have short-term benefits at best: Linux already has plenty of device drivers, those developers couldn't do much more than is already being done, and certainly not the several percent needed for a real shift; the various desktop environments are just not going to merge, let's face it, and so we're stuck with the horrors of diversity in our visual interfaces; new software certainly isn't desperately needed cf. all the people living perfectly happy with existing software; and so on. What would be useful would be if those developers could go around and either: figure out some way to make X not suck. There are better ways out there, guys; if X really is the best way to provide a GUI, then we might as well cut our wrists open now. Heck, X wasn't even the best solution back when they were first writing it in the '80s. A lot of our GUI and usability complaints can be either directly or indirectly traced back to the fact that X is so dominant. Let's have them write a better system (a Y, perhaps), add in a compatibility layer, and reap the benefits. More radically, we could have them go around and try to persuade people to adopt a reasonable proposal: don't explicitly support any hardware created or software written before 1990. How much cruft has built up on the altar of backwards compatibility? How much disk space is taken up for APIs, programs, options etc that were deprecated back in the '90s? We should simplify and cleanup; should your pre-90s whatever still work, that's swell. But we need to move on! This is a radical proposal, I know, but the unseen weight of all that old shit is a hidden tax on every innovation and every process that occurs in the Linux world. A good long-term investment would be to try to pay off some of that debt, if you will. Clear out the rubble and build our modern stuff on a clean foundation.
On the desktop, hands down. If there was an awesome, advanced, easy to maintain and use ui ( cough osx like cough). It would take hold.
Yes I Am writing this from my iphone.
One of the most lacking things in Linux is out-of-the-box GPU support. Yes, they will usually work, but rarely to their full potential. I feel that this is one of the biggest things holding Linux back from mainstream adoption. Like it or not, eye candy sells people. Look at OS X or Vista. Both are loaded with eye grabbing features (not that it's helped MS's sales of Vista as much as they've wanted).
The other reason decent graphical support is key is due to games. Windows supporters often say that they need it to play games and there aren't any games for Linux or OS X. OS X is slowly gaining support since its switch to Intel, and Mac sales have improved likewise. Linux may arguably support more graphics cards than OS X, but the big difference is with OS X, you can tell by looking at the box whether it'll work or not. Linux often involves more detailed searching with Google to find compatibility. Not an issue for most slashdotters, but for our friends and relatives who don't like to tinker with forums, the dreaded command line, and technical settings, it can be a major headache.
Aside from persuading people to try Linux, graphics can be a bottle neck on systems and lead to performance and stability issues. Having a better graphical support system may also help developers in creating a more unified UI layer.
What is mankind really? Well, it's just two words put together Mank, and ind.
It's called Ubuntu. "Out of the box" it doesn't require "compilation" "scripts" "command-line" etc. There's still a few wholes, but they're being plugged quickly (a GUI to manage X, for example, is scheduled for the next major release). It's quite easy to use, I've gotten a few people to dual-boot (although I haven't seen them boot into 'doze in quite some time). Hell, the motto is "Linux for humans," humans being regular people. Compilation, scripts, etc still exist for those who aren't scared off by them, but "regular people" can get around fine with Ubuntu without them. I agree Ubuntu needs continued work, but it really doesn't need as much focus as other things in the Linux world - many of the "regular people" I know are quite content with it.
"A witty saying proves nothing." - Voltaire
The people responding here do realize, almost by definition, that "refocussing" Linux involves a hypothetical mode of intervention that stands at complete contrast to everything Linux has so far represented. There is no vagrant pool of talent at this level, nor is there a mechanism to confine this pool of talent to pie-in-the-sky wishlish thinking.
As a point of reference, this text has been in the OpenBSD dhcpd man page for as long as I can remember:
So far it has been extremely effective in scaring off any useful contribution. There are plenty of dirty jobs that need doing. Many small dirty jobs is worth more than a heaping serving of pie.
Your questions concern things we can add to today's software to improve them. Let me flip that around. Why not REMOVE some software to improve the computing experience for humanity as a whole?
Why, in the 21st century, are we still stuck on 1970's paradigms? Why Linux? Why Unix? Why do we still work on layered and opaque systems? Is the dominance of the C-language, Unix-operating-system duo today a historical accident? Or was it purely evolution: survival of the fittest (fittest may even be far from the best technological solution).
Let me play the devil's advocate here by suggesting that we need to now rethink the old technology that is a systems environment that is not well integrated and extendable. Operating systems today are 'dead' and static (once compiled) monolithic programs. To bring dynamism to the platform, we then layer on abstractions like shells, (bash, csh, zsh, etc), scripting languages (sed, grep, awk, perl,+ newer friends), windowing systems, etc. Our compiler toolchain consist of separate tools that don't talk to each other except through what they see in front of them, on the 'bit conveyor belt'.
Eg the autotools -- M4, autoconf, automake, configure, make (roughly in that sequence). Here's a quick test, is there a way we can define a variable that is checked in each of those stages, to control certain (compilation, configuration, other settings) options? No. Instead, we pass on values through multiple languages/interfaces or filesystems in the form of strings, macros, environment variables, files, etc. Who's gonna maintain all these software, to fix and sometimes perpetuate(!) bugs?
May I suggest that this is not a problem with the userspace apps, but rather a systemic defect in the system we use today. I wish the operating system is open all the way (and I don't think this conflicts with the need for security in the system). I wish for a system that is extensible at runtime, one with a single language all the way, simple models of abstraction and no unnecessary barriers between programmer and user. I wish the computer would take care of the details, and help me do my work. I wish life was good.
Disclaimer: I do not have all the solutions to my complains, so I'm just a sufferer ranting. Ok, this is also not quite what you asked for, but it's probably not that offtopic, I'm just off on a slight tangent.
While it has been said before, I believe 3D is the path. Please, please, provide support on par with Windows for any 3D graphics hardware, whether inside a computer or a console.
That is the path to success on the desktop. Today, I cannot even run OpenGL apps or any 3D apps on the lastest and greatest 3D graphics hardware from AMD (formerly ATI), the Radeon 2900XT. Why? There are no drivers. They have focused entirely on Windows, and consider Linux a niche market not worth the effort. Because of that, my family do not have a Linux only machine, which is also why I dual boot. The Radeon 2900XT support may well come to Linux, "when it is ready".
Please, take 3D support in Linux more seriously, whether you are hardware manufacturer or a software developer.
http://elektra.g4ii.com/Main_Page
I think it's at least worth trying such an implementation. Ok... now bring on the "It Windows again" haters...
||| I still can't believe Parkay's not butter.
If you want to win the desktop war, you can, in a few years, by asking yourself a single question:
Could my grandmother (who is already "sort of" computer savvy) use this without calling me every five minutes?
It's been a minute since I've used Linux as my desktop, but if users are still being forced to edit text files to change common program preferences, you'd better get used to your third seat behind Windows and OS X. I'm not telling you to have some crazy xml schema with a billion pieces fronted by a hefty GUI - I'm just asking you for the option of using a lightweight GUI to parse and store my preferences to the same text file.
Keep your CLI, and -color-code-for-Klingon-language-support options, but don't even try to force that on every day users. Leave stuff exposed so you can work your admin magic, but build some sane GUIs for everyone else unless you enjoy end-user support.
Don't let the perfect be the enemy of the good.
...with good support for building from source. We obviously need a standard package format with robust support for complex dependencies. The build-from-source part is also really important: right now, no distro (not even Gentoo!) makes it easy to, for example, compile your own Mesa libraries and have them used by the pre-compiled X server. Right now, you can pull a project from cvs/svn and do a make install. But it will overwrite the version from the package and break dependencies. This greatly raises the barrier of entry for testing new code, making the "open source" aspect of Linux software far more accessible.
Once we have a unified packaging system, the meaning of a "linux distro" will change. There will be a lot more sharing of work for the base system, and separate distros will really become sets of config files with just a few changes from the upstream code. Kubuntu is a great example of this: it is a low-maintenance specialization of Ubuntu.
There's still way too much code that runs with elevated privileges. I want to be able to run downright *malicious* code on my machine, under X11, and not be worried about it compromising my SSH keys, for example.
If this doesn't happen, we're eventually going to see the malicious screensavers in Linux that we've in Windows throughout the last decade.
http://outcampaign.org/
I program in python and am an avid postgresql fan, just to show i'm not some ms troll. i just want better developer tool kits. THESE are the things holding linux back, not it's kernel or it's admin tools.
If you mod me down, I will become more powerful than you can imagine....
Linux is an amazing server. Since Linux and all the components uses the GPL I don't imagine anyone ever being able to invest any major amounts of efforts to refine the gui for consumers. Linux is very strong as a server. I really think people should just abandon efforts on trying to force Linux to be a widely used Workstation. It's a great workstation for developers and programmers. Not even close to ready for consumers.
Focus on the server side, consolidate efforts of all the developers to make it perform even better and be more secure and have more features and drivers as a server, not a workstation.
Linux has achieved near parity with Windows in a lot of places. I've been a Linux desktop user since 1995. Between 1995 and 2005, I always used some kind of Windows emulation to run Microsoft Office and FrameMaker, because there is no Linux equivalent. Since 2005, OpenOffice has become sufficiently powerful, compatible, and stable, that I have not felt the need, at all, for Microsoft Office, and so I have completely given up using Windows emulators.
However, Linux is still sorely lacking in 2 key application areas:
... or a better (maybe binary interface) way of creating drivers
I'm surprised no one has said anything about printing. CUPS is a bitch to configure if you're knew to linux. Forget the fact that most printers aren't even *nix compatible, but they still take awhile to configure if they are. I would like to see better print support.
622677120
I don't buy your assertion that Apple ruthlessly enforces its UI standards. In fact, Apple Inc. seems quite intent on throwing its own human interface guidelines to the wind. The do provide an API and toolset that makes it easy to create a passable interface, and they do give out industry awards, but I'd be very surprised to hear of an example of them ever telling a developer their interface wasn't up to scratch.
The consistency of user interface across the software running under Mac OS X is the result of a developer culture that cares about these things, and a user base that expects consistently high UI standards. Changing Linux developer and user culture to implement the same sort of thing would be quite the challenge - culture has a massive amount of inertia, and rarely responds to orders.
I am pretty happy with my GNU/linux boxes.
They are stable, have good hardware support, provide a good user interface and have
a great set of tools.
From this baseline further progress is being made in these areas (big thanks to all you developers).
The one application missing from my box is having a great video editor
(such as Apple's Final Cut, Premiere or even the new iMovie) that supports HD video,
(preferably licensed under the GPL).
The nearest that I have seen was MainActor which was proprietary, but is not longer sold.
Even that does not support HD.
While I applaud efforts such as Kino, cinelerra and gopchop they lag significantly behind
I am able to live with MainActor for the moment but I dream of a better video editor for GNU/linux.
living the dream
I've gotten Opera out of the add/remove utility before, but I couldn't tell you exactly how I did it.
Versions of fork() and exec()
I always thought the whole fork/exec mechanism was a little goofy, but personally, I'd be happy if they made a version of exec() that didn't have any limitations on command-line length. The fact that I may or may not require xargs on a command like "ls a*" in this day and age is ridiculous.
Sit, Ubuntu, sit. Good dog.
1) PDF support. Almost all PDF readers on Linux except for Adobe's product have difficulties with large PDF documents. What's with the "LOADING" message that takes forever? Adobe Reader looks horrible (inconsistent with the native GUI). There isn't a single PDF reader besides Adobe Reader that supports subpixel rendering which makes the font rendering hurt my eyes.
/etc directory and has three windows: a list of text config files, a window that displays the file, and a window with a paragraph or two of explanations and examples on how to change the file.
2) MIDI support
3) A "configuration manager" that knows most of the contents of the
4) More active development of Fluxbox. It could use more features like shading on mouse wheel scroll and multiple backgrounds for each workspace.
5) A publicity website for Linux! This is probably the most important thing the Linux community could do. Features are nice, but who cares if no one uses them? The website would contain among other things:
-Step by step guide and interactive application to help people select a distribution
-Explanation of all major window manager/desktop environments, again to help people select.
-List of most mature Linux apps with description, screenshots, reviews, and commentary by users
-Discussion forums
-Latest on Linux section: demos of CompizFusion, new apps, tips and tricks, etc.
-Section specifically for articles on switching from Windows difficulties
-User friendly, designed primarily for noobs
-Linux store with quality Linux clothing
-Professional design
"What lies behind us, and what lies before us are tiny matters compared to what lies within us." Ralph Waldo Emerson
is improve the kernel so that it can use Windows drivers as well as Linux drivers to solve the hardware incompatibility that Linux suffers from.
If I were to improve an application it would be WINE, adding in better DirectX support and more support for Windows games so we could convert the Gameheads from Windows to Linux with WINE, and it would affect the sales of Windows.
Linux lacks a DRM media player, right now Windows has the advantage with Internet movie rentals and other media files that can play on Windows, but not Linux. You would need a freeware media player that can handle the DRM of iTunes/Quicktime, Windows Media Player, Real Player. Of course it cannot be under the GPL, and it cannot be bundled with Linux, but it can be an optional download for Linux users who want to use it.
If I had millions to spend, I'd have Windows Game Developers develop popular games for Linux to prove that there can be a commercial games market. Get Blizzard, Electronic Arts, 2K, Activision, etc seed money to rewrite or port their popular games to Linux.
If I had millions more to spend, I'd have application companies develop software like Wordperfect Office, Lotus Smartsuite, Photoshop, Quark Express, Paintshop, and other popular applications to Linux. I'd also give Mozilla seed money to write open source versions of Word processors, Spreadsheets, Presentation Software, and other Office software for Linux and multiple platforms that can use the MS-Office file formats, as well as open source file formats. The Mozilla code has an HTML editor that can be the basis for a good Word processor. It can also be used to tweak it into a spreadsheet and presentation software.
If I had millions more to spend, I'd give money to the OSFree project to get OS/2 applications to run under Linux, the Haiku OS project to get BeOS applications to run under Linux, the Amiga Research OS project to get AmigaDOS/AmigaOS applications to run under Linux, and I would fund money into a project to make an application to translate OSX API calls to Linux ones, so Linux can run OSX applications. Then Linux would be able to run almost any software from almost any OS platform, and people won't be able to complain of a lack of applications for Linux.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
Why are you so confidant that they will fail faster because of their choice not to support Linux?
It's quite possible that people have sat around, pounded out some numbers, and said "providing support for Linux will currently cost us more than the added business that it will bring in", and they consider the loss of your sale part of the cost of business.
Just because they lost a sale doesn't mean that they are losing out on the whole.
(Of course, this isn't in any way meant to suggest that you SHOULD buy hardware from companies that say this, that your decision is wrong, etc. Also, it seems unlikely that on popular pieces of hardware (for instance, video cards from a certain manufacturer with a 3-letter name) this tradeoff would go against Linux. I just get tired of hearing the same things over and over again when they really aren't all that correct.)
So what GUI do we pick? This is always the question when it comes to "Can't we just agree on something" arguments. And really, theres only 1 kernel only because only that kernel is Linux. Compare the BSDs, that do very similar things to Linux, and you'll see that the kernel and GUI state of affairs aren't much different.
Great Intellect...
A user should be able to install a set of drivers for a computer and have them work independent of distribution and kernel upgrades. So, for instance, if I go out and buy a new laptop, then once somebody has come up with stable video, sound, acpi, etc. drivers for it, then I should be able to install those drivers on my system and have them work. I should not have to compile a custom kernel, or wait until the new driver is packaged up in the official distribution repositories, or anything like that. And if my distribution comes out with a new kernel update, then I should be able to install it and not have to worry about it messing up my hardware support.
If this results in more proprietary binary drivers, then so be it. We just have to suck it up and deal.
I don't mind having to tell friends that, if they want to run Linux, they have to buy hardware that is supported. I mind having to tell friends that their hardware is supported, but in order to get it to run they have to hand-compile the drivers, or install an alpha distribution, or something else ridiculous like that.
For an 'outsider' (using a Mac at home and Windows at work) there seems to be a stack of overlap occuring - why have KDE and Gnome when the combined resources could probably make a single product? Further all the different bits are made by separate groups. It is confusing for someone (a mainstream user like me) to the point where it is 'easier' to just go buy a Mac if you want something different to Windows.
I've been using linux (not GNU/Linux) for over four years now and I'm fairly satisfied with my system. There's plenty of things that could be better but the one thing that drives me up the wall is that I had to give up gaming. Real gaming I mean, like Fear, Stalker, Titan Quest, Farcry, Bioshock and the upcoming Crysis; neither tuxracer or "Savage: Battle for Newerth" quite cuts it in comparison. The one thing that would make a massive and lasting improvement is a properly written DirectX passthrough driver for the open source virtualizer VirtualBox. It's very complicated but technically possible and considering the excellent developers that exist in the open source movement, will probably prove surprisingly quick to develop if people work at it. The main problem with the current implementations is that none of them support Pixel Shaders V2 and Parallels version 3.0 has not been released for linux. It has the major advantage over wine that all the wierdness will work. You won't have to prepare for all the strange undocumented API calls or deal with files cropping up in your home folder to mention just a few things.
How do you kill that which has no life?
Yes! Starting over from scratch should get things done much more quickly then simply polishing the existing software.
Oh wait, that doesn't make any sense.
Wireless networking is still a pain in the arse to get working - the drivers behave differently, each card has its own behaviour, etc.
Stabilizing and standardizing the wireless stack, kernel- and user-space, would make the life of those who use laptops suck a lot less.
Why can't I mod "-1 Idiot"?
Just because it's a hard question doesn't mean it doesn't need an answer.
Bring GIMP up to the point where it would compete with PS. Do the same for audio and video apps.
Work on polish.
photosMy Photostream
I see the suggestion for folks wanting pure GUI to go to OSX. However, I have this Animal Farm premonition of Apple's lock-in being just as bad as Microsoft's at some point. "Then one day, we could not tell the difference".
I think there are ways to let users know that the best raw power lives in the command line, but they need not ever use it if they don't wish to.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
Advertising.
I'm dead serious. OS X is a great example of what a little creative advertising can do. I know I'm over simplifying this, but OS X is basically FreeBSD (if I recall) with a proprietary UI installed on extremely well understood hardware to ensure things "just work"
And look at their market shares. It works. And, when coupled with their similarly simplistic accessories (iPod, iPhone, etc) and further tight integration into the OS, well, they've gotten a bit of traction to say the least.
It's not by any means what I'd consider a significant threat to Microsoft, but it's enough that a quickly growing number of major software applications are available on the platform.
I don't see why the same couldn't be done for linux. As I see it, at this point anyway, your average (competent) distro will do just about anything you want it to, out of the box (or after installing a few restricted packages) and with virtually no configuration--provided you have well supported hardware. If linux were advertised, at least enough outside the server market for more everyday people to become aware of it, then there might be more pressure on hardware manufacturers to release driver source code and/or enough hardware specs to actually write a good driver.
The only thing, and I mean the ONLY thing I see holding linux back right now is a vicious cycle. Hardware manufacturers don't make drivers because too few people run linux. Too little software gets ported to linux because too few people run linux. Too few people run linux because of the lack of familiar software and hardware support (that's not to say that there's any lacking in alternatives for most things).
Basically, what I'm trying to say is, despite my loathe of Dell I think the fact that they sell hardware with Ubuntu pre-installed is potentially the greatest thing which could happen to linux, at least likely from the viewpoint of a typical user. I just wish I saw an Ubuntu notebook or desktop in a Dell advertisement every now and again.
</rant>
All that now said, actual code base work wise...two things: unquestionably legal support for more media formats (too bad there'll probably never be a completely legal way to get dvd css support in the US), and virtualization. The latter I still consider to be in an almost infantile stage, but still very effective when properly configured. We still seem to be lacking in a completely GPL virtualization solution in the mainline kernel that's as intuitive to use as VirtualBox. A sleek KVM frontend would be nice.
I want to play a fun game that works. I'd even pay for it. I just want to go look at games, pick one, buy it, and click "install". Right now I play crap-shoots with wine and barely anything works at all. If it does work it takes forever to load and can't read the hard drive or some bs bug.
./configure and then wait. Then it spits out an incomprehensible error message 800 lines before the end of running so you have to scroll back to find out that libgcpoop.so is missing. So you search for that and never find it unless you're lucky and figure out that installing mp3lib gives you libgcpoo.so and then you can proceed to the next error.
I think the root of the problem is that there is no standard way to make a game that rocks for Linux and install it. With window$ you just double-click on an exe. With Linux you download a tarball, go to the command line, do a tar zxvf thefile, cd to the directory, type
So maybe we just need a standard library? Possibly a meta-library that programs can reference at install and automatically install the missing libraries? Heck you could even make a games library that has all functionality of previously built libraries, you just need to know which library to instantiate... This gives rise to the need for a wiki for the standard libraries so that someone can start from scratch and learn all the libraries and use them.
Another thing that would make life great for us all would be a standardized CVS or SVN type package manager that allows us to just double-click a file and it installs from SVN the latest stable or dev package and keeps it up to date. Then developers don't even have to worry about packaging for distros, repositories become extinct, and the developer-to-user lifecycle is improved. You know you could even just write a Firefox extension which will take any SVN link, install and keep current that software.
Maybe if you threw a bunch of programmers at this you'd solve umpteen of the other posts you see here. Many people are reporting distro probs, repository probs, updating probs, lack of standardization, etc.
Oh and while I'm dreaming here, let's just scrap the keyboard/mouse and go with full-blown voice recognition so we don't even have to type. We just say whatever and point, maybe use a gyro-mouse or glove but no keyboard. I think this has already been solved with hidden markov models but you need a bunch of programmers to implement it and make all apps work with it. How cool would it be to just ask your computer a question and it tells you a pretty good answer? You know like the star trek computer. I mean come on people, this IS the 21st century and we DO have 64 bit processors with 4GB RAM...
As for all the "let's do this to make Linux more acceptable to mainstream audiences" comments, I say we should do absolutely nothing to make Linux like that. Forget OSX(Oh s3x) and Micro$oft... They are failing because they suck. Linux is succeeding because we do what we want, not what some corporate mainstream media tells us we want. Let's make Linux what we want, not what we think other people want...
1. I'd totally flush X11. It's a 20 year old design that has become a boat anchor for building excellent desktop apps.
2. Build some excellect desktop apps. eg. Gimp & Blender need total overhauls to make them professionally credible.
I'd leave server-side stuff alone: Linux is in excellent shape there.
Every interface has been done, and re-done; Over, and over again. All but one. "Voice Input, and Output". The stuff of science fiction has never been fully realized. I plead my case before the Gods of Linux, "Make My Keyboard, and Mouse Obsolete!"
The gui is more like a sleeping cow that gets woken up every five years (in cow years) when a user clicks it or types a key.
If the Robotic Overlord had the cow tied to it all the time, it couldn't efficiently perform its other duties.
A cat can't teach a dog to bark.
And I am sure as soon as we have a global language, someone will have that answer.
Great Intellect...
Linux is already great technically. The biggest reason I know why it isn't being used in more enterprises, especially nonprofits, is the lack of one type of software: foundation software.
This is the software that controls the financials and business processes of these organizations.
A good offering in this area is a *must* prerequisite to World Domination. It is by far the biggest lacking area I can think of.
There have been some attempts, but they're not good enough yet.
Problem is, we don't just need geeks; we need people in these organizations who actually know in detail what the software should do, and how people expect to use it.
This is software that should tie together a lot of the free software stack -- mail servers, databases, openoffice, and who-knows-what-else.
Kernel?
Bring down the barriers relating to kernel development. We're talking documentation, convenience interfaces between the kernel-level stuff and userland, so forth. Spend a bit of time making kernel modules VERY feature-laden. Make them very easy to play with and ensure there are plenty of user-space tools to help you out. I've mucked around with a lot of stuff and have been developing software for a couple of decades now, but the Linux kernel STILL scares me.
Layer a set of version-consistent APIs above some of the low-level kernel stuff so driver developers don't have to target as many different setups or rely on a compiler being on the system to do their magic. I know this is a very unpopular idea in the kernel circles, but I think it would be very beneficial.
Of course I'm going to get ripped apart on the prior two paragraphs from people who know much more than me in those areas, so let's just say that these are just my thoughts from an external perspective.
Now moving on...
Operating system?
Somebody PLEASE develop a consistent library and API with minimal requirements that can interface with a whole bunch of windowing environments- including GNOME and KDE at a minimum. It should load the specific windowing interfaces dynamically so that using this common library adds no further dependencies to an application that uses it. From this interface I'd want to see fully-customisable keybindings, macros, and GUI controls of various sorts, an ability to hook to interesting events (eg. about to suspend, woken up, user logged out of GUI), info about screen layouts, access to user preferences regarding these applications (window positioning for particular apps, etc), and some assistance in loading and restoring state.
The library could then be taken and developed so that it is so appealing to developers they really have no reason not to use it, and the interfaces appealing to enough of the windowing environment developers so that they want to integrate it as well. It'd have a very liberal license (say BSD) applied to it to keep people using it.
Along with the library you'd have a set of tools that build on a whole bunch of environments (say: GNOME, KDE, and something that uses straight X). They would be used to set up all of the customisation that users could possibly want. The interfaces would have a simple mode for users that like very basic interfaces (actually to keep the people who claim that people want this happy), and a simple checkbox to enable "expert" mode that displays everything in obscene detail. The tools would have a sharing license (say GPL) to keep people pitching in their changes.
And then you'd need a whole bunch of people to promote it to make sure people know about it.
Imagine being able to fully configure all of your graphical apps to act how YOU want, drop in extra controls, keyboard shortcuts, trivially add in macros for remote app control, so forth- all without the developers of those applications needing to worry about it themselves. Why? The library handles it for them. The GNOME people and the KDE people can keep going about things their own way as well, and they'll keep making their own advances too. But they'll both be saved reinventing the same wheel in this common ground, whilst still having full control to take their projects to where they want to go.
I have been awfully tempted to attempt this myself but I know it would be far too large a project for a single person. I'd never finish it on my own, and I'm not interested in the politics it would take to get traction on such a thing.
But I'd love to see it.
I'd suggest a couple of different areas for improvement.
First, I'd give up the holy war some kernel developers are having with proprietary drivers. Drivers are proprietary because some companies want to release proprietary drivers. Live with it. Stop fighting it and try to make everyone's experience better. 95%+ of Linux users today (a much MUCH different demographic than from 10 years ago) do not care about open drivers as much as working hardware. If you aren't going to help make people's experience with the OS better, then in the words of Ludacris: "move, get out the way, get out the way".
Second, build infrastructure that's obviously missing. There needs to be a central "registry". Let me rephrase that; a central key-value pair repository. Make it and let everybody know. Make sure drivers (X Server / Kernel) can talk to it and applications can talk to it and read/write.
Third, it's time to optimize for the desktop and the server independently. Make some of the differing parts that really offer those performance gains modular (factory pattern) so that they can be plugged in and compiled easily. Want desktop speed? Get the kernel, drop in Con Kolivas' scheduler and off you go. Want a server oriented kernel, then stick with the other scheduler.
Fourth, stop building reversed apps against a benchmarking utility that exists. You may need to reinvent the measuring stick before you re-invent the wheel. Otherwise you get a wickedly optimized component on the benchmarking utility but ends up lying to you in comparison to real world scenarios.
---- The geek shall inherit the Earth.
I think (hindsight is always 20 20) that the biggest mistake has been allowing code copyright to disperse and remain untracked. Some contributors are DEAD now. The problem with this is that it makes project relicensing just about impossible, amongst other things. This is one of the reasons why other projects require joint copyright assignment if not straight assignment, such as apache.
Legal environments change; without wanting to descend into a GPLv3 flamewar, I think it's critical that free software projects ensure they have the flexibility to relicense appropriately in the future to adjust.
Linux does not enjoy this distinct advantage.
The Banjo Players Must Die!
A community that doesn't tell the user to RTFM when Microsoft is shoving (seemingly) free, familiar software of most recent version of Windows down everyone's throats.
1. An easy, approachable Hardware Compatibility lookup website. It would consolidate all the compatibility info from kernel & X11 devs, major distros, OEMs and also allow end-users to add their input. FWIW, the HCL at linuxquestions.org is an interesting start but nowhere near exhaustive or current enough to empower Linux users (not hackers) to confidently purchase new equipment.
1a. A certification program for drivers that allows products which meet criteria to bear a special Linux compatibility trademark emblem.
2. Fix the sound architecture. Blocking of sound output still occurs after many years of ALSA. There is no GOOD reason why Harriet shouldn't hear her softphone ring or calendar alarms just because a minimized web page contains a Flash object. Telling her to muck about in the CLI, to buy a pricier multi-channel soundcard, or to learn about sound servers and juggle them is beyond the pale.
3. Create an excellent default IDE for the LSB Desktop environment. The IDE will be geared to target the LSB Desktop spec by default, with desktop applications as the focus. Something you would write a video editor or DVD burner with, not so much a video card or disk driver. GORM on steroids: If it doesn't inspire budding application developers like XCode and Visual Studio then Linux will not inspire application developers to write. Linux will not benefit from many more systems developers at this point because its the apps that matter: The apps sell the platform.
3a. Well-rounded API documentation for the LSB Desktop target, ala MSDN or Apple Developer Connection, eventually integrated with IDE.
4. Enable app developers to become as independent as possible, such that distro managers do not insert themselves between the developers and their users. Distros ought to distribute OS software, and for the most part stay the F*ck away from controlling installation of particular applications. High-level package managers like APT, YUM, etc. should stick to managing (or mangling) the OS dependency tree and leave apps the hell alone! Provide dependency targets in the OS repo like "LSB Desktop", and only one or two others like "Java 6". Then, accept that all the extra stuff you supply on top of LSB is ONLY extra, and will get used when and if the user decides in specific cases.
4a. Ensure those budding app developers can easily share their work with friends and customers. Make appdirs like on OS X and Gobo Linux a standard. Dear God, please.
5. Hacker culture works extremely poorly for application software today. Fund efforts to spread the discipline of user-centered product development. Teach FOSS developers the concepts and ropes of SDLC and Rational Unified Process, with emphasis on adding actor definitions and use-cases to docs and project wikis so that these elements are continually refined and re-thought eventually becoming the centerpiece of requirements. Create use-case instances (scenarios) in close association with unit/app testing scripts. Anything to keep developer minds on the kinds of users and situations the software is meant to satisfy. Encourage budding Business Analysts to do 6-12 month stints with FOSS projects.
6. Create settings persistence (configuration) APIs for crucial system services like X11, Samba, Apache, sound, etc. Get these projects to set and manage their own config files, as no one else seems capable for doing this consistently or well. Maybe when they have to write AND parse their own config data, they will stop creating needlessly bizarre & open-ended formats that umpteen distro tools only understand halfway.
7. Next-generation, object oriented shell based on something like Ruby, Python or even Groovy.
Lastly, all of the above must be in the spirit of fulfilling primary personal computing scenarios like app and driver installation, and configuration of essential services (change screen res, use a network share, etc) in a predictable manner. Unlike MS and Apple, Linux does not yet grok PC land because
Nice suggestions!
:) I think that's asking too much though.
I've got some thoughts on usability options too. I'd really like to have Emacs-y editing in text boxes in Firefox. Also, I think anywhere you are finding a file, you should be able to press down to have possible completions. Bash completion is ok, but confusing, especially when you're doing pathnames in quotes because they have spaces. And then, that doesn't work from the Gtk saveas or open boxes.
Be nice if the Xterm could inline render LaTeX, ps, pdf etc too
We at slashdot are scientists, specialists and kernel hackers. Your FUD will be found out.
And turn it into a micro-kernel. :-)
I wonder if they also calculated how much they lose from Linux developers not helping them debug their software; I also am less likely to help them. Outside developers, that is, as a significant fraction of a company's developers are certain to be Linux users (that's what I hear when I talk to them).
IMHO the toughest job facing the OSS community is education: teaching, learning, and how to document.
This is compounded by the issue that most developers do not find documentation fun. If the common perception that geeks tend to be nerdy and poor at communication is true, then we have a triple whammy. This is one reason I say documentation and communication and education is our collective biggest failing.
The learning curves for _any_ of our packages are steep. SysAdmins rejoice in the job security they perceive they gain as their expertize for apache, mysql, postfix, postgreSQL and so forth increases. The thing is each package has so many options that it takes forever to learn how to set them up. At last count Debian boasted over 30,000 packages available. How is one suppose to even know what a small percentage of these packages do? That is much less than to learn how to install, support and maintain them?
But this is just the systems administration arena. The API's and programming is an order of magnitude more difficult to keep up with.
Then the documentation. To use WxWidgets for instance I am faced with over 3,000 pages of main manuals, I need to decide if I use DialogBlocks or CodeBlocks or neither. I need to figure out what each does and what each doesn't, and after I buy Julian Smart's book - its another over 500 pages to read. In spite of the fact he's written DialogBlocks there is no useful information on same in his book. Thanx.
This is only one (1) package. I have not addressed version differences and library dependencies and so forth. I have not considered the issues of limitations and bugs.
To keep up is typically information overload to the gawd-zillion'th degree.
---
M$ recognized this and attempted a solution. From what I can tell in around w95 they pulled all the error messages out of the system. I experienced the great joy of accidently turning off the external SCSI hard drive on a W95 computer while the system was accessing the disk... reading it actually. No error message was reported. We got what looked like "END OF FILE". This was M$ code reading the disk.
Then on another occasion I noted a networking message from NT4.0 had the exact same text as from OS/2. The error number in NT4.0 was missing. Everything else was the same. On a hunch I looked up the message in OS/2 and lo and behold the error number lead to the issue at hand. Of course NT4.0 was no help at all because this information had been removed.
Either it was removed or never put in. I dunno. What I do know is that the systems ability to correctly diagnose was hamstrung.
So what do we have in the OSS world?
1) volumes of crappy documentation layered on more volumes of poorly organized documentation.
2) When problems are found and corrected - no good method exists to upgrade the docs.
Here is an example. Many years ago I ran into a sound configuration issue in Debian Woody. This had to do with esoteric issues of generic SCSI drivers and bad permissions and so forth. I ended up posting in SourceForge a complete description of the problem and how to walk through it and fix it.
Two (2) years later none of this information had been disseminated through the documentation of the package at hand where I had discovered it. Debian was still misconfigured. People were still coming into IRC pleading for assistance on how to get the software running (It was GRIP as I recall).
---
This is just terrible performance and we are not getting much better at it.
There are several websites of documentation. SourceForge does this. IMHO they do it poorly. There are many wiki's dedicated to various packages. Nothing is coordinated. The man and info pages I have in my latest system are still the first place I would like to look for information and they are basically just as bad now as they were in 1997. Probably these documentation sources have not been updated much since 1997. Why not? If there is new
Linux desktop market share is usually placed between 0.7-3.0%.
Microsoft could easily write apps for Linux, the license doesn't forbid that at all. It just forbids people taking the OS, sticking a GUI/DRM/etc on it, and selling it back to you.
Look, sakusha, it looks like Linux isn't for you. If you want OSX, use OSX. If you want the most popular operating system [because that seems like the metric you favor], use Windows. If you want a reliable operating system that works well and won't be made propriety next week, if you want an operating system that you can modify and contribute freely to, GNU/Linux is the obvious choice. This is its most important feature, wherever it lacks technically it can be fixed by any interested party, but one thing is assured to you: it is free. Everything else is just implementation detail.
We at slashdot are scientists, specialists and kernel hackers. Your FUD will be found out.
Here's a man who understands modular design.
"Flyin' in just a sweet place,
Never been known to fail..."
Clone both at the API and Functionality levels. A Linux client that could talk to Exchange server and a Linux server that could talk to outlook clients would be an office killer.
As far as I can tell, your argument is:
Sorry, but that seems a little... extreme.
-:sigma.SB
WARN
THERE IS ANOTHER SYSTEM
> 2) Better integration of Linux with Microsoft Exchange servers and Windows domains.
Finally, someone saying what I'm thinking...
Of course, wrt Exchange, I'd prefer something completely independent of Microsoft, but functionally equivalent.
Max.
Most of the major issues are with the desktop and with individual distributions, some areas that I think could use development (many of which seem to suffer a lack of interested developers currently): -
Really, that's it.
Let me give an example. I recently stumbled across a chunk of code which "used to work" in 2.6.14, but which had compile errors in 2.6.21, claiming that it was an error to declare an array of negative size. WTF?
Tracing through a series of macros (some with all-lowercase names, in violation of the standard C convention of the last thirty years), I eventually found a complicated expression in a macro expansion, to the effect of BUILD_BUG_ON_ZERO(various && conditions || otherconditions).
That, in turn, is defined to, as you might easily expect, declare an array whose size is negative if and only if the argument evaluates to non-zero.
This has a number of problems.
1. BUILD_BUG_ON_ZERO might be taken to indicate that it is a bug for the condition to be zero. No. It's the same as BUILD_BUG_ON(condition), except that it yields the value (size_t) 0 if the condition is zero, instead of not yielding a value. The name is comprehensible if you're familiar with it, but frankly ill-chosen.
2. Using this macro inside a macro expanded from another macro results in a seriously opaque chunk of code. The error message one gets (about the array declaration) is on a line of code that doesn't declare any arrays, and has no semantic reason to be declaring one. There's nothing to tell you what happened without you carefully following a chain of expansions. The error message is useless.
Really, the kernel is mostly doing pretty well these days. I don't expect to have to reboot a Linux machine because "maybe something got corrupted" or whatever.
But, as someone who has to READ this code, I wish it were written more clearly and better documented. Obviously, this is something any or all of us can work on.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
...if someone somehow could make Blizzard agree to port WoW to Linux.
urd
- X is fat. X.org is working on Modularisation now, but there's a while to go. It could sure use some more programmers. And then, I bet it could be a lot more useful too. Quartz showed us that X could have more features, I think we could push that idea to a new level.
- Firefox. I heard someone speaking about having different processes for different second level domains, and different threads for each tab within, as well as one for the main gui of course, and one for the download box. I think that's a worthy cause, among other things. There are a lot of other usability things that need to be looked at, and a better caching algorithm.
- The Hurd and the microkernels that it runs on. The feature list and the ideas coming out of those development circles blow my mind. Personally, I think this is where I'm going to focus my energy soon.
- Various usability tweaks, such as unification of GUI, CLI, and keybinding.
- Next-gen file systems!
- ...
- Profit!
I'm sure there is a lot more..We at slashdot are scientists, specialists and kernel hackers. Your FUD will be found out.
One word, virtualization. Having good virtualization built in to the kernel. With that Linux could do anything.
Beodd
Hey, I didn't say that I actually expected an answer. ;-)
But I think that while there isn't one, the inconsistencies between especially KDE and Gnome apps will hinder Linux's adoption. I don't think it will actually act as a blocker to adoption for almost anyone, but it will slow it, because it adds a reason to not switch.
So do you want it to look like GNOME or KDE? Either one you pick you'll be outnumbered by the people that want the other, or something else.
Liberte, Egalite, Fraternite (TM)
This has been my biggest beef with /any/ Linux distribution the last five years or so - S/PDIF, IEC958, optical, or whatever you want to call it is terribly supported. Ubuntu's audio device menu is a huge improvement - At least I can get stereo digital without Googling. No luck with surround there, though.
First, I'd like to see something that really takes on Outlook/Exchange.
Second, I'd like to see something along the lines of OpenX: a competitor for DirectX. Sure openGL competes with Direct3d, and there's openAL for DirectSound... But why not bundle up a bunch of open goodness the way DirectX packages together graphics, sound, networking, and input? Wrap it all up in a nice tight IDE and what've you got? Something that'll write games for Linux, Mac, Windows, Wii, and PS3. Compare that to DirectX, which does Windows and xBox, and frankly the only hurting party is the xBox. Sure, sure, it's more complicated than that, but damnit, that's what I want to see.
premises:Linux development will speed up as the userbase grows. I think the greatest return on effort would be to focus on ease-of-use, lowering the jargon barrier, explain the FLOSS philosophy, including its advantages AND disadvantages WITHOUT sounding like a Nigerian 419 scam.
There may be a hint of an idea here.
... none at all because of the disagreements. But maybe two of everything is just the right balance for a lot of areas. Two desktops - one ultra-protective of new users, one *promoted* as more advanced that the new user can glance at and think "maybe I can use that next year".
We all rail at Microsoft and possibly Apple for their Monolith approach to certain things. One famous argument with at least a few grains of truth is that "eight-ish distros confuse potential new users". They certainly confuse me, and I'm even expecting a certain amount of roller-coaster riding.
The previous poster may be right that if forced to choose ONE desktop, we would have
We might be there with the Office apps - some combo of Open Office and your choice of Google Apps or whichever other one eventually becomes emergent. In Browser-land, it might also be there - Firefox/IceWeasel and Opera.
We absolutely have to have a distro that nearly everyone wants to stand behind to present to work environments. I'm absolutely for the experimentation bit at home, but for work, business schools have been teaching standardization for some 60 years now. Apparently Dell thought about this and chose uBuntu. Take your pick of your favorite Newbie-Friendly second distro. Then mark all the others as "For specific purposes" and I think the public will get that. I have a copy of u. Drake that looks benign enough.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
Linux does not have anything like that. I need to have my machine firmware as well as Red Hat version constantly patched, at a level unneeded with Solaris and Sun. Then I need to go through a rigamarole to set up netdump or the like. Even after that Red Hat or Dell/HP/whoever are often clueless, especially the hardware people. With Sun I can quickly examine the core dump, replace a component, and feel safe I've fixed a problem, when Red Hat is a different story, usually I tag the host as unreliable and that's that, we don't really have the time or luxury to figure out why a server running Red Hat crashed. Anyhow, whatever the problems of working with different components is, or the desire on the part of others perhaps that the corporation I work for devote more resources to this over what Solaris needs, with Sun you get an easy, enterprise solution for deducing why a system crashed, and I feel somewhat confident people at Sun are examining these for consistent problems, with Linux it is all over the place and I suspect most people just usually throw up their hands like I do when a Linux system crashes.
Many current distros seem to be getting hosed by users applying Automatix to install various programs and A/V codex. It's just a series of scripts, written to help automate the process, but it does have weaknesses and breaks sometimes.
Yes, I know that the distros (Ubuntu among them), can't ship with these because they are proprietary. Someone here already stated,"I don't care." Users DON'T CARE why you can't do something, they just know you failed them (their pov). I think that this also ties into the previously mentioned Uniform Installation Process. If we had one, an Automatix-type script would be so simple that it shouldn't be able to break.
User transparent multi-threading/clustering might be an interesting pond to throw a rock into. I don't care who you are, eventually you'll find yourself wishing your hardware was faster, and wondering what you'll do with your current machine. I think that a lot of people would love to be able to throw a liveCD or a minimal install on a series of networked machines, and have their current "Master" Desktop unit become noticeably faster, and the storage space grow via networked RAID, like Gmail! It should improve the performance of Virtualized Systems and concurrent processes, like running a search for a datafile, improved rendering and animation of your 3D desktop spaces, seeding a torrent, serving a Doom LAN-party, and playing Jethro Tull perfectly in the background.
Okay, the datafile search can stay slow.
Building a Beowulf Cluster back-end to a desktop shouldn't require a BS in CS. With the new multi-core CPUs head for the street soon, I'd imagine that a lot of the same technology will be used.
These are just off-the-cuff opinions of a hobbyist, and I'm sure that none of this is easy.
When you want something built, come see me. If you want correct grammar and spelling, get a F*ing liberal arts student.
It is obvious you have no idea what you are talking about. Free software != non-commercial software. You can sell free software all day long and no one can do anything about it. In fact, the FSF encourages you to charge money when distributing free software. "Free" is not about price, but freedom.
I was going to write more but it is actually pretty obvious that you are just trolling. I am done.
The one app I would focus my developers on is OpenOffice. This is so close to be something that could actually replace MS Office it's a crying shame. The one piece of functionality that they are missing is file sharing. Over and over again I see where the chance of an office implementing OpenOffice just falls, because you can't share documents(multiple users have the same document open and can edit).
The other is wireless, this is actually where linux could still step ahead while still being so far behind. The implementation for secure wireless on windows systems are weak. Windows can be integrated with other systems to give a wireless system, but so can Linux and if more people would write good documents on how to do it with Linux then it would be seen as a solution. Try to read how to integrate Radius with some of the systems out there. The multiple possibilies make your head spin. If someone would show just one right way
Second Application or service would be Samba. They are doing an excellent job, but if they could use the help I would give it to them to speed up the integration of ldap with Samba domain servers. Samba4 is supposed to have it but will it be fine and polished when they get there, will it have the network management capabilities we are needing for our growing environments and remote management.
He who said 1,000,000 monkeys on 1,000,000 typewriters would eventually type the great novel, never saw an AOL chat room
Linux is the kernel. Window subsystems, video codecs, even command line shells are applications.
Three things, in the order I thought of them:
1. Security. Security is probably the largest actualy _problem_ facing the IT industry. Where in the past security issues could be ignored as chances were security breaches wouldn't happen to _you_, nowadays the situation is different. We've gotten to the point where everything that _can_ be exploited _will_ be exploited. If they're not after your sensitive information, they'll break into your computer to use it for spamming, hosting malware, staging attacks on other systems, or any number of other uses you don't want your computer to be put to.
Linux (and open source in general) has a reputation for being more secure than certain alternatives, but I feel this is largely undeserved. Security is not getting the attention it demands, development continues to be done largely in unsafe languages, and plenty of vulnerabilities are published on a regular basis. If you watch your log files, you will see that attacks (and I'm not just talking mindless attacks aimed at MS software) are also performed on a regular basis, too. It's only a matter of time before the detractors of Linux and open source will be all over the media proclaiming the failures of the open source model, with high-profile compromises of Linux systems for ammo.
2. Modularity. If you've ever tried your hand at developing kernel modules, or even if you have enough experience compiling kernels, you will know that Linux is a mess. Lots of modules link against symbols in other modules, APIs keep changing, and, generally, what works today might work tomorrow, but the only thing that is certain is that it will break at some point. And documentation? Well, it may be there, but if it is, it's often out of date and incorrect.
Some efforts are being made to modularize Linux and provide stable APIs (see, for example, FUSE). This is good. We need more of that.
Ideally, I'd like there to be a single, small and stable interface that modules can use to get all their work done. By using this interface (instead of directly linking to kernel symbols, as is currently common), modules can truly isolate themselves from the rest of Linux and not have to be rewritten and recompiled quite as often. It would also open the door to modules being implemented in userspace and in different (safe!) programming languages. Perhaps, one day, we can apt-get install the new wireless driver, and know that it doesn't contain any buffer overrun vulnerabilities...
3. Parallelism. I believe we are at the brink of a wave of innovation in the realm of parallel computing. A lot of research has been done already, but most programming is still stuck in the sequential imperative paradigm. As far as I know, Linux does a pretty decent job, compared to the competition, when it comes to parallelism, but there is still a lot of room for improvement, too. I expect most of the gain to actually come from applications and not from the kernel, but the kernel can help, too...by better exploiting parallelism itself, and also by providing some necessary support and information to userland. Computers with multiple cores will soon be everywhere...let's take advantage of this to the maximum extent feasible!
Please correct me if I got my facts wrong.
CDE showed that nobody really wanted a common desktop environment.
I understand that to resize, you need to need to remove 1 pixel over all the height (or width) of a picture. I understand that doing that as a row/column is not a good idea, and that there is nothing wrong with doing it as a path. I also get that there are paths that are more suitable for removal than others.
Now, how to determine the paths? The authors are talking about energy levels, which I don't get, and gradients. What do they mean by that, and how do they determine it? They talk about an 8-point connection (which, I presume, is the 8 pixels surrounding a non-edge pixel). Are they looking for a path having the least amount of intensity difference? (If so, wouldn't a picture with a lightning bolt be very susceptible to have the bolt removed?). My problem with that is that it is very likely that part of a path (say, the lower half of a vertical path) that is optimum, is also the optimum path for another path starting somewhere else. So, like a capital Y, two starting points (the top tips of the Y), end up following the same path. Now, if I remove one path to shrink the picture, the second path is no longer available (part of it is MIA). So, paths are not allowed to overlap, I guess. That would mean that not too many paths can be available on a picture, yet the pictures they show displaying the paths are fully coloured.
To explain how you run out of paths soon: Suppose it does work like you cannot cross paths (or have overlap), once you have two paths and one crossing that, you run out of paths. Example, the capitla N, with two vertical paths and one going from topleft to bottom right. For none of the starting pixels at the top between the vertical legs of the N, a path is available anymore (once the \ path is established). So, should there be an algorithm (weighting factor) to make sure we have enough paths by detecting such nasty inclined paths?
Bert
I would put all those resources into driver development. Especially the GPL graphics driver Projects for NVIDIA and ATI cards.
But any other widespread comodity hardware that needs to use binary crutches at the moment to be useful under Linux needs help too.
I think FOSS Comunity has already shown that Applications and Desktop Experience need no extra help.
With driver development the Situation is a little different.
It's hard to do in your spare time.
There are not so many People who have the needed skills.
Reverse engineering takes loads time and resources.
The Developers need to have the Hardware to make drivers for it.
Slanted towards gnome, but nonetheless.
1. OpenOffice base: Make it as good as ms-access, as easy to export to the web, and as versatile of a reporting tool.
2. Get Out of tree drivers in tree, especially in the video area. LIRC should be in mainline (Or something that handles all of it's drivers) same for spca5xx.
3. Video and voice IM chatting (There's no reason for this to be missing, as all of the support is coded, it's only integration work).
4. Flash reverse engineering: This is especially critical for 64 bit and ppc.
5. Webkit everywhere. Gnome uses 3 html libraries, kde still doesn't use it. From what I understand embedding mozilla is a pain, as you have to send everything beyond the simple stuff with xpcom. Everyone seems to think webkit takes care of it. I'd just be happy with 3 less libraries.
6. DVD/VCD playing in totem for unencrypted discs (With menu support) Right now I have to install xine for dvds only. The elements are in gstreamer (though not maintained) This is just another duplication.
7. Integrate openmoko with linux as much as windows mobile is with xp (Playlist syncing, drive mounting, contact/dates/email/bookmark syncing)
8. Remove Bonobo from gnome (From what I see nobody uses it as it was intended and there are 3 people who understand it, and with this status it does the opposite of what it's supposed to).
9. iDVD: Make qdvdauthor or dvdstyler as easy as idvd.
10. garageband: make jokosher or the beast as easy as garageband.
11: Easy: Give me different wallpapers on different desktops.
12: Make the gnome dock cool again, give me avant window navigator or gimmie by default.
13: Integrate im/irc/email/contacts. Make it work. Right now telepathy has 80% coverage of protocols, and crashes for me so I can't even try the integration w/evolution.
1. Replace the ancient and retarded POSIX filesystem.
/etc? No. /etc/appname? No. /opt? No. /opt/appname? No... locate appname.conf, hmm nothing.. What about the actual application itself? Is it in /bin? /sbin? /usr/bin? /usr/sbin? /opt? /opt/appname? /usr/local/bin? What about docs? What about all the other crap that came with it, do I have any chance of finding these files?
/applications/appname, always. Wheres the config files for Appname? In /applications/appname/config of course! What about docs, in /applications/appname/docs of course! Want to remove appname? rm -r /applications/appname, tada! How do I know what is installed? ls /applications . What about that app that says it needs whatever library, you can't have the system searching through all those app folders for shared libraries right?
/applications/appname/libraries directory where they belong, but an easy list can be checked with ls /applications/libraries .
This means a filesystem with organized folder hierarchy.
Jesus this is something that has been sorely missed for ages. If I install Firefox, the files installed by the package are strewn all over my system. Wheres the config file for that application I just installed? Is it in
How about
Right, so lets use these fancy little things called symbolic links, and link them in a shared library directory, but keep the files themselves in the
By golly Holmes, this means that all those man hours spent on fancy packages and management thereof were a total waste when all you needed was a person with a brain setting up the folder hierarchy?
Indeed, Watson, indeed... and I'll go you one further, this setup works no matter the distribution, because blimey, they ALL support folders! Who knew?!
2. Init
Lets face it, init needs a major rework. It is slow, clunky, and annoying to manage.
3. XWindows
I don't think much is needed to be said here that hasn't been beaten to death already, XWindows needs to be more than graphics slapped on top of unix to be a viable candidate for GUI management.
4. Standardized GUI config tools.
This means that Fedora control center looks like Ubuntu control center looks like every other control center so if someone needs to find something, it is always in the same spot and configurable. Pretty much every single conf file I've seen is an easy GUI conversion, varname=(true/false) -> checkbox/dropdown, varname=(one of a few available values) -> dropdown, varname=(some string) -> input box, and so on. Define sections as tabs instead, and bam you have organization.
--
The bottom line is this, this is the 21st century, you've put thousands of coats of paint on your 1974 Unixmobile to make it look new, but on the inside it is still running the same decades old technology it has always run.
This whole post assumes Linux even wants desktop share, if it doesn't then by all means keep working on getting 10 more points on Bullshitmark 2007.
A major reason why everything just works on Mac OS is because they only have a limited subset of hardware to support.
My reasons for using a Mac are simple, I don't have to set it up, my hardware just works, it has MS Office for work as well as being a unix platform for running my code in the right environment. Also the GUI works well, simple things like expose and spotlight are really useful day to day.
Package management is also nice, in most cases installing an app is a case of dragging it into applications and to uninstall you just drag it into the bin. Where setup programs are required that are pretty straighforward and consistent. Windows could learn a lot from this, most Windows installer are overcomplex and unnecessary. I really don't understand why having an MSI installer package is part of the Vista logo requirements.
"XML is like violence. If it doesn't solve your problem, use more." - Anonymous Coward
OpenOffice still needs file sharing(multiple people can access and edit the file at the same time). In many offices this is a show stopper.
Samba, they have done a great job, but I would throw my support into making sure that Samba4 is integrated or can be integrated with LDAP so that management of growing and more complex infrastructures can be handled. Also that it makes remote management of networks easier.
Wireless, wireless is like the albatross hanging around the neck of most linux users and advocates. You can't just go and get any wireless card and integration into a secure environment hasn't been easy. How do you integrate your LDAP or your Radius with some of these wireless authentication products? Radius is so flexible it's mind boggling. LDAP is just complex. I would first take these wireless products and show you how to set up the servers and clients so that they are secure. Then how to group users so that you can limit/give them permissions. I have yet to see a linux wireless card that can interact with AP and jump channel to a less active AP in the same area. (I would think it is out there somewhere I just haven't seen it).
3D effects are really cool, but >80% of the users don't know how to use them and don't care to.
But, hey 6 years ago I thought virtual desktops were just neat. 6 months later I don't know how I lived without them. Still drives me nuts on a windows system when I want another desktop.
He who said 1,000,000 monkeys on 1,000,000 typewriters would eventually type the great novel, never saw an AOL chat room
First, I'd give up the holy war some kernel developers are having with proprietary drivers. Drivers are proprietary because some companies want to release proprietary drivers. Live with it. Stop fighting it and try to make everyone's experience better.
Then you have the HCL problem ala sun4m/sbus and opensolaris allowed to rear its head. Tons of Sparcstations, little documentation. They can have 'em if they want to provide documentation to the point that'd make even Theo's group happy on how to write their own for any other platform. Until then, that'd make you look like Sun "Sparcstations don't exist" Microsystems.
95%+ of Linux users today (a much MUCH different demographic than from 10 years ago) do not care about open drivers as much as working hardware. If you aren't going to help make people's experience with the OS better, then in the words of Ludacris: "move, get out the way, get out the way".
That includes those who get in the way of hardware support. Thus the holy wars will continue.
Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
ability to setup wireless connections w/laptops (at install) i cannot even remember how many times ive used a resque (linux based) live cd to help re-claim friends files (before they re-installed windows). and only 1 time i was able to connect right away (to the internet). now, if i was always able to connect to the internet, easily and fast, i would have converted all of those friends to linux based os's. however, many times i could NOT ever connect to any network. that is the biggest drawback (even now)as soo many use the pc's just for email. so, in my order of importance, connectivity-#1 connecting even at the install, or on a live cd is so great (when it works) it should be fast, easy and powerful enough to just be able to open a browser and have it work.
happy trials
For your first suggestiong: I belive that was what /opt was about. Only distros move away from /opt again. A few releases about SuSE hat /opt/gnome for gnome - now it is gone angain and gnome move to /usr. Currently KDE 3 installes in /opt/kde3 - but the KDE 4 beta installes to /usr.
/opt/application is a much cleaner system then cluttered down /usr
Personaly I think it is a big mistake.
Martin
You have to add the Commercial repository to /etc/apt/sources.list (there's a way to do this via the GUI in Feisty).
Care about privacy? Read this!
I'd like to see a Performance Squad attack all the desktop apps and their underlying components.
Not the kernel, but kernel hackers do know a ton about how to get good performance, so if they all took time out from the kernel to make the rest of the desktop snappy that would be just fine with me.
Of course I've seen some efforts at this over the years. Dave Jones' perennial "why userspace sucks" talk, some work by Robert Love, some other GNOME folks looking at memory usage, the recent Intel tool looking at CPU-wakeups eating battery life on laptops, and lots of other pieces of the puzzle.
It would be great if the basics of performance "best practices" would become widely known by desktop app programmers again. Instead we're falling into Microsoft's habit of being lazy about performance and expecting Moore's Law (increasing CPU speed and cheaper RAM) to bail us out.
Now my girlfriend's answer would be different: OpenOffice still sucks too much (feature-wise), and it's keeping her from switching from Windows.
Linux-based systems have awful usability. They are unnecessarily convoluted and complex, riddled with inconsistencies in both function and appearance. They are geared for success only in the most common cases, but don't provide adequate failure handling and resolution steps for when things don't go as planned.
It doesn't matter how technically great something is if it's stupidly hard to use, wastes users' valuable time and energy, and is too easy to accidentally foul up if you aren't a trained expert. And making something properly usable does NOT mean dumbing it down so that it's obnoxious for experts; good usability makes the experience better for everyone by saving people time and annoyance. It's about time the Linux community grokked that and started caring about the poor users instead of telling them to RTFM. If a piece of software requires reading a manual to understand it, rather than the user being able to explore and discover and figure it out intuitively, then the fault lies with the design of the thing, not with its user.
So if I were king, I would immediately require ALL people working on Linux to read all the standard classic books on usability (The Design of Everyday Things, etc). Then I would transfer 75% of all Linux-related manpower and thinking to usability improvements. (The other 25% I would allocate to improving device support/drivers).
Moderator hint: a comment is neither "Flamebait" nor "Troll" if it is true.
Kioslaves are a beautiful feature of KDE, but to be universally effective (less http://ask.slashdot.org/) they must be implemented at the kernel level.
Putting normal people, not geeks, in front of the computer and asking the to preform tasks. Then record what they do, and try to do. Then fix the things that frustrate them, change the things that they try to do in the wrong order so that the order the computer wants is th eorder that the typical user tries.
Repeat until using linux is easy
LK
"Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
Anything and everything are possible in Linux. People just whine too much. It's not meant to allow people to single click and stay out of the console. It's about the user being able to mess around and do what exactly they want. The documentation is also done very well, so that's not a problem. If you don't believe me, try looking up a problem in Windows (or, God forbid, using the system's help) that's a bit more complicated than "my mouse cursor won't move".
Well, I do have to agree some things maybe nice- a common basic API interface between code and gnome/KDE/xfce- leaving more complex parts to be handled on a per-desktop basis (maybe not at all, depending on the program). I don't really program apps like that, but as far as I know such does not exist.
Different apps isn't really a problem for most people (you have to remember, most people just use what comes with the computer) but apps acting strange is. There are some cases where an app is only for 1 (or worse, just x directly) and odd things happen when used on another. Some distros are better than others in this area- no problems with Ubuntu, but I had missing taskbar icons and some strange font problems on fedora. Gnome->KDE also seems to work better than KDE->Gnome.
While different GUIs are here to stay and for good reason, we could still treat the negative symptoms better than we are now.
Great Intellect...
Comment removed based on user account deletion
I have hard to see any significant improvements needed to be done on Linux itself, which is not already being in development. It is the world around which need to improve. If I had the resources I should lobby politicians over the world to make it illegal to sell hardware which is not documented.
It is very annoying when trying to buy hardware and find that not even the chipset is specified. Such products should just be put in the trash bin directly, not to be sold. Even worse, manufacturers that change chipsets to something incompatible and preserves the old product name, this is to deceive the customer and should definitely be illegal as other types of frauds are.
Of course I prefer HW whis already on the package and product description at the site can tell that this HW is Linux supported. The chipset used should anyway be declared and it should be well documented.We (our company) are working on a system to at least enhance the commercial aspect, that is as a buyer your have incentive to prefer products which are well documented. It should imply bad business if you try to fool the customers.
As a customer you should ask yourselves: do I really dare to buy this product?, as it lacks documentation; no, I go for this product instead, which is proven to work and is well documented. HW manufacturers who don't document their stuff should either go bankrupt or be jailed for fraud.
& I don't mean hardware drivers. Be forewarned: I intend to have a good hard whine here. I've been looking for a formZ replacement since '97. It would make me so happy.
...NO! one move, its where you wanted it, see if you like it, keep it or develop it. or no moves, no stretches, no rotations, just make it where you want it in the first place.
a professionally usable 3d modelling package for something bigger than a little green alien. I mean buildings, streets, cities, the furniture in them. DO NOT SAY BLENDER. Programs like blender, wings, have a long way to go to match even the most basic of modellers like sketch-up for use in anything other than little green aliens. Its not the underlying modelling that's the problem. Its the data input method and the 90s four pane character design work method, not that there's anything wrong with that...
Its just that, with all the other modes in blender, why not a level design mode? It would need its own suite of input tools, but point, line, face, polygon couldn't be that hard to rewrite for interactive input. move, rotate, scale, & their extension, array couldn't be that hard once you have sane data entry. Its just about projecting the cursor in the paper/screen plane out in perspective until it hits the active reference plane. click, thats where I want point two...
Something that allows modelling in context (points entered off elements already in the model); geometry entry modern enough to model in a single perspective window, moving on from that early nineties four pane view. Something that allows geometry to be entered in the model's coordinate system, not the %$&$ing viewports!!!!!! SO YOU CAN WORK IN THE MODEL FROM SOMEWHERE WHERE YOU CAN SEE WHAT YOU'RE DOING!!! and how it relates to what's going on around it. Instead of turning every move operation into three move operations in three different windows, then a change of view to see that its vaguely right, then another three moves to get it kinda sorta right...
Once upon a time I laughed when I saw people working in four pane view without snaps. They seemed to genuinely feel they were working efficiently. There is a difference between precise and accurate. modelling quickly and precisely makes editable models. Models of inorganic elements made without snaps aren't editable. Boolean operations become a nightmare. File sizes & polygon counts blow out. Its just like that. Try the alternative if you disagree.
thx e
Hareware Support: Wireless, whether 802.11, GPRS, EDGE, or SuperFooLink is not what it could be. 3D driver recompile shenanigans are not fun. Enough with the hibernation/suspend issues.
More seamless integration of emulation environments. Wine, Crossover, whatever.
Printing.
Optional Integration of KDE widgets ala Karamba, but without the resource suicide.
One a more application side of things:
Better OO interoperability
Better support for viewing/manipulating high resolution Jpeg2000 and NITF files
Open replacements with a decent level of compatibility for:
STK
The Linux version was abandoned several releases ago. Combined with
the ever increasing expense when you add modules to do anything useful
and this is a great candidate for a profitable open source app.
Labview
The NI lock in might be impossible to get around, but almost anything
would have to be better.
Visio
Currently number one reason to stay current with Crossover Office.
And on a totally not Linux note:
Better partition management for FreeBSD if for no other reason than to rescue people (ie me) from piss poor planning at build time.
Sig? What if I prefer Glock?
Which is all fine and dandy, until you want to do something that has not been done before - at least not by 99% of users. For example, suppose your application requires more than 8 cores or more than 64GB of RAM. Or both.
With Linux you just buy a bigger box from IBM or Sun and off you go tuning your application to actually use more hardware.
With Mac OS, you also buy a bigger box from IBM or Sun and port your app to Linux first..
What you are talking about is actually the hardest thing of all to do, and the people who can do it, have no need of it.
So apart from the enormous technical difficulties, you are faced with the human problem of getting people to do something for free that does not benefit them.
First, the technical problem.
Getting a piece of software to install on a piece of hardware without the user knowing anything about either requires someone, somewhere to predict ALL possible situations. This is impossible, there will always be some odd piece of hardware that the hardware detection team never heard about, some combo nobody has tested. Even if by some herculian effort you managed to do it, some company will release a new piece of hardware and you can start all over again testing every combination and its effects.
This is extremely noticable with "brandname" PC's be they laptops or even simple desktops, every time a new model launches by Dell/HP/Lenevo you find that they added a new piece of hardware but changed it subtly and the linux community can now try to figure out what it was they did. I never have problems building linux machines with white-boxes that I put together myself, but dread having to put it on a laptop or small-form factor pc.
Then there is the matter of choice, I could easily give you a piece with MY choice of hardware and MY choice of software and MY configuration choices and you wouldn't have any problems with it. But who am I to say how large your home partition should be? How you should log things.
Linux already is much better then windows in this respect as most installers are proper GUI's with proper help, explaining everything that the user is asked to do but at some point there just isn't anything that can be done to make things easier. The user has got to engage his brain, and think for himself.
If you want to see just how easy linux can be, just try a livecd. That is something windows or OS/X doesn't do, and it is very good indeed BUT it cannot account for every situation, livecd's will fail and the user will be left in the dark.
The second problem:
The people that could write the distro that could do all the hardware detection itself, don't need it. That is the eternal volunteer projects problem, the people of SAMBA don't need a simple way to configure it, they KNOW it and to them the configuration files hold no secrets. Why should they spend their (free) time on something they don't need? Hint, documentation and writing configuration tools is the most boring part of development.
Yes it is a problem, BUT linux is not a company or even a movement, it is a bunch of people who do things they like and share them. If I am singing in the shower and you happen to like it, that is fine, but I won't do requests. If you want that, pay me, except I got a good job, and I like singing the songs I like so you would have to pay me a LOT especially since I hate the song you requested.
That is one of the weaknesses of linux, it can't be helped. MS and Apple can just pay some developed to do boring work, linux by and large cannot.
It doesn't even help that much if somebody volunteers to do say the documentation, the developer still would need to spend time talking to this person, time he isn't spending on something he likes.
This is the nature of linux, it is made by people who LIKE what they are doing, but it misses those bits people don't like doing. Only money can change that, so how much did you pay for your linux box?
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
This is really what we need. So that commercial product can be easily installed.
:)
You cannot seriously replace something like emerge by apt or RPM. Not only me would be annoyed, but everyone in this world.
I don't believe it is difficult to make a simple installer/deinstaller like MS-Windows has. One problem might be the toolkit, but developers have often made a 2-layer design that abstracts the GUI from command-line utils. This is a principle that I like. This way you can have your Gtk+ or Qt ontop of the real application.
I would also suggest a more intelligent installer that is focused on games. It should analyse hardware/software prerequisites with simple mechanisms (e.g. a simple configuration file) and have an interface that forwards performance settings to the installed application (come on, we have procfs!). Also rating (age, violence or nudity should be indicated by simple symbols) and so on.
More ideas are welcome.
A full Exchange client. Then I could completely ditch Windows on my desktop at work.
Native Unix versions of all of my favorite games, released at or near the same time as the Windows counterparts. I don't care about your favorite games, I just want the ones I play to work. :) Maybe I'm just really unlucky at picking them, but I've never gotten a single game that I like to play to work under Wine or Cedega. Maybe Madden '03 sorta works under every third version of one of them, but I want to play 2008. Company of Heroes? No way. MTGO? Last time I tried none of the text would show up onscreen. The list goes on...
I have found there are just two ways to go.
It all comes down to livin' fast or dyin' slow. -REK, Jr.
While I fully support Linux native drivers (like my Broadcom 4318 which is running on bcm43xx) there is simply too much hardware out there to write a driver for every one.By having wrappers we would be able to switch more folks over to Linux.I know I personally have had to tell folks that their Lexmark printer/scanner/fax combos just won't work in Linux, so they ended up sticking with Windows.With an Ndiswrapper for printers it wouldn't matter what type they had,it would "just work", which is what most non-tech folks care about,anyway. Thats my .02.
ACs don't waste your time replying, your posts are never seen by me.
Let the keyboard behave the same in text mode and X11.
Let the default keymap be the same in text mode and X11.
Allow all those combos (ctrl-home etc.) to be identifiable by default in text mode.
Get a new maintainer for keyboard/keymap issues.
Let Andrew Brouwer be happy with Tibetan characters in Unicode.
Have you used Scribus for DTP? I suppose one could find ways to criticize it, but it *is* pretty dang good.
Linux development does not need "refocusing". Most of us are volunteers and work on stuff that is either useful to us or fun or both. Bad term.
When I was in a position to donate substantial personal time and resources into Linux Development, I focused on XEmacs because it was almost, but not quite, the perfect development tool, so I lead the fixing of it with help of countless other volunteers.
To answer your question though, I'd have to say it would be a web browser (ie fixing W3 in XEmacs). All web browsers suck, with the exception of Lynx, which has limited but most useful function to some and I would not expect my wife to be able to deal with it, alas.
Opera is decent, but doesn't run anywhere useful. Firefox is marginally acceptible, but only marginally. Everything else, just plain sucks and (with respect to Microsoft Windows where it is considered a user shell) is substantially a regression from proprietary code I wrote 20 years ago.
So, I'd send those Kenyan monkeys after Mrs. Perry until William agreed to head a team of programmers working on W3. XEmacs with a true world-class browser/local file manager would be heaven, in my opinion.
- steve:*:500:500:Steven L. Baur:/home/steve:/bin/xemacs
Linux would be way better if somoene could fix this kind of issues showing "Why userspace sucks" : http://mirror.linux.org.au/pub/linux.conf.au/2007/ video/talks/38.pdf
1) creating a unified software installation/removal system.
2) Better hardware support.
Users should never have to manually install or uninstall software and new hardware should work with little or no "tinkering".
Anthony Papillion
Advanced Data Concepts, Inc.
"Quality Custom Software and IT Services"
KDE and Gnome are filling different niches. To you they're only eye-candy. So use a KDE theme in Gnome or vice-versa. But behind the scenes they're coded in a different fashion to meet different goals.
How many systems are you recommending people switch between? My mom's been using Gnome since I installed Ubuntu, KDE might be a bit confusing out of the blue, so I *don't* have her system configured to randomly switch GUIs... Vista or OS X would be a bit of a surprise too.
Besides, if you think the Mac is consistent, look at iTunes. Most of Apple's UI guidelines tossed out the window. Quicktime player for Windows was another laughably bad example.
It's funny how to authoritarians everything seems like a good excuse for a dictator to tell everyone what to do.
Which is better, Kittens or Apples?
Which is better, a stripped down Linux that runs on my PDA, or a full-featured kitchen-sink distro that comes with everything pre-selected?
That's not just a hard question, it's a trick question. My PDA won't run with a desktop distro, my desktop would be crippled with a PDA distro. Neither one should be replaced with the other.
That's precisely why Windows is a lame server. Try turning the GUI off for more speed/ram.
You know, I've always thought that fork/exec is a bit goofy too (as compared to a system call that just launches a new process, like NtCreateProcess), but there are very good reasons for it.
Essentially, it allows you to change things about the environment before running the new program. Want to redirect standard input or output? You can do that between fork and exec. Want to change the environment variables the new process runs under? You can do that between fork and exec. Want to do that in Windows, with CreateProcess? You have to pass them as parameters, which means that everyone has to pay at least a little attention to these things that you may want to do but usually won't.
fork(2) is a zero-argument function, and execve(2) has three. CreateProcess has nine in parameters, one of which is a pointer to a struct with 14 meaningful fields. Not all of the added complexity is due to the decision to make a CreateProcess call instead of a fork/exec-type call, but a lot of it is. (E.g. three fields of the struct are handles to stdin, out, and err; one argument is the environment to run in; another is the working directory the program should run in. All of these could be removed with a fork/exec interface. Many other arguments and fields may or may not be able to be removed nicely.)
That is completely the wrong approach.
You need to ask yourself - what will make more of a difference to the users?
Q: Is it performance?
A: Nope. Performnce is arguably already very good. You might be able to wring another couple of percent, but thats not going to generate any excitement.
Q: is it reliability?
A: Nope. Linux is reliable. Its stable. There are certainly actions we could take to meet needs in the high-end corporate/daa center world, but for greater adoption, thats not it.
Q: Is it hardware support?
A: Yes! (well, thats a part).
Let me give you a hint.
The groups we need to have onside are
- the partners. They will sell it and install it and get it out there
- the users. They will buy it. Both home and corporate.
And what to they want?
Here's my pick, and I'm sure there are a few others:
SIMPLE hardware compatibility
I want to plug my mobile phone in (without having to figure out multisync)
I want to plug in my webcam
I want to use ANY video card without having to look up some compatibility list
Seamless Inteoperability
Open and share documents
Simple UI
Ubuntu were the first to cotton on to this. Users don't want a complex menu structure with admin functions spread all over the place.
This is the one area that I would say several Linux distros are really on the ball.
Avialability Of Core Apps
Photoshop (sorry, gimp doens't cut it yet)
Games
and so on...
I cannot believe that nobody mentioned it yet.
The only reason i reboot to linux is Powerpoint.
Give me a decent MS Office replacement and I will never load those dlls again.
Really, why is it so difficult to make OpenOffice actually functional?
Herding cats becomes a lot easier if you have catnip. ;-)
i think the linux software base was a good start, but there is too much fragmentation between distributions
it would be nice if there was less diversity at the core, that way something that runs on ubuntu would be able to be run on suse or slackware
every distribution is trying to specialize, and thats a good thing, but when there is too much it fragments the communities efforts at large
back in the day we didnt have no old school
If I had a team of developers like that, I would write a new O/S from scratch, in a language other than C, and I would do away with many of the traditional concepts like filesystems/processes/drivers etc.
The OSS world lacks visionaries, people who are willing to drive the state of the art forward. Linux is a nice try for a non-commercial Unix, useful in many cases, but it will not drive computing in the 21st century. Neither Windows will do, but at least I can not expect Microsoft to dump their profit-making business easily.
Yes, but that's a different question in some sense.
Why do we have Gnome and KDE? (Actually I should say GTK and Qt...) They both do about the same thing, they both run and don't run on about the same systems. My understanding is that we have both originally because of licensing issues, but we have both now because they think that the systems should go in different directions, and also because of developer egos.
But as a user, I don't care about that. What I see is that Gaim doesn't fit in with the rest of my KDE apps, because it uses GTK widgets instead of Qt.
This is the sort of inconsistency that I'm talking about, not that you need systems tuned differently for different applications.
Audio.
Please read Lennart Poettering's 2007 Linux Symposium paper Cleaning up the Linux audio desktop mess.
A lot of GUI software these days is *much* slower and uses *much* more memory than it needs to to do what it does (in the case of memory often 10 times more is used than necessary). Speed up GUI stuff and use less memory - particularly evolution (which also needs a vast amount of fixing) and firefox but also GNOME in general.
There are two things that I would do for Linux right now:
/usr/src tree with *everything* needed to maintain updates for each individual package - *without* the use of package management. I know this would seem by some to be a step backwards, but what I would do if I had the time would be to develop a completely Source-on-board distribution that has everything a person needs already unpacked and ready to go in order to be able to make local source changes to their system, as well as contribute to each and every dir in the /usr/src tree - using whatever source management systems are the native for each package. So if dhcpd has a subversion server, /usr/src/dhcpd would be fully set up to be able to pull from that tree, using the tools of the primary programmers for dhcpd, instead of replacing them with Yet Another Package Management Nightmare. Too many distro's are not distro's, but in fact are source-code management projects - this needs to be brought much closer to the Linux core filesystem, in my opinion. Its just far too difficult to find the source for a package, unpack it, patch it, etc. - all of this should just be onboard from the get-go.
s ource-management and not enough focus on having it all onboard in the first place, from first boot onwards ..
1. Focus the distributions on hardware packaging. Yes, not just Ubuntu laptops, or RedHat servers, but embedded systems (such as OpenMoko effort) with complete, full, 100% included Linux on board. You buy a system, it has Linux onboard and ready to go. This is already happening everywhere, but I would push it further and further into other realms of hardware. Until recently, for example, I worked for a major synthesizer manufacturer (musical instruments) with the purpose of putting Linux into digital musical instruments - I would continue this effort, for more and more hardware, and I would put Linux in the box from the start - not as an afterthought or a bring-up/port, but as part of the effort to get the hardware out there.
2. Full Source distributions. This means, a fully populated
Perhaps not revolutionary idea's, but as a Linux user since the day of the minix-list post, I feel that there is too much focus on distributions-as-a-fix-for-people-unable-to-grok-
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
Why?
- Fonts: the fonts under Windows are much better. Crisper and more readable at small fontsizes, thereby giving the desktop a more compact and more readable appearance. And yes, that's after you download and install the optional Truetype fonts.
- Polish: the look of individual windows and the desktop as a whole is more "polished" under Windows. Despite all the work that has been put into KDE. I don't mean tomfoolery like transparent floppy windows, I mean
- Responsiveness: under Windows 2000 the responsiveness of the system to user input is much better when the system is opening a new application. When I e.g. start an instance of Mozilla under Linux, the system responds sluggishly while it's loading. Windows remains responsive and loads the application quicker. I don't mind that it tends to take longer under Linux to load the thing, but I hate being forced to sit still and watch until it's up.
Oh yes, and please don't jump on me to tell me that I should try GNOME; I tried it and discarded it.
I think Linux should have a totally different interface to Windows or OSX. The target audience for Linux are server administrators and power users and I think the interface designers should realise this. I really don't think that linux will ever beat Windows or Mac for usability, and maybe it doesn't need to. If Linux rewarded you for learning the bash shell then it would be a really interesting environment. As it is I can switch into the terminal to try and get some things done, and if I typeset my latex document I then have to switch back to the GUI to view the pdf. Linux is confused about whether it should be using a GUI to do something or whether the CLI is the better way. Window Managers for Linux all seem to be relatively similar to Windows or Mac, and there doesn't seem to much reason to use linux for a DIFFERENT or better experience. I think this is mainly due to the many different developers involved and their total lack of interest in consistency for their users. The idea of using the CLI is still basically an essential of the latex system due to compiling software. It should be developed to take over the interface, not be hidden behind an inadequate GUI. This would refocus the idea of linux into a straightforward, techie, scripting style interface. However, the CLI needs to be a lot more exciting than the crappy CLI we have now. They need to do things like allowing usage images and media, using search abilities, fixing file heirarchy addressing (as it makes CLIs really difficult) and doing spotlight like smart folders. An CLI interface of this type would need a really good built in text editor that is not quite as obscure as emacs or vi. Linux should embrace its techiness, but not for techiness' sake.
People have forgotten that the purpose of an OS (including linux) is letting the user perform tasks. This is a cross-project discipline.
Suppose a user wanted to record some family video, edit it into a movie with some nice graphics and credits thrown in, and then distribute it on the internet on a site of their own (say "simpsonsfamilyvideo.com") so they could tell the address for the site to friends and family to check out. Suppose that this user was your mom. How much explanation do you think she would need to do this? Do you think she would just give up halfway and make her geek son do it?
The reality is that linux doesn't need any more features. It does everything a user needs. What it needs is integration, polish, documentation and task-orientation. Starting from a common task that users do, and then thinking "how can we improve that?" is the only way to move forward from here on out, and doing that means that you'll have to mess with dozens of projects, instead of focussing on just two or three.
better wireless hardware support specifically wireless cards that has some variations supported and some not at all I think that making some brand names completely Linux compatible will benefit to both the User and the Manufacturer of the product and will encourage more companies to walk the path to full open source Linux compatibility.
Fair point, but there really aren't that many applications tha fit into that category (mainly scientific I would imagine).
If you develop in Java, as I do, this is not an issue anyway because your application will run on Mac OS or Linux without any changes. Obviously Java is not suitable for all applications, especially in the scientific community who have vast amounts of fortran they would like to reuse but as someone who develops webapps most of the time, its never been a problem for me.
"XML is like violence. If it doesn't solve your problem, use more." - Anonymous Coward
1.Don't change the command line oriented/legacy architectures(.config /dev ) whatever. Power users need that.
2.Develop an automatic,user-friendly GUI interfaces on top of that.
3.Test the said interfaces with least computer savvy users, correct any problems,test again
until its works out of the box.
4.Each extra parameter,text file change, compile and installation of drivers brings user experience into discomfort zone.
5.Make the computer work for the users, not users working for a computer to work.
Steep learning curves and complex syntax limit
usefulness, and it not justified by "power" user gains by studying the system. Rather its a system designed to be hard from the start.
No compiling,debugging,configuration,reliance on user input.
6.If done right the system would be better then Windows. Which has numerous flaws in its "user friendly design" like interface labyrinths.
I'm actually serious though. I think our OS should be completely 3d, with real time lighting and everything. The 2d desktop is so 1994. I think that compiz is just the beginning. I'm looking forward to the NEXT generation of 3d interactive desktop. Our kids will literally run circles around us, just as we did to our parents on computers.
rhY
I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
Linux distros need to strive to be better than Windows.
Back in late 80 - 90 MS software and PCs used to be worse, but cheaper (Actually, since late 90 PCs were better and cheaper, but MS software still was crap). So they won. Now Linux is worse, but cheaper. I can't see how it may fail to win, eventually.
Specifically, I'd like to see more mainstreaming of some of the features from mosix / openmosix. I played with mosix clusters (deployed from a master NFS server using debian's diskless-image package) quite a few years back, and I've been yearning to set up more.
Some of the features currently possible (or that I'd like to see):
transparent process migration CPU-intensive processes automatically run on nodes with free CPU cycles load balancing / optimization Network or disk I/O intensive processes run on the node nearest to where the data is stored high availability & fault tolerance your cluster can still be usable through individual node failures or even during upgrades(!) scalability Simply add compute / storage / graphics nodes to the system... as you and your friends pool resources into the system, it just gets more powerful So if you had a computer, you could just plug in to the network and netboot to get the current kernel and mount an NFS-root partition and join the cluster. You could set up any authentication necessary for CPU sharing and offer up any local disk partitions that could be automatically allocated to the network RAID. You might have mobile nodes (Laptops or maybe even PDA thin clients) that would run apps off the cluster, and then cleanly migrate its processes and hoard its files back to itself before cleanly detaching and continuing to run on its own. *NIX and Linux in particular already has a lot of good projects that handle the individual pieces you'd need to assemble a system that would work almost completely over the network like this (booting, parallel global network filesystems, even good 3D OpenGL over the network), it's just a matter of assembling, integrating, and filling whatever remaining holes to make this seamless.Windows used to bluescreen if the floppy disk you were writing to disappeared, but it does not anymore. It yells at you but it is ok with it for the most part. Linux on the other hand really does not like it when hardware disappears without its knowledge; this is most apparent on mounted filesystems. One part of robustness is how we deal with failure and having a USB drive yanked or reaching a bad part on disk or in a file system should not cause the kernel to spit out thousands of error messages, one is enough, and deal with it already; don't lock up on me, if the file is inaccessible say so and move on.
People tend to focus on individual features that linux is missing most, but as a developer I have to say that what linux is most lacking is overall design.
./configure
/dev/dsp multiplex itself...
Unlike other operating systems, linux lacks any kind of architect responsible for the overall design. Instead there are a bunch of competing groups providing specific components, and no one really responsible for orchestrating how they all fit together. This means that a lot of the underlying facilities in linux are either outdated (left over from early unices), munged together hacks, or are good systems, but aren't used by much of the system.
Some examples of areas that need improvement:
daemons: The model for daemons used now is archaic and needs to be done away with. There needs to be a central place for registering and controlling all services. There needs to be a single system level API to support writing services. All this nonsense aboutlocking files to determine if another daemond is already running, and writing your PID out to a file needs to be done away with. Finally, someone has to actually take existing daemons like httpd, ftpd, etc and add support for the new model to them.
program configuration:
Right now all the system level programs and even some user level programs use their own custom flat file format for even trivial configuration details. Gnome has a pretty nice configuration system used by most gtk apps called gconf. This or something like it should be used by everything.
At the very least someone should introduce the X.org guys to something called "xml" for use in xorg.conf.
C++ support:
Generally, linux is a crappy place to write c++ apps. The c++ abi on linux has broken numerous times, which means that people are afraid to write c++ on linux and a lot of libraries only have c interfaces. Even libraries that are written in c++ often only export c++ interfaces because of abi issues.
Build systems:
Currently, most open source projects use something called "autotools". Does the following looks familiar?
make
sudo make install
That configure script and the makefile are generated by autotools. From a users perspective, it aint too bad, and everyone's familiar with the install process. From a developers perspective, autotools is pure hell.
Autotools is essentially a really bad attempt at providing tools for writing crossplatform software on top of make. It is overly complicated, slow, most people don't really understand how it works, and it encourages developers to write heavily "ifdeffed" and totally unreadable code. Furthermore, despite the fact that everyone uses it, I don't think it's actively being developed anymore (kind of like cvs...).
Essentially, someone needs to identify a new standard for c and c++ build systems and talk a bunch of the existing open source projects to convert (which would be difficult) or at least make all *new* project under the new build system.
X:
X is a major piece of linux architecture that most people will agree sucks. X is hard to configure and doesn't do autodetection of hardware configuration right even on supposedly good drivers. However, autodetection of good hardware configuration may be still a bit ambitious. The biggest bang for the least effort would probably be to just make X more configurable by doing away with xorg.conf and replacing it by either plugging into gconf or just using some kind of xml file. Once this is done, it becomes trivial to write GUI's to configure x.
Oh, also, I shouldn't have to restart my computer to change my resolution.
Sound:
Sound support sucks on linux. However, all of the existing (non-driver related) linux sound problems would just go away if someone made
So really, what I think that linux needs is high level direction in terms of architecture. That doesn't really mean getting people to write some new piece of code so much as having someone step up and say "this is the right way to do things" and to talk to the existing projects and convince the maintainers that these approaches are the way to go and get their support.
is that from a desktop type user's perspective people use their computers for what? To access media (video, music, games, content creation software, internets, word processing and whatever else is in office, money management, etc.) most of those are just apps that we use. Things like games and video and sound are hardware and driver issues also. Clean those up and make the OS easy to configure and customize and the average, even slightly above average user will be happy. When we all say we want linux to be a desktop os too then you have to think of the desktop user's needs. Get those needs fulfilled and you got yourself a platform. Also standardization between distros would help. Hell I wouldnt mind if there was just one distro. Anyway apps win the platform. If everything runs on linux then it is the platform of choice. Not everything I use runs on linux but everything I use DOES run in windows. I just dont like how much of a pig windows is so I only boot into it to use specific apps. Games will come to linux when there is enough market saturation to intice devs to make linux ports of their games. There isnt even enough mac users to get that to happen for osx! Maybe if some investors put forth the money to get games developed for linux then that could start a movement in the games industry. All that is needed is the right kind of metrics to show that enough users are playing games in linux. That and a nice dev environment like visual studio. I dont know everything in the world but this is the way I see things. Another comment earlier mentioned a linux website to help people get into linux. I think this is a good idea. A big problem with people not switching is that nobody that isnt totally cool and computer savy knows what linux even is! Advertisment would help a lot.
Balderdash!
yes, games! If i would have resources i would have used them to develop and port more games on Linux. I personally feel that good games are very important to attract a bigger number of people to use Linux.
Fuller: examples, exceptions
I suppose I should have expected this from a Sunday Slashdot post. *All* the issues in the comments are niggles about personal desktops. Nothing on the issues on how to run a large-scale enterprise deployment.
Sure, Linux has all the hooks available for enterprise-wide administration, directory-based authentication, centralised logging, patch management, backup, etc. And a wonderful choice for most of these - but no simple plug-and-go option as easy to initially deploy as Active Directory. No, AD isn't perfect - but once it's deployed, it's there for good.
Andrew Yeomans
It seems like the answer for that is a KDE-like Gnome theme, installed by default when you install KDE. Otherwise the different UI seems to suggest that the app is going to be different.
But people act like the technologies involved (Qt, etc) need to be pruned. IMHO they just need to be tweaked a little bit to look alike, where they'll be used together.
What has prevented me from switching wholesale to Linux is peripheral hardware driver support. One strategy may be to emulate driver support from Windows. I realize this introduces a host of issues, but it would effectively eliminate the reliance on the vendors themselves if Linux could integrate hardware in the this manner.
I have one of them working here as a spam assassin. Couldn't live without.
Want to hear the voice of GOD? cat
OSS was crap and alsa was supposed to save us. Guess what? Alsa sucks too. We've reached a point in Linux where if you want to play stereo sound out of your sound card, it mostly works. However, more and more people are using on-board sound cards, and if you buy a new motherboard the chances are that the sound card will not work at all. Having your sound input, like your microphone or your line-in work is seemingly up to pure chance. If you have somethign weird like a microphone built into your laptop, just pretend it isn't even there. If you're planning on surround sound, just kill yourself.
Playing and recording audio is one of the most basic functions of a computer. The situation back in the DOS days where you had to tell every game you installed that you had a sound blaster is better than the situation in Linux now. Have you looked at an alsa configuration file? Why do I need to setup extra dbus stuff to be able to play audio from more than one source at a time?
Playing audio is basic desktop functionality. It's well understood. Everyone who uses Linux on their desktop wants audio to just work. For many people, it doesn't. Fix it. Fix it now.
The GeekNights podcast is going strong. Listen!
I would love to see Linux in general use as a desktop replacement for MS. In order for that to happen it must be able to install itself taking advantage of all the available hardware in my system, read Word and Excel files and enable me to edit them and republish, and I also need to be able to run Photoshop and Premier. Until that happens it's a great server.
Here's how it could work: Each package contains a list of patents and expiry dates, one list for each country. When the user tries to install a patented package from a repository, the package manager geolocates the user's IP address to find a country and places the the package on a queue to install. The PC synchronizes with an NTP server once a week. After each synchronization, the package manager wakes up, checks the queue, and installs those packages whose PatentExpiry date for your country is before the current date. At any point, the user can open the package manager and see the patent numbers that are blocking installation of any given package. Sure, this would take several years to install packages that rely on recently invented process, but it's the only way to circumvent royalty requirements in a free software distribution.
Or you could just use Linspire's CNR and pay for your proprietary software.
Excellent suggestion. I find that cron jobs like updatedb and tripwire slow my system to a crawl, even when I renice all aspects of the cron jobs to +19 and lower the jobs I want running fast.
Contribute to civilization: ari.aynrand.org/donate
Focus on two things:
First and foremost, a real, FREE replacement for Exchange that not only duplicates its functionality, but beats it hands down and offers dramatically lower TCO. Exchange is a pig that eats server machines readily and greedily. It's also the main anchor that keeps a lot of other MS technology locked into the IT departments of many companies. Take it out.
Second, further extend and enhance OpenOffice so that it also beats MS Office on features and ease of use. If the execrable OOXML becomes a standard, implement it fully and relentlessly. Publish the resulting code as the "missing parts" of their presumed spec. Deny them the ability to claim that their "standard" is really only implemented properly by their own products.
I would without regret or another second to think,reopen Open Mosix,and with a fleet of agreeable developers,finish and include it with the kernel.(yup,tools be done too)
The world needs to be able to have home clusters and/or a use for older computers.
Microsoft will never implement this wonderful feature.We need to breath some life back into it.
Hands up,who misses Dynebolic 1.4.1? Clusterknoppix?Quantian,for math and science? Who wants to use the power of their network to composite video or run blender?Who wants audio effects rendered on large files in mere seconds? calculate prime numbers with the speed of ALL your processors in the house?
Yup,thats what I'd do to refocus Linux,merge Open Mosix.
*Repent!Quit Your Job!Slack Off!The World Ends Tomorrow and You May Die!
There's one thing that makes OSX and Windows so much nicer on the GUI side than any Linux window manager:
Apple and (especially) Microsoft spend billions on finding out how the user interacts with thier software, and how to make it easier and more natural. GNOME and KDE don't and it shows in comparison.
Developers are definately vital, but unfortunately, it's a bit more complicated than that.
throw new NoSignatureException();
Why is it that OS X / Windows is "better" and "winning"? .... easy... $$ = motivation. Their employees are getting paid more. Hell, some open source developers aren't paid at ALL. (damn but we do love you all for doing it anyways!)
My solution to all of this, is to pay the "best" programmer(s)/group(s) to get individual pieces done. This can be done in the following way:
Step 1. Set up a foundation or an organization of some kind that has the financial responsibility to hold on to a chunk of money. (This could be the official linux dev. Group, but preferably NOT a distro, as they will be biased. This has to be unbiased towards any distro)
Step 2. Set up ye olde competition of the week / month. Think X Prize (maybe call it the linuX Prize? hehe).... the $ reward will be voted on by the developers of the linux kernel as WELL as the whole open source community. Things like wifi and sound (oss) would be weighted higher than say, getting a good pdf reading system to work. BUT! Still give a prize for the PDF thing. Say... 30-40K for the top winner of the Wifi competition, and say ... 5-10K for the PDF one? Then maybe give something to the 2nd and 3rd place winners too. Hell, maybe not even put a cap on it... donate X for this cause... there might be such a huge call for something like wifi drivers that over 100K+ might be raised. Hellz yes!
Step 3. Generate money. This can be done in a ton of ways. Example: Community support. I'd for example be HAPPY to give 20$ into a pot for someone to come up with a good working easy to use and "out of the box" wifi driver / recognition set. Then add in sponsors. I'm sure we can generate lots of money to keep this going.
Step 4. Advertise. Make a single website. Professional looking, lots of feedback on LINUX. Explain why linux should be used and it's major features (do NOT give specifics on the main pages or you will scare people away. Make the specifics easy to find as a separate tab). This is NOT for a specific distro, but for linux in general. That being said... have a wiki like set of info for each distro... but don't overload it with details (distro watch is very cluttered). Show the BASIC pro's and cons... and have users put their ratings on it. That way when a person decides they want to use "linux" ... they can easily find/see that the most popular or best rated disto is X (this caused me a huge headache when I first got into it). Also add daily / weekly / monthly (potentially all 3?) user polls. Example: "What is the next big thing we should compete for? Option 1,2,3,4,5 or 6)"
Step 5. Reap the benefits. If we have 10 people/groups submit what they think will win them the best prize, we'd have 10 pieces of code that (arguably) will all work. Even if we choose the "best" one, we (the community) might rip them all apart, and take the best aspects from all entries to make a new complete even BETTER version!
Rules for code: a. GOOD documentation for the code. This means "readme's" as WELL as good IN code documentation. b. Portability / Expandability. Is it generic enough to work for everything / most everything? (example: wifi drivers that recognize at least 80% of wifi devices?) c. Speed/optimization. Portability is nice... but if it slows everything else down to a crawl.. then it's really not that useful. d. 3rd party integration. How easy is it to take this code and build on top of it.
"what application or kernel area would you attempt to improve" - as long, as you can relate "linux experience" to be amongst those named, this would be most important. Watching it for over 10 years by now, it is hard to miss disappointment, that is slowly replacing slightly bigger hopes for OS, had before. OS/X is there by that time, and it is willingly accepted as consistent Unix-allowing, rarely disappointing, rather well polished tool. Not sure, there are still as many enthusiasts over there to test next version of next distro for fun. Maybe me myself am getting older, but it was a while, since I was willing dive into that experience once again - too predictible, too little to be found, too disappointing to discover new headaches.
If distributed opensource development has next big issue to overcome, I would say it is consistency amongst distros, in user interface, in quality of applications deployed, wherever you see. That's difference, commercial software is able and willing to varant - deliver not promise of capable product (and multitudes of promises), but one of usable scope, finished in very certain extent, even if that value is being asked money for.
Linux/opensource development has to get focuses. It is not easy to do being loosely distributed by origin, but there were such efforts at the earlier stages (like LSB, LI) - either they should function in new quality, or other efforts should find place and bring in new sense into Linux development.
Servant of karma
Unless your using Ubuntu or similar distro, your gonna use the CLI a fair bit.
You can try using YUM, etc etc, but eventually your gonna get down to some
nitty gritty CLI, its the nature of Linux's roots.
More GUI will be added with time, but a lot of the Linux folks
do not have making Linux just like windows as their priority one task.
Linux would be best served by Distro's that best serve Enterprise tasks,
gamers tasks, common SOHO biz users.
Some distro's lean this way a bit, but the names chosen for a lot of
the apps are a tad less intuitive than what M$ chose.
Office is obvious, and so is Open Office.
GIMP makes ppl think of pulp fiction, lol.
A few other apps are likewise.
But in the long run what matters, is things like
the netcraft stats, Linux/BSD/*nix is kicking the crap
outta M$.
Nuff said...
google "32 trillion offshore needs IRS attention"
QNX and LynxOS are great, but closed source, ergo without future.
My bet is that in the future Linux will be both 100% POSIX compliant and able to run as a true Hard Real Time OS.
Lock down the APIs so verdors and closed source projects can link to the kernel. Things like FUSE, NDISwrapper, etc. should be "the way" ALL layers are done. The kernel is robust enough now to lock down the interface and allow the hardware and internals to grow independently of each other.
----- Refactoring is the reason why man does not mistake himself for a god.
If you are looking for market driven GUI paradise then open up and say "Ahhh"
...and STFU...
and get you big mouthful of Fistya^H^H^H^H^H^H...Vista, and stop using Linux.
Oh
google "32 trillion offshore needs IRS attention"
To technical users, Linux is already easy to install. But to the average person, who spends most of their time in things other than the ins and outs of computers, Linux installation is intimidating. The very thought that one might have to edit a file in a text editor is a non-starter. For mass adoption, Linux needs to install at the click of a mouse (from a running XP or Vista window), with minimal risk of problems along the way. This needs to be the case for the broad range of systems, from laptops through desktops, and for nearly all types of displays, sound cards, network cards, and so on. If this cannot be achieved, Linux will not achieve mainstream status as a desktop system. Period. That is the challenge, and rather than tinkerking with niceties, this is where effort should focus, IMHO.
Complete, accurate, current, non-ambiguous, hierarchical documentation, clearly written. With examples for difficult stuff. I've wasted hours creating simple bash shell scripts that would have been created in minutes if documentation were better. (Bash is a particularly difficult case. There are many diverse things going on, which makes the documentation file huge and hard to organize.) For complex stuff, man files are too hard to search for relevant data. Info files are hard to navigate, and (in my experience) searches aren't possible from one section to another. HTML or other similar formats have the capability for good documentation, including hyperlinks for table of contents and index.
Contribute to civilization: ari.aynrand.org/donate
True, it'd be straightforward for a process to poll the bus every few seconds to find drives to mount in /mnt, and some distributions already do this. But what about unmounting? Or are you requesting that the implementation of FAT32 keep the file system in a consistent state even when the user yanks the USB data cable in the middle of an operation? Is this even possible? Even Windows has the "safely remove hardware" icon in the taskbar notification area.
That's actually possible in Linux, with any filesystem, if you supply the "sync" mount option. You'll notice a significant performance drop when you use it, because programs will freeze when they access it when otherwise they wouldn't. Once they finish, though, the data will be on the device.
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 Whoops, silly middle mouse button...
Establish and fully fund a gaming house to create truly fabulous games that only run in native Linux (on both PCs and reformatted consoles). Hire the best in business (as Kane hired the entire staff of his rival newspaper). Establish full ride CS/Gaming scholarship competitions at the High School and Junior High School levels. Honestly, with the exception of timid, hide-bound corporations, the only thing keeping Windows relevant now -is- the gaming platform. Yes, massive company installs of Office and Exchange matter in the short term. But even the most corpulent, clueless institutions must have a constant influx of new, young employees. If those young ones have a platform (Linux) that finally satisfies all their personal computing needs (read: games), then those that rise up through the company ranks will make sure the MS dominance slowly withers away. I think this is what makes Ballmer wake up screaming in a cold sweat - and why MS is willing to loose so much money on the Xbox 360 and even do the right thing regarding the red ring of death.
History has proved time and time again that when ever a "Central Committee" tries to interfear with a spontaneous order, the result is always bad.
Those who sit at ease making "bright idea" suggestions on how the kernel development process should be improved are really those who in their minds promote themselves to be members of a controlling "central committee".
The kernel development process can not be improved by those who sit.
The real way to improve the process is to git (pun intended) involved. Make a patch suggestion! Or if you are a rebel try to fork the process! Do something!
Chair warmers will accomplish nothing.
Agree with suggestions #1(wireless failures) and #2(sound conflicts)
I would add that printing still does not work seamlessly.
CUPS is (sometimes) a disaster that should be replaced by something simple and efficient.
There are great gaping holes in documentation for gnome and kde tools and UI. There are places where videos might help, but who would want to provide them, especially for free?
Contribute to civilization: ari.aynrand.org/donate
What all linux distros miss is a mechanism that allows to install software as a user. and by that I don't mean system wide but in your home directory or in a group wide directory. as any software that doesn'T need to run as root can be compiled and installed in $HOME anyways the package management should support that. Of course I don't want a mini distro to be used in your home directory but instead packages that can be installed both sysem wide or in your home directory with intelligent dependency resolving. While it is a little tricky to automatically remove a users own package once it appears as a sysem wide directory, or reinstall it once the system wide version disappears, I think it is doable.
Plenty disagree, but just as many agree. The UNIX file system organization that splits a single app across multiple different places (/bin, /usr, /etc) is unintuitive and needs to go away. Moreover, how each app is organized is not necessary the same as every other. Plenty of people learn how things are organized, but having to memorize these arbitrary things increases the cognitive load for experts and makes it harder to learn for novices. Just starting by putting each app in its own self-contained directory under /Programs or /Applications like GoboLinux or MacOS would be a good start in cleaning up this horrible mess. Just think: If we did this, these unreliable application managers like Adept would no longer be needed!
as a linux noob I found that installing programs that were not listed in the default repositories to be very difficult. I think an MSI type installer would be extremely useful. I was so happy to discover autopackage and I would LOVE to see it more widely used for non-repo apps.
The other thing that I think needs improvement is WINE and game compatibility. Lets face it, commercial games are not being developed for linux. we need a way to make them work as well as they do on windows so that "linux has no good games" can no longer be used as an excuse not to switch. we should be able to reply "linux runs almost all the games that windows does"
Do NOT follow any of the guide lines here, just don't care, I don't. Do what you like and do it as you like. Keep programming as a Joy, solve problems that itches you, we don't need guidelines to what to do, we do what we love. Its open source people, you have the code, change it if you want to what you want.
I have a network that can't touch the Internet. So it takes for ever to install software because I have to track down all dependencies. If a program needs a dependency it should tell me what it is and where to get it. I shouldn't have to search all over rpmfind or other search engines to install one piece of software. Don't even get me started on updating the OS. Someone needs to package it all together and make it a simple download or have something similar to WSUS. Red Hat has one, but the offline version costs a ton.
10 LET M$ = "Microsoft": REM Slashdot limits the length of a comment's subject
Here's my pick, and I'm sure there are a few others:SIMPLE hardware compatibility
I want to plug my mobile phone in (without having to figure out multisync) What is the text of the letter that you have written to your mobile phone manufacturer and network operator, and what is the text of the response? I want to plug in my webcam What is the text of the letter that you have written to your webcam manufacturer, and what is the text of the response? I want to use ANY video card without having to look up some compatibility list
What is the text of the letter that you have written to your video card manufacturer, and what is the text of the response?
The point is that these issues are often out of the control of the maintainers of any Linux distribution. If a hardware manufacturer won't play ball with anyone but Microsoft, what do you suggest doing?
Seamless InteoperabilityOpen and share documents Please be more specific: What documents? Share in what way? Avialability Of Core Apps
Photoshop (sorry, gimp doens't cut it yet) Please be more specific: What does Photoshop Elements do that GIMPshop does not? Or which set of users are you thinking of who needs those features that are in Photoshop but not in Photoshop Elements? Games Please be more specific: Doesn't a typical distribution of GNU/Linux come with several games?
It took me forever just to figure out that most of the commonly mentioned problems weren't my problems and that an arcane .asoundrc setup comprising dmix, dsnoop and rate conversion plugins ("slaves"?) was the answer to getting playback and capture working - and I'm still puzzled with regard to the roughly 10 devices I find listed in the Audacity preferences, none of which really work, or as to why upstanding applications like Kaffeine or Amarok work better when told to use OSS (emulation) instead of ALSA proper...
Finally I decided to buy a modern, super-supported "real" soundcard - and while it played sound just fine, I couldn't get it to record anything at all. Back to store.
I don't want to blame the developers; they probably don't get a lot of support from the manufacturers. I'm no Linux expert (obviously) so if my time weren't worthless and if I didn't basically enjoy Linux I might've given up; the amount of terminology to sort through before you know what anything's actually good for is staggering (LADSPA JACK ALSA OSS Portaudio GST ESD aRts...) It's working now, but I hope I won't have to do this again on another computer any time soon.
(Sound in Doom 3 horribly broken but who cares)
A competitor to Exchange. A good email client that works with it flawelessly and has all the abilities of Outlook.
CRM software integrated into that.
A single-authenication package that is ready to go. Like AD. This means making all current software use Kerberos flawelessly and fixing all the outstanding issues with LDAP lookups (caching, offline support, etc).
GUI coherence and ease of configuration are the list toppers.
Most alpha geeks already get it, and know about the pink elephant in the room: Mac OS X is the fabled the "BSD Desktop Platform" for those reasons alone.
<flamebait>
Until there are "Linux Human Interface Guidelines" (LHIG) handed down from a working group, wielding Nazi-like powers across all distros (be they powers of rating, or powers of recommendation)*, Linux will be where it is today: running in Parallels on Macs, performing tirelessly in the basements of corporate datacenters, or hosting websites run by ISVs and ISPs (and even that is being threatened by IIS in the current trends at Netcraft).
Next year, or the year after that, in perpetuity; none of them the "year of the Linux deskop." Each year will deliver more powerful, feature-rich, iterations of Mac OS X sporting a visually coherent interface that "just works."
* Rating: 0-5 stars for adherence to the "LHIG"; or "Recommended for general use, by your mother." Shame the creators of the software to follow the guidelines and end the renegade engineering mindset that "an engineer can design an interface." They can't. Look at how Java engineers fucked up the view (in MVC) in JSF by appropriating DOM and HTML attributes for their component backend.
</flamebait>
Next? I'd like a system where audio and video never glitch, and the GUI is always responsive, and the applications that I use are available for the system, and hardware designed for use with the system is easily available.
Linux is ready. The problem is AMD (formerly ATI) doesn't want to deal with this. They (AMD) could choose two different paths to Linux success (either opening the documentation to let Linux developers create the drivers, or create the drivers themselves). Instead, they choose to go with an OS in which an older version is now considered an upgrade. What can you do? Don't buy AMD/ATI components that don't have Linux support or open documentation.
now we need to go OSS in diesel cars
My main desire is more robust ACPI/APM support. My servers motherboard just got CPU frequency scaling support in the latest FC6 kernel update and it's buggy at best (it's over a year old). Furthermore it still isn't recognized by ACPI without forcing. Power savings are a big selling point to data centers (The current main Linux market) and to laptop users (the target consumer if it wants to move into common use). How amazing would it be to say my laptop can run open office for 6 hours on under linux but the same machine can only run MS office for 4?
Mart!n Smith-Martinez http://www.msmithma.name
Get me my popular Xbox games on PlayStation 3, and I'll switch in a hearbeat.
What's the difference?
I think the key isn't so much to pick an UI... The real power would be to make the UI not matter. For example, the NetworkManager part of Gnome. It is far from perfect, but these guys got one thing definitely right. They put work on something that is potentially a godsend for GUI users. Yet they took the care to separate the UI side from the working side. So if someone wants NetworkManager in KDE, all they need is a KDE front-end to it.
I *think* gstreamer might have had a similar idea, but I haven't looked into that much yet.
Basically, my take is that the trend shouldn't be to enforce a GUI standard. It should be to re-establish the culture of separation between the app and its GUI. My message to devs: If you really think your app will be useful, try to make it useful to people regardless of their GUI preference. Heck, even people who use CLI should be able to interface with it.
A GUI should always be considered a 'plugin'. Nothing wrong with writing a default one, but I'd definitely give bonus points to someone who makes sure their app isn't tied to the GUI environment outside of their interface plugin.
Linux is about choice, as a user, I want that choice offered to me. As a dev, I would want to give that choice. Forking isn't all bad, but why fork a whole app just because of UI issues?
Heck, defining this standard properly, I bet you could get both KDE and Gnome to agree on it. Wouldn't be easy for sure, but definitely possible. If both KDE and Gnome agreed that for your app to be compliant to their standards, it has to also be compliant to this app dissociated from UI standard. Everybody wins. KDE apps are one front-end away from seamlessly integrating into Gnome or whatever other environment also complies to this new standard.
Mind the frickin' laser...
At the moment, most of the people who run a particular piece of software are using a stable distribution, and therefore are usually running something 3-9 months old. This has the following problems:
- The majority of potential bug-reporters aren't running the latest release. Bug reports are less useful.
- When you do report a bug, and it gets fixed upstream, you still don't get to enjoy the fix until the next distro cycle.
- The release-test-fix-use-release cycle is much longer than it would otherwise be, and a lot of talent is wasted.
- Most users have to live with most bugs for 6 months.
What I'd like to see is every package being built at least weekly from CVS by the distro. Then, the user can optionally install certain specific apps at will from this "testing" repository, without having to update his entire install to unstable. Now, the cycle runs:
User sees bug; user installs latest binary, and quickly verifies bug still present; user reports bug; developer fixes bug; user gets latest build. (all in less than a week, rather than 6 months).
I know it's possible to do all this by hand, but why not automate it? Most users will happily spend 10 minutes on a bug-report, but not 2 hours. [Ubuntu's "prevu" does help a bit here, but it's still not automatic enough.]
Linux is very mature on the programming side. Linux has the basic set of programs available to make a minimally useful computer. Now resources should be allocate to educating the consumer about it. Moreover, a strong push is need to woo OEM into partnership to get Linux pre-install on computers. Furthermore, overtures should also be made to get developers on board as well. Windows is not the be all and end all of desktop computing. Linux should be bankable in some niches. Gain a foothold and start building a base from there.
You don't have to be smart to use a Mac, you just have to be smart enough to buy one
This is a big problem with many apps and toolkits I've seen. How many file save dialogs have you seen which allow you to set permissions and the group? I can't recall seeing any. It's like they were made for a system which doesn't have file permissions. This needs to change.
Well, it is fast (main complain about microkernels), stable and able to run on some computers now. It seem to not have any problem but lack of coders (and no, I'm not helping).
It is also the most viable general use microkernel implementation out there. Microkernels may have no imediate gain, but long term they seem to be much more easier to expand.
Of course, with later Linux developments, we may have a moot point since they are moving most things to the user space already... Linux too can become the first general use microkernel.
Rethinking email
One piece (collection) of software Linux really isn't competing with is Microsoft's Active Directory. I, unfortunately, do Windows IT work and while at times it is incredibly frustrating I have to admit that Active Directory is decent and that it really is way ahead of its Open Source counterparts in terms of ease of use, consistent UI, and software integration. Also, things like Group Policy that allow you to make setting changes or software installations on all the computers you are responsible for really simplifies things.
Sure, you can do these things with open-source software by, say, using OpenLDAP, sending commands via SSH and setting up your own Repositories but it certainly isn't as easy or intuitive as Active Directory.
If Linux had a free directory service that easily supported Windows, Linux. and OSX I think that would be a major step forward for Linux/Open Source in small-medium sized business and cross-platform support would be a bridge to seeing Linux on the business desktop.
A few things which need to be fixed:
1)Kcontrol should be scriptable. There's no easy way to apply KDE settings from the CLI. (unlike gconf). An easy way would be to implement DCOP for every item in Kcontrol. Motivation: it often takes me longer to set up KDE as I like/recommend it than to do the rest of the install; copying ~/.kde across is not appropriate for a machine which will be used by someone else.
2)KDE and spaces in filenames should be (optionally) transparently converted to/from underscores. Spaces look much prettier on the desktop, but are a real nuisance at the shell. [For example, xmms does this with playlists]
3)KDE - traskbar - drag to re-arrange the applications. (gnome now does this; a patch was submitted years ago, but has never been merged).
4)Ubuntu is great, but it would be wonderful to have an easy way to turn on the "geek" options. For example:
* The boot screen - would be much better if it were verbose, in the same way as gentoo or knoppix. These are both outstanding - and visually attractive. Ubuntu (with splash=verbose, or splash=none) however remains monochrome, will not accept vga=794, and is actually too verbose (so much trivial information, no easy way to see what services are starting).
* Switching back to emacs/bash keybindings. (Ctrl-A = go to start of line, not "select all", etc)
* Ubuntu doesn't ship all of PHP (eg php5-gmp is not compiled).
5)Fonts. I'm in the sizeable minority here, but I *hate* antialiasing - I much prefer sharply defined fonts to blurry ones. However, this requires properly hinted fonts, which means the MS corefonts, particularly Tahoma. Can we please have some free (not just gratis) fonts that are well-hinted for non-antialiasing?
6)Firefox is a dreadful memory hog! My new machine is a 64-bit system - the major advantage is to allow Fx to address > 4GB of swap.
[I've already reported bugs on these, but they aren't getting any attention.]
It is good from a performance standpoint to put drawing functions into the kernel. That is why they made DRI. But actual GUI functions would just be a mess. Toolkits and such work fine in userland. My wish would be if they integrated graphics into the virtual terminal switching so one could easily have multiple graphical apps beyond running them on a X server.
Figuring out how to make a framebuffer app not screw up when the virtual console was switched really really sucked. Maybe things have improved since I tried last, but I don't think so. I don't think my proprietary driver NVidia card even supports the framebuffer at all anyway. This is why I just use X all the time. Most apps are written for it anyway. Oh well.
Wish I could mod you up, but instead I'll comment: yeah!
Give me a stable API (and ABI) that I can rely on. I don't care which implementation is underneath, but having multiple APIs for windowing systems is really a pointless waste of time at this point.
Full DirectX support. Yeah, yeah, I know. The whole Microsoft thing. But it'd be cool to have.
I looked through the comments and sliced and diced the data... And I think the most essential point was being missed.
How would you refocus Linux? Refocus Linux to what people would pay for. I am not kidding in this. An individual told me that Open Source is nice and great, but what is really nice and great is developing something that you can make money at. Having people part with their money means something and thus until your software is able to do that it is not worth anything.
So I think my answer would be to your question, "Refocus one of the BSD's to something that people would be willing to pay for." Who knows what that might be. I would not even refocus Linux, but would focus on PCBSD, or one of the other BSD's. Less hassle and pains from a crowd perspective. The Linux crowd has reached a critical mass of mess where I fear nothing is going to get going further...
Think of it as follows. If you truly had the money focus on a BSD and talk to companies and say, "Hey here is a new market and you can keep your drivers binary. And guess what I have X $$$ to focus on marketing this software."
"You can't make a race horse of a pig"
"No," said Samuel, "but you can make very fast pig"
Sounds like XML and the myriad of libraries that support it. The problem with XML (ignoring the buzz inspired bias against it) is for any given application, a custom configuration file format would be much less verbose. As far as "one-size-fits-all" goes, I can't think of any
The only things I use Windows for is MathCad and AutoCad (both required by my school)... Now I guess AutoCad is too big, and probably impossible... But Linux already has CAS systems like Maxima, even commercial ones... But a free (as in freedom) CAS system with a GUI, that would run on both Linux and Windows... Would without doubt replace MathCad, both on my school and my computer, very fast. Now I know we've got different frontends to Maxima, putting LaTeX ontop of it, but none of them are usable for non-geeks, like my mates.
I've always been able to resize Windows partitions with no problems, but I use commandline tools like ntfsresize. Maybe the installer uses something else?
I do know that it does have to defragment a bit -- it does move files out of the way in order to shrink the partition.
Don't thank God, thank a doctor!
Right now audio and video on desktop computers is a war of competing proprietary standards. Microsoft, Flash, and a host of other proprietary companies compete based on their own proprietary standards. The game companies are forced to invent their own unique standards because none of the other standards run fast enough to guarentee good game performance. DRM has reared its ugly head in an effort to be the antithesis of open standards.
I think that we should put a concerted effort into creating good open standards for all audio and video applications. Then we should build the infrastructure, shared libraries, programming aids, etc. necessary to support audio and video applications. Then we should write good application programs for the entire range of audio and video applications. And throughout the development cycle we should emphasize performance so that games can run using open standards instead of having to roll their own.
This amount of structured development is too much for the typical open source evolution approach. I doubt that a comprehensive system will evolve through the actions of open source developers acting independently. If somebody has the money to finance a large scale open source development effort then the audio and video areas are a good place to spend the money.
-----------------------
Steve Stites
Similar to .exe files, they would allow interoperability between Linux flavors.
Currently people need to install or compile to get stuff to run between Linux systems if not using Java.
God spoke to me.
I'd like to see a standard established for the system administrative interface. Of the two major commercial distributions for Linux being RedHat and SuSE, I'm not fond of the RedHat approach of a bunch of disparate tools called "system-config-splat". On the other hand, SuSE has been very consistent with their use of YaST across the versions, and provide a text mode interface for those situations where you have to network into a system to perform management. The RedHat "system-config-splat" tools require a GUI, and tunneling GUI over an ssh connection is slow. YaST is rich with plugins for managing virtually all aspects of a Linux system. RedHat and "system-config-splat" is lacking in that area. By making Linux easier to manage, then it will be adopted by more inexperienced shops. This will win over the Windows admins. And face it, when it comes time for OS selection, the IT Team has a lot of say over what gets installed on the systems.
You give an example of a text file, that's easy to understand, and is four lines long. You then suggest literally five times as much XML, just to describe what's a valid value in the text file?
Alright, first of all, "connectionsMax" doesn't need to be validated for anything other than being a number. The actual implementation may have a limitation like you suggest, but I don't really see a reason for it to, except maybe theoretical OS limitations like maximum number of threads running at a time. It seems you agree, because you suggest 0 as a min -- in config files, setting a max of 0 usually means "unlimited", because presumably this is a config file for something which needs at least one connection.
Limiting SSL to boolean, I can see. I can even see doing validation -- certain things, like visudo, already do validation on save, and other things, like Postfix, do validation right before a restart, so that Postfix will keep running with the old configuration if the new one is invalid. Most things can deal with invalid lines in their config files anyway.
I don't necessarily disagree with the features you want, the XML just seems superfluous to me. And your "export/import" works fine for those who like vi/emacs/nano/whatever -- just check out visudo, vipw, vigr, etc for an example of how it's done. But it doesn't work so well for a graphical editor, where people could have more than one file open at once, not want to close it just to save, etc.
Also, you do underestimate text files. There's plenty of room in there to throw a lot of comments (including your "short" and "long" examples), they're as "user friendly" as anything else if you can find them -- or maybe I just don't know any users who find it easier to click a checkbox than to type "true" -- and they are actually much easier to navigate (using a search) than a GUI representation of them would be, unless you did a lot more work on that GUI than your XML example.
In fact, it's only recently that GUI configurations became searchable, and it's still not very good, compared to what I can do with a text file.
The downside is, you don't always know which text file to edit, or how to get to it. Also, text files are slow, for anything more than simple configuration. But that's about it.
Don't thank God, thank a doctor!
Good interfaces are friendly to both technophobes and geeks.
Ubuntu is a winner because it treats newbie confusion as a reportable bug that needs fixing. That's its big win over Debian, who (love 'em as we do) treat newbie confusion as a cue to supply pointers to manuals.
But that's just a start. The way to get there is to always make your interfaces technophobe-friendly but with depths to reward the geek.
Examples: MacOS X. LiveJournal. Firefox.
Every part of the system needs to be considered (or reconsidered) in terms of being obvious as well as deeply right.
http://rocknerd.co.uk
Linux would benefit greatly from the integration of existing software. What I am thinking primarily of is SMTP. IMAP, groupware, and mail clients. These need to be tightly integrated into TWO applications similar to Outlook and Exchange. I realize there are applications out there that appear to be this, but they are really kludges of existing applications. Don't misunderstand; I like Postfix and Exim, along with the rest of the apps, and we use them now on the gateways. But I would merge all of the code and add a ton of features. One of the first features would be wireless handheld bidirectional integration. Since I'm not a developer, I can't say how this could be done. But is at the top of my wish list. We use Exchange right now, only because of the wireless handheld Blackberry integration and easy contact and calendar. So I am waiting for this to happen
There needs to be integration of a database and a RAD front end similar to Access. Access is the only reason we continue to use Microsoft Office. We could easily switch to Open Office except that our business relies heavily on Access. We could easily switch given the opportunity, because the backend to our Access application is Mysql. So I am waiting for this to happen also.
Wish lists can are rants in disguise. But you asked.
Sorry but it's true...
;-)
/mnt for partitions isn't intuitive; having to go "here" for the executable and "there" for the config file is pretty lame too. Oh, you want a config file - go check in /etc/, you wan't a networking config file, go to /etc/sysconfig/netwo.... - It's not THAT bad but it's not nearly as easy as it could be.
I've been using linux for 7 yrs now and after 5 yrs of hardcore use and then one yr of moderate use, I'm now finding myself also using Windows more often and here's why...
Programs!
I've had this theory that the porting of FOSS programs from Linux/Unix to windows will hurt Linux and those on the opposite side of the fence said "but wait, if we create the programs for Windows then that's good; when they switch to linux they will be able to use the same apps and feel at home." It's believable but it isn't factual. The truth is that linux changes too quickly and there are too many changes within distros.
The beauty of Windows - I need program A so I just go to the developer's site and download it - thanks to FOSS software. Try that with Linux - it can't be done; there are too many distros and versions out there for an rpm, deb, etc to get built even within a single distro.
Before you go out and tell me about apt, synaptic, etc - I'm aware. Each and every one of these tools relies on a developer to create the package and add it to the repo - this is another obstacle. Remember, in Windows - I go directly to the developer and take the package and install. In linux, I'm waiting and hoping that a developer will hear my plea to add the package to the repo before I can install it. Sure, I could build it myself BUT that's provided my distro doesn't do anything funky with file locations, versions, etc.
That's the number 1 reason I find myself in the Windows world these days. I'm tired of waiting to have them built and added and I'm tired of the warning that if I do it myself that I could "break" something. Just fire up WinXP and download/install to XP - now that my favorite Linux apps are available on XP
1) SOOO - my vote goes to the linux distros unify how their distros work so that developers can build packages.
other than that,
2) decent filesystem - looking in
3) get ACPI/APM to just work and stop forking around! There are so many tools out there and each with their own special niche - it's maddening. What does my distro do? Add them all and hope the user figures them out! Just maddening.
4) updating the look of programs - the old unix X-window styling is still around on many programs. XFig for 1 but it isn't alone; great program but being ignored due to the ugly interface. It would be nice if X took care of updating the interface.
In short, here's how I'd define linux progress "2 steps forward, 1 step back."
Unless we're talking about OO speed then it's "1 step forward, 2 steps back." Funny how the "individual" program Swriter takes longer to load than "Staroffice 5.2" which was this integrated desktop environment and deemed "bloatware" by the OO developers. They blew their horn and claimed that they were going to strip it down and speed it up - LMFAO - 6 yrs later and SO 5.2 wipes the floor with OO, in terms of speed. I'm praying that someone comes along and rewrites OO such that it performs only twice as slow as MS Word - as opposed to the 5-7x slowdown currently enjoyed.
I'm coming a little late to this discussion, and I'm afraid I'll be lost in all the "too many distros" and "my wifi card doesn't work" spam. But I do have a few ambitious ideas that no one else seems to have mentioned...
First, stop writing stuff in C.
Recently, I copied all of my important stuff onto another hard drive and then back, and lost most of it, due to a buffer overflow in cpio. I should have had backups, but then again, if I'd done backups the way I archived stuff there, I could have run into the same problem, where my backups would all be corrupt, and I wouldn't know it until I went to check.
So, my first project would be to figure out what language to use, and develop it to where it's production-ready, and supports enough low-level stuff that we can write most of the kernel in it. If no such language exists, I'd write a new one. So many languages are close -- lately I like Python, Perl6, and JavaScript -- but none of them are anywhere near being a complete win over C, even for applications. The best-looking ones are also entirely too weird -- Haskell, Erlang, and so on.
With the right language/environment, I wouldn't even be afraid of running everything in ring 0, except for legacy code. I realize why this is usually considered a bad idea, and I have a solution, but I'm trying to keep this post short...
This would involve completely rewriting the kernel eventually, but it wouldn't have to be done all at once.
Filesystems are another area of interest. I would rather get the "kernel rewrite" above at least started before tackling this one, though. Right now, the choices are: Write your FS in the kernel for speed, or write it in FUSE for flexibility. I'd rather just write it wherever (since kernel/userspace would have no meaning in the above "kernel"), and have it perform well and be able to do everything I want.
There are some good starts here -- both KDE and Gnome have a VFS layer in userspace. Apps use URLs to access everything -- files are in the "file:/" hierarchy, but there are others. For example, in KDE, I can type: "fish://user@host/some/where", and it will use SSH to access those files.
But the problem with these approaches is that they aren't supported by legacy apps. Sure, you can wrap them in FUSE, but then you take a large performance hit.
The other problem is that there's the GNOME VFS and the KDE VFS, and as far as I know, they don't cooperate. That's my rationale for doing it at the "kernel" layer -- every app would be forced to use one API, or have no access to the filesystem. You could still have competing implementations, but at least you don't have to worry about supporting one or the other in your app anymore.
The filesystem API itself is problematic, too. Right now, there's no reasonable way to do well-performing transactions, without practically implementing a filesystem on top of the filesystem. This is what both MySQL and PostgreSQL do, by the way -- they just throw everything together into one file, and implement their own journaling. You may have noticed that there are tons of filesystems for Linux, and they all suck -- this is one reason why. I don't believe write barriers are enough.
I know about ZFS. For some reason, whenever I mention these obvious problems with the POSIX filesystem API, people point to ZFS as if it magically solves all filesystem issues.
All ZFS demonstrates is that the Linux kernel's filesystem API is deficient, that the layers we've chosen simply will not work. Redundancy, multi-device support, multiple machines, bad block relocation, cryptography, compresson, indexing, and relationships are all things I think a "filesystem" should have to deal with. Right now, here are the solutions I know about:
- RAID will do redundancy locally. DRBD will do a very simple RAID-1 over several machines. They obviously don't share code, or DRBD would be able to do RAID-5, for example. And they operate at the block level -- good, because you can run any filesystem on them, but bad
Don't thank God, thank a doctor!
Someday Apple's lockin may very well go as far as M$'s. But people will still buy Apple machines on that day because, unlike Windoze, OSX actually works extremely well on its target market of machines and supports the features people want.
History shows that people will support a regime that takes away all their freedom but gives them what they otherwise want.
Disclaimer: I run OSX with a virtualized Linux machine for development.
I can apply this to windows too:
this is something that I have been saying for a long time. But as long as there are 20+ different versions of Windows (Vista versions, XP versions, 2003 versions etc)I have seen many examples of where Windows does not run as easily and as well on Windows infrastructures as Linux servers and Linux workstations in certain circumstances (such as poor I/O in Windows making the throughput rather horrendous compared to Linux running on the same hardware, effecting the use of high traffic services such as fileservers - including webservers, database software etc) and vice versa.Would be nice if XP SP2 ran on my 'corporate grade' laptop which was "designed for Windows XP" (according to the sticker) -- graphic card drivers do not work, sound card drivers do not work, internal wireless does not work (they did under SP1, but there have been no future driver updates).
I am sorry, I really don't see anything that holds water in your arguments.
Change is certain; progress is not obligatory.
Amarok uses lib-xine and gxine obviously does, so your example isn't valid.
The point is kind of. Mostly this a problem that distros caused and are the ones that have to solve it. Really having a couple of implementations isn't a problem. The whole MP3 issue was brought on by patent paranoia, everything was fine before.
This obviously requires some major supporting backend work, but an object oriented shell would be awesome. Microsoft's Powershell is possible because of the years they put into the .NET framework and even still their is some room to grow, but a true object oriented shell for Linux would be awesome.
- Eric
Respect the Constitution
From the same software suite as above, there is Karbon, I'm also aware that OpenOffice.org and StarOffice have vector art capabilities, but I haven't managed to look at that yet. There is also sodipodi.
Change is certain; progress is not obligatory.
Somehow I think that Darwin and OpenDarwin serve better as viable microkernel operating systems, since people actually use them and everything.
My favourite openSuSE rocks and almost has all the features and UI is cool... But I would like to invest heavy resource to develop cool 3D games that would make the platformers/console owners jealous
-> Better support for hardware, its better from where I have seen, but it could get even better
...
-> User interface, The current user interfaces heavily imitate existing ones. There should be more originality in the user interface, some innovative designs of doing simple things.
Also things like GNOME / KDE do not give a sense of a complete package, there is little something missing here and there. But we are getting there
Konqueror is a very good 'explorer', still there is no such thing as the simple 'Windows explorer'
-> Better package managers, even more abstracted installers as simple as double-click install
-> More Stability, I think thats the only reason why people opt for Unix
All said and done, kudos to all the linux devs for putting Linux as a viable alternative in the OS soup.
And then in a year or so they will "talk the talk" and eventually release some half-assed upgrade (fixing all those "Windows incompatibilities" in the original - as in windows-izing the APIs, retooling the standards to MS ones, etc.) and then later report due to "lack of interest" for the other platform versions drop all support for Non-Windows versions.
.Net (or some other new MS interoperability API) to it (and not to well they lost, fired or re-classified the original core programmers by now) and, futzing it so it only is cross-compatible with MS Access, Office 2007 or IE tags, etc.
Then the next release they will tout it as their innovation in technology, slap on a new sparkly logo, maybe a new name (or just add "Visual", "Vista", a "#" sign or some other McThing to the name).
Then as they release newer versions - the extend it by duct-taping
Lastly some other (non-MS) company will innovate in some other market that they don't have thier hand in and they will drop it like an old fish and start to leak FUD about it all over to encourage developers to switch to their "new" competitive technology.
Been there done that, got the big heavy boxes.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
Better laptop support. I've tried three different distributions on my new Pavillion Laptop, and not one has worked without massive tweaking and command line editing...not exactly a great incentive to switch.
.exe on windows)
Better wireless support...
actually you know what? Better hardware support all around. Make it as easy as Windows to set up. also a universal install file (like
The biggest problem I've had with various linux installs involves extra internal hard drives. After having my own troubles and starting to fix my own problem, I decided to write a tutorial on how set up fstab to help others:d .php?t=547302
http://www.linuxquestions.org/questions/showthrea
After several iterations, I was finally getting close to the solution, and then, BAM! fstab does not set all the permissions for extra drives! And even fstab is not documented fully. The project languishes now . . .
Users need to be able to install linux and it ask them how it should deal with extra hard drives. This info needs to be written to an annotated fstab and the info should also set permissions -- with all of this reviewable and configurable via a GUI utility later.
And even then, when one of my "extra" hard drives is mounted incorrectly or has an error, linux stops the bot and I *have to* deal with it at the command prompt. it is tooooo much!
Greg Conquest
First thing I thought about seeing that headline was Cinelerra. The CV-team is trying the impossible; starting Cinelerra3. Everybody is skeptic because it's an enormous project; but with time and developers it could go.
:-)
I really want it to succeed; (I'm using Final Cut now, have to use a mac) so that would be one project in need of resources.
This seems like a good question for a poll. If you really want to know how ./ users would refocus linux development, give us 10-15 options, and let us vote.
...it is the biggest weakness of Linux compared to Windows or OSX.
/?, -? or --? to get a brief help? Pick one, then remove all the other variations from every single CLI tool that gets distributed with the main distros.
Obviously this isn't the easiest to 'fix', as a lot of it is subjective but even so the competitors have done it, so Linux has to as well.
Some of this is simple things:
CLI tools should have simple memorable names that relate to their function and not some obscure geek humor. Then their parameters should be standardized, e.g. is it
CLI tools should be marginalized, there should not be a CLI tool without a fully functioning GUI equivalent, and in fact the GUI should be more powerful. You can add features to GUI's and keep them usable, but with CLI you end up with all the entire ascii set as valid parameter choices!
Remove duplication, there should only be 1 'architecture' for things like networking, printing, sound etc...
This applies to the tools too, if there are two tools that do roughly the same, then either merge them or pick the best.
Hardware, as forcing the manufactures for drivers isn't 'achievable', you need a complete HCL (that's targeted at the basics, i.e. the default view only lists hardware you can go and buy today).
A single base desktop would be great, as it would focus attention onto usability and documentation. Obviously it can then be ported/copied into the various desktop flavors.
I think a lot of what I'm trying to say is pointing to this:
Linux needs a drive to a state where there is one way of doing 90% what the user would ever want to do.
and one the best ways to do that is to remove choice, sometimes remove it completely, but most of the time move it to a config file.
----- I refuse to have an argument with an unarmed person
Linux and Windows are on the complete opposite ends of the Suggestion spectrum. Windows is a mother-in-law constantly yelling "do it that way! i can get it cheaper at Sam's. Someone's at the door." over your shoulder. Linux is 34 million unassembled apparati in one big pile and 34 million instruction manuals in another pile.
I know Linux is all about freedom and choice, but would it really go so much against its principles to make suggestions? Suggestions such as, "There are 38 FTP clients available on your system. Why not try this one?" or "There are 8 ways to install software. We recommend using yum."
The same story often happens... user wants to do something. user looks around. user finds program that supposedly does what he wants. user looks at manual. manual says what things do. user tries to use program. user becomes frustrated because program does not do what he wanted or expected. user is frustrated. user complains online. user is told to RTFM. user says FTFM
See, the user already tried reading TFM. Problem is, the settings out of the box don't do what he wants on the program, and the instructions, while technically correct, don't make any useful recommendations for what settings are commonly used and how someone might commonly tweak them. Further, there's another piece of software out there that would do the job much better. But how would he know? The software just came in one big pile, and he tried the first one that had a name vaguely related to what he needs to do.
I'm not saying it's a good idea to have a "Press 'Start' to Start" arrow pointing at a button labeled "Start," but a step or two in that direction, across the Linux world, could make a HUGE difference in usability by people who don't have a full-time-job of time to dedicate to making Linux work properly.
-- I prefer the term "karma escort."
Personally I would like to see a decent CAD application (or even better .dwg compatible BIM app like Revit).
If you use CAD software you are more or less stuck with windows & autodesk.
It would be fantastic to get an open office type app for CAD work.
Linux needs to be able to dislodge Microsoft Office in order to become a viable option for large-scale replacement of Windows in the corporate environment. Open Office can handle most of the document creation work and Firefox/Thunderbird do a great job at handling web browsing and email.
What is needed now is something that can integrate with an Exchange server's calendaring and also integrate with a robust open-source calendering server system to replace Outlook's calendaring functionality with an open, standards based system. We need to embrace and extend Outlook.
set softtabstop=4 shiftwidth=4 expandtab nocp worlddomination
Now that the two main GUI camps have had time to play and find out what works and what does not I think that it is time for KDE and Gnome unification. I know that this would be almost impossible politically but think of the advantages. For one, you would have a unified look and feel for your applications and everyone would target a single environment for development. I want to get around to writing applications for Linux but this front end issue is so pathetic that I am holding off until there is a single target to write for. I know what some of you are going to say - just pick either KDE or Gnome to write for and ignore the other. NO, I refuse to do so on principle - there should be one GUI! I wonder how many people feel the same way?
Both the KDE and Gnome camps should get together and work out what should be specified in the new GUI. After doing this they should then construct the GUI and release it as the new way of doing things. Personally I think that the way to go would be to leverage the CRL (yes I know its a microsoft thing but the Mono project is coming in leaps and bounds in this area). Even if this is impossible to organise at least let them thrash out a common look for their two environments in the interim.
The lack of a uniform look and feel is one of the greatest problems we face in general acceptance of the Linux desktop (along with easy installation of course) and so I think that throwing some money in this direction would help things enormously.
Oh, and don't get me started on the X Windows side of things...
Last time I checked, for example, Microsoft Excel still did cut-and-paste totally differently from every other Windows application.
I want to be able to connect my laptop to a frigging docking station.
I want to use my desktop keyboard mouse, printer, E-net, monitor, etc...
oh and I want an end to having to hack around with NDISWrapper, native support please...:)
--meh--
This might help...
http://www.gobolinux.org/
at least with your first issue.
--meh--
...Oh yeah: SECURITY!!! Make it the most secure platform available and over time it will become the dominant Business platform. Start by making the kernel impervious to root kits. I know, nothing is ever totally secure. But that is precisely the complacency we need to overcome. Why not totally secure? Not as an absolute reality, but as a goal we aggressively pursue. If the white hat community and the open source communities combined their efforts and pursued a totally secure kernel with the energy that the blackhat community pursued hacking the kernel, one suspects we could at least stay a step ahead of them. The problem is we tend to be reactive...always defending instead of preventing.
My paroles to the FOSS developers:
1.) Get all those FOSS developers, who develop a "normal user program" like let's say for KDE or GNOME, to understand that they have to have to write a program with the needs of average users in mind. That means, every non geek or non authistic human has to use the software without any fear but with ease.
1a) Drop the RTFM attitude and learn how to design UI's that need no documentation. If they want non autistics to use Linux they have to accept that these "normal users" set the rules of the user interaction. Discover, that creating software that is usable without pain for everyone is hard, it needs smart developers, it needs geeks.
1b) Drop the "a foolproof system will only be used by fools" attitude. I know a bunch of VERY smart people who simply turn their back on linux. A comparison that might help is the following: I know nothing about electronics, circuits etc. When I want to play a Audio CD with my HiFi, I absolute don't care which microelectronic is working in the background, I have a play button, a track selection button an that's all I need. I don't care a shit about what's happening behind. Normal users don't care about the point-to-point-protocol and they shouldn't.
2.) Get away of the concept that more features will improve a software. Like explained in 1.) this is the geek, power user perspective, not the standard user perspective. The standard user only uses a very small fraction of let's say kmail. He/She doesn't need the rest, and hence he/she shouldn't see any disturbing buttons, menus, popup's, etc. Cut down the functionality to basic features and make those main functionality easy and obvious to use.
3.) Develop software that doesn't ask useless questions or shows useless information to standard user: "application Foo couldn't open directory because it couldn't access MIME Service Bar". It's of zero use to a normal user, never ever display such thing. Either the software can fix the situation itself or it should simply say that it's not working.
4.) When configuration is necessary ( for example access to the net ) only ask the user questions that he/she is capable to answer: "Should the ppoep module be loaded into kernel?" is a question that 100% of normal user won't be able to answer. "Enter the username and password for your internet connection" is something that the majority will be able to answer.
4a.) Ask the user a minimum of questions: When it's technically possible that an installation routine can find out that it is installing linux on let's say a Dell Inspiron 8000, then the routine should lookup a config list, find the Dell, crosscheck with the EEPROM's and automatically setup for this laptop.
5.) Stop stupid things like in Fedora 6: You can install xmms or some other player, but there won't be any sound of an mp3 file because the MP3 decoding module won't be installed. It's not even included in the distro for licensing reasons. SO WHAT'S THE POINT OF INSTALLING AN MP3 SOFTWARE?
6.) Stop acting like you're alone on this planet, creating the 7th audio layer for Linux won't help anyone. I installed grip on the Fedora 6 box of my father. I can rip, encode, but I can't test play any track to check what I wanna rip, grip plays but no sound comes out. THIS IS RIDICULOUS!!!
7.) Remove any trace of ASCII, delete it out of the history books, and hang the enventor(s) in some dark cellar. Remove the char type out of the GCC parser! Unicode is the most wide spread real alternative and should be used throughout. I don't ever wanna see some "?$" letters instead of a ä or Ü.
8.) Stop that stupid "I have to configure the keyboard for the console and a 2nd time for X".
9.) Remove X. X had many years time and didn't get anywhere on the desktop. The 17.000 extension to the protocol won't change that. NO DESKTOP USER NEEDS NETWORK TRANSPARACY. In the graphic sector create something like directX. Write perfect, super fast drivers for all video cards, support ALL hardware features.
Linux desperately needs some sort of review process for projects, products, etc that is for the end users, not the developers.
There are way too many beta projects that are either stalled out or superfluous. Way too many application choices with almost no information to know whether the available apps are any good. I'd love to see something like downloads.com that concentrates on Linux, with user reviews and ratings, that isn't just fanbois or hopelessly out of date.
It happens so often on Slashdot where someone says, "gee, I wish there was something like this.", followed by replies that say "duh, ur stupid, use X.", "ura troll, Y has been out in beta for 6 months.". You can search for projects, and SF is fine for what it does, but it doesn't attempt to review or rate anything.
I'm not in favor of some licensing body, I just want to be able to see the choices and read a review.
http://www.linux-foundation.org/en/Specifications
The next version of LSB is supposed to define much more desktop functionality, and even an installation interface (hopefully this would include package names as well). I wouldn't say that LSB has to take everything (or even most things) from all major distros. The distros seem happy these days to adhere to LSB as long as it defines a core functionality that does not overreach or grow too fast.
But while distros are adhering to the LSB standard, application developers and users are oblivious to the standard. It is not being marketed to them, though it should be. Instead they keep talking of this imaginary "Linux" OS when they should be referring to "LSB".
The 6 mo. distro cycle is indeed destructive as you say. Even with Ubuntu which settles on an LTS version every couple years, the intermediary versions end up pulling the tech-savvy power users away from the non-techies still plodding away with LTS; this diminishes the former group's ability to assist the latter group. Either that, or the Joe Users end up constantly harrangued by the techies to keep upgrading their OS.
The hottest new doodads are very nice to have around... IF they are merely add-ons. In OS X I can replace my samba with the very latest version, but the fact that all new OS X 10.4 installs start off with the same basic version of samba is extremely important to platform stability. Eventually, Apple will incorporate the major new samba release into a future OS X upgrade.
The anarchy you speak of is a grave concern. The trick will be to convince a large enough group of people that LSB-compliant stuff is the defacto starting point... the thing you reach for and work on before you try anything else. We will also need to be tolerant of elite techies who want to do things their own way, as long as they do not advertise their wares as LSB. Think of it as 'standards etiquette': Everyone has freedom to do whatever except where it comes to false claims. People just need to be made aware of LSB and learn to ask for it in their OS and apps (i.e. when writing letters to Adobe) in order for that dynamic to take effect.
That being said yum is fixing issues that need to be fixed at at a much higher level... Most of the applications need to be ditching the dependencies.... The pieces and parts that are needed to get a program running are a nightmare..
If you need software that isn't covered in your repo , the installs get really ugly really fast, after a couple dozen oddball packages try and fight out a dependency war, you finally cave in and remove some programs, installing them on another box, (or a chroot jail).
Anyway, applications need to be well defined, where they aren't installing jack in the rest of the system.. Where the libraries they need, don't mingle with the rest of the system libraries. Where all the dependencies can be removed without harming any other app on the system..
What I'm proposing has space issues, no doubt, and some memory overhead. If we are to go forward in a meaningful way, we need to smash the complexity of the multi tentacled applications, down to the system calls and the display calls.. where the removal of the application is as simple as rm -rf ./apps/myCruftyInstall and then removing the shortcut from the desktop.
Storm
That's the problem, right there. As long as developers continue to view each application, each kernel or kernel area, each driver, each service, as its own little kingdom, then Linux will fall short of its potential. I believe the real gains will only occur when people consider the system as a whole.
Disclaimer time: I've never run Linux myself; what I know is from a few glimpses of friends' desktops, and reading an awful lot on this site and many others. But I hope I'm not entirely ignorant about it.
Many years ago, I ran an Atari STE, and later an Atari Falcon. It became a surprisingly powerful system: pre-emptive multitasking, standard web browsers and email clients, a task bar and start button, Unix shells, gcc, perl, etc. It did most things I wanted -- many of them very well indeed. However (which is why I bring up all this history) that came at a price: discovering, installing, configuring, and updating all the many apps and utilities which were needed, and getting them all working properly together, took a lot of my time and effort. Time not spent actually using it to do things!
When I switched to (the newly-released) Mac OS X, it was as if a great weight was lifted from my shoulders. Here was another powerful system that worked really well, but which didn't need an input of time and effort to make it so! The Mac's motto 'It Just Works' is pretty close to the truth: I spend very little time searching for apps, utilities, or drivers, persuading bits of the system to work properly, upgrading, recovering after crashes, or any of the other ways I wasted time on my Ataris or still do on my work PC. And that's not due to any single feature, application, or utility: it's in the way everything works together. The whole system has been designed to get out of my way and let me do my work with as little interruption as possible, right from the moment I first turned it on. And from all I've heard about Linux, it sounds like that's where it could benefit most. Is that a valid impression?
Ceterum censeo subscriptionem esse delendam.
1. BitTorrent that works as well as Windows. I had a devil of a time messing with port forwarding and all that and still couldn't get more than a few KB/s speed. UPnP on Windows makes this a snap.
2. DVD viewing program with deinterlacing that's as good as PowerDVD's, for watching TV shows without all those horiztonal scan lines during motion.
3. Desktop Effects in Ubuntu locked up my dad's computer when I turned it on. He has a modern Dell system too. Pressing the shutdown button in Ubuntu locked up X for me one time. Just general polish stuff like that would be nice.
Though you can't play Super Mario on a PlayStation, games for one platform do have counterparts on another. For example, if you like GameCube-exclusive platformers but you have a PS2, there exist substitutes: Crash, Jak, Ratchet and Clank, Sly Cooper, etc. Likewise, if you like Zelda, PS2 has two Dark Cloud games. Which genre for Windows did you find lacking on Linux?
But if you want a specific title for Xbox 360, buy an Xbox 360 console. Likewise, if you want a specific title for Windows, buy or build a Windows console. Even PCs running Windows 9x, Windows XP, and Windows Vista are almost as different as the PlayStation, PlayStation 2, and PlayStation 3 consoles.
What do the *users* want (hint - its not to be reading through USB driver help sites wondering why the printer doesn't work). I know what they don't want: Windows Genuine Advantage false alarms.Anyway, your posts are full of words and hyperbole, but I'll try your test if I can actually get it for linux. I'm not going to pay for it though, and it appears to be free for .gov use only?
Nothing is stopping anyone producing a proprietary graphics layer for Linux like Aqua. All that is required is the will and the cash, and at the moment neither appear to be in ready supply.
Which is a shame, because I'm sure there are many talented coders out there that could make something a hundred times better than crappy old X11.
By summer it was all gone...now shesmovedon. --
It just forbids people taking the OS, sticking a GUI/DRM/etc on it, and selling it back to you.
Excepting DRM, isn't that exactly what Red Hat does?
By summer it was all gone...now shesmovedon. --
Hmmm, I'm very interested in seeing the results of this. Does this run on OS X as well? Oh, and hi APK. lol
1. Better hardware support especially for wlan and 3D graphic and with "better support" i don't mean proprietary drivers but free drivers or at least specs.
2. Free Java (IceTea) has to become ready to use and default on every GNU/Linux distribution
3. Free Flash (gnash, swfdec) have to improve and become default in all GNU/Linux distribution or even better part of the browsers.
Support Free Software! Join FSFE's Fellowship: http://fellowship.fsfe.org
Linus has admitted he doesn't look ahead far, this harms the quality of the software as future planning can reduce the need for rewrites and restricted implementations.
While Linus and others don't like microkernels, there needs to be a better way of adding additional drivers without recompiling.
How about simply adding one or more ratings to each distro, with each intended to add some incentive to those who want a higher particular rating. This is a way of encouraging and crediting the huge and diverse number of Linux distros, while also rewarding those aimed at the average/typical user.
For example:
- a "Hardware detection and installation" rating. The more hardware recognized, the higher the rating. The more hardware properly configured, the higher the rating. The more hardware optimally configured, the higher the rating. This could be a three-part rating.
- a rating for "most adherence to usability standards". Define the standards that should be met, and then rate each distro on this. This would be useful for corporations looking to adopt Linux, or for old farts like myself who don't want to relearn/tolerate non-standard interfaces.
- a "leanest distro" rating. This would need some good minimum conditions -- e.g. OS must be able to surf the web, or OS must come with email, browser, and office suite. Or it could be even more detailed, rating each application on its own scale and then giving a cumulative rating.
- a "most complete" distro. I would think something like Debian would score well here.
- a "most GUI oriented". An OS would lose points for things that could be only done by editing INI files, for example.
- a "more forward looking" rating. Alternatives to Gnome or KDE, for example, would score higher on this scale.
- a portability rating. How much of the core OS and how many of the included applications can be run on other Linux distros. I have no idea if this is at all valuable, but it is all about rewarding things that have some utility and thus encouraging more distro developers to do good things with their distros.
- a gamer rating. Reward distros that come with the most games pre-installed. Or those with the best combination of minimal OS on one image with best add-on games-only image.
- Rating security-focused distros would be valuable. Have different criteria -- leanest, more secure, most complete, most updated, most documented.
- a best-for-newbies rating would be a natural. Again, criteria would be key.
Summing up: Linux users have the most choice, and too much choice. Ratings help users choose what is best for them. "I want a newbie-friendly, lean, gamer distro" might merge the ratings from those three categories to give best overall scores and best scores in each category. User could then choose to rank by sub-rating, etc.We've reached the "nothing new under the sun" computing age. It will be all about packaging from now on. In the commercial world that translates to "best marketing wins". In the FOSS world it translates to "best fit wins".
Who has time to read 400 (or whatever it is) distro descriptions? Can any one of those 400 paragraphs possibly do justice to that distro? Will we ever stop arguing about which one is better?
If we objectively and usefully rate distros, we can move on to choosing and using them.
I come here for the love
Other than a higher priority on not breaking existing systems with kernel upgrades, I'm pretty happy with the way it works now. People have an option to delay upgrades if new features are not needed, but new security issues need to be addressed, and removal of drivers and kernel options prevents booting the new kernel for testing without breaking booting of the old kernel. Not in every case, obviously.