LinuxForReal
This post assumes that linux has 4 major weak areas, and I will be imagining myself as a military commander who was in control somewhat of an arbitrary amount of resources that I could throw in strategic spots to secure a foothold in the market.

(in order of importance) *Software *Drivers *Codecs *Installing programs

Software

This is the leading issue with linux... it includes entertainment software, productive software, game software

The reason why this is even a problem is because of proprietary microsoft API's.. namely : Visual basic, and directx. If it were not for these, programs would probably be written with free portable languages so that porting software would be a simple process. Therefore I name microsoft proprietary API's as linux's worst enemy

How to solve:

you can either wait for more users, which might entice developers....

or you can encourage developers to use free open API's . For example... the open free alternative to DirectX is opengl and SDL. Now I don't think

throwing manpower/resources at opengl will make it go any faster since it relies on a committee before making any changes. But [URL=http://www.libsdl.org/faq.php?action=listentries&category=1]SDL[/URL] 2.0 is coming...

[QUOTE]2.0 will be a full redesign of the SDL functionality, based on what we've learned over the past four years. The architecture design is partially done, and we'll start prototyping the design soon. As soon as there's a working framework, we'll make it publicly available for comment and contributions. This new framework has about a year or so before we anticipate it being ready for stable release.[/QUOTE]

this same logic can be applied to Visual basic. FOr instance... what is the typical language a developer chooses if they don't use VB? Maybe java or python? The program vb2py aids in translating existing Visual Basic projects into Python. Then perhaps send resources to eclipse to help its development? The option is either to improve the API so they will want to use it, or advertise it more (maybe books? ).

Improve wine and allow linux to emulate more programs with less errors.

let the alternative programs naturaly evolve to achieve a state of equivalent functionality (for instance gaim is getting better and better) . A strategy in this area would be to figure out exactly which program would bring the most users. Games don't fit here... so what you have are regular user apps and productive apps. The most imporant app is probably Openoffice, and as it progresses, linux will make inroads in the corporate market.

Drivers

This mainly includes peripheral devices... but it also includes for instance graphics cards (ATI, and wifi cards(broadcom) etc....

The goal is to somehow improve driver support. The only way i can see is by getting more users, forcing the companies to support their product on linux.

A database showcasing what peripherals are supported, and which don't work would be nice for the New user, and should be linked to on every distribution site.

Relevant links : [url]http://tuxmobil.org/pda_linux.html[/url]

[url]http://www.linuxprinting.org/[/url] [url]http://www.turboprint.de/english.html[/url]

Codecs

Most new users , after they install ubuntu are left with a crippled media system, because of proprietary codecs. There is a simple work around this... the [URL=http://www.ubuntuforums.org/showthread.php?t=22646]automate[/URL] script for new users solves this problem. However, ubuntu is rather devout in a religious zealot sort of way.. about free software and even though the solution can be to simply include this script on the desktop... or even a link to this script.. it regards any instance of non-free software with contempt.

Other distributions have somewhat solved this.. for instance linspire supports media out of the box, but you gotto pay for it.

One of the most convenient features of Mandriva Linux is the way it handles commercial DVD movies. Put an encrypted DVD into your DVD-ROM and the Kaffeine video player pops up a window that checks for the required libraries and codecs. If some are not found -- Win32 and libdvdcss are not installed with the distribution because of legal issues in some countries -- you're told where to go to get them. Click the provided links, download the RPMs, install them using Mandriva's software installer, and within five minutes you have DVD and Windows media file playback capabilities.

At the very least, the user should be informed of this before or during installation... so they are not surprised and know the situation...

Installing software

This is one of the pitfalls of linux, and the thing is that we have control over it unlike the other problems. What most new users don't know is that installing software can be [B]easier[/B] than windows(if its in a repository) , or harder(dependency problems)

The repository file is so important.... Almost everyone has to update their sources.list to have some basic functionality. If there was 1 single howto that was included with the ubuntu desktop... it should be about repositories, and to use synaptic if they can... and provide an easy way to update the sources file.

Repositories are nice... They provide a central verifiable and easy way to install free software.. which helps prevent spyware/malware...but they do have a caveat: In the future if linux does become more widespread... there is no way that ALL programs will be able to become distributed through the repositories(especially commercial software). Secondly, sometimes the programs that are in the repositories aren't updated fast enough... for bleeding edge stuff you need an installer.

The solution is to take the best of both worlds... continue with a synaptic like utility... but also use [B]autopackage[/B] . They need to work together, so no dependency problems develops, and so that the system remains stable, and easily updatable.

Linux will not be ready for the average user until [URL=http://autopackage.org/ui-vision.html]this happens[/URL] . The important points are thus:

[QUOTE] A fundamental assumption of this article is that the concept of installers have flawed usability. Firstly, their usefulness is limited: you typically download them or get them on CD, use them, then throw them away. If you don't throw them away you now have two representations of the application on your system: the installer icon, and the launcher for the app itself. It is a user error to click the installer icon at this point, but that's perhaps not obvious to somebody who doesn't really understand what's going on behind the scenes[/QUOTE]

[QUOTE] So, what would our ideal software installation UI look like? Something similar to the appfolders approach, but with an implementation that lets us take it further would be good. For instance, we should be able to launch software directly from an icon embedded in a web page, decide we like the program and drag it to a panel and send it to a friend by dropping it into an email or IM conversation. This should all transfer the minimum amount of data required, deal with dependencies, and the icon name and appearance should be themable and localised into the users language.[/QUOTE]

[QUOTE] You may be thinking that being able to install and run software direct from a web page is rather bad security, but really it's little different to the user downloading and running a .package, RPM or Windows installer normally. Once the user has chosen to give some software access to their system, we should be making it as easy as possible for them to act upon their decisions. Security therefore becomes a matter of how to aid the user in making the correct decisions rather than making their lives inconvenient.[/QUOTE]

This remains one of the most important issues in linux as far as the desktop goes... and we have the control. I don't see why Google didn't include autopackage in the "summer of code" :/

Once these issues become resolved over time... the user needs a reason to switch in the first place. Now I have been trying to think of all the benefits of using linux such as:

customization, virtual desktops, free, networking, stability? security?, better performance on same hardware?, easy keeping the system up to date

And while alot of these are nice... what we really need are [B]dealbreakers[/B] . Firefox garnered its share of users because it featured things people really wanted: tabs, and popup blocking.

Now if I was going to advertise linux somehow... i would have to play its greatest strengths... Virtual desktops for instance, are really handy .. but they are not a [U]Must-have[/U] for most people. The greatest strengths of linux for the avg user are IMO(feel free to add your own)

The lack of adware and spyware. Now granted this is partially because they don't target us since we are not as popular. But linux does have a couple of security strengths: passwording , keeping programs from being run as root, the distribution of software by repositories allowing control... and the fact that most software comes with source code. Any other?

The next biggest strength IMO , that there may be alot who will really want this is: a hardware accelerated desktop. With a program called [URL=http://lists.freedesktop.org/archives/xorg/2005-June/008356.html]exa[/URL] [QUOTE] Note that you don't have to be a driver

developer to switch any of those drivers. Note that this also means that we can easily give the useless, but oh-so-wanted transparent windows to everyone right now. Not next year, not when library X will be ready - now, as in today. 5) Implementing the download/upload/composite hooks will give us enough power to have very fancy effects that will let us compete with Microsoft/Apple desktops while we work on Xgl. [/QUOTE]

The road to the desktop can be won through other avenues. :

Education (edubuntu is working on this) government corporate third world

So what i would do:

Greatly help autopackage and just "get there" when it comes to installing applications.([URL=https://bugzilla.ubuntu.com/show_bug.cgi?id=8308]here[/URL] is what ubuntu says in regards to integrating autopackage) Greatly help Xgl or whatever it takes for hardware acceleration (on Nvidia, and ATI) help wine. It is more than just eye candy.... alot of people with so-so computers would be greatly helped with "snappiness" if their graphics card helped..... help Openoffice help sdl , and advertise sdl + opengl (maybe write a book ? ) for game developers Help whatever API will compete with microsofts VB... Maybe mono? educate/make aware to someone before they install ubuntu maybe about Codecs, where they will have to go to get them if they want them..... About software issues.... and peripheral (printer , pda etc.....) issues.... and maybe some kind of simple database showing what works? I saw on the linspire site they had one but it was kind of slow.

I think most everything is being done that can be done.. I am just writing this to set straight what i think the main problem areas are (maybe it will help?) and what I would contribute (code) to if i could.