My Problem With Software

Why is it that most software sucks? Sure, there are a lot of good programs out there that allow you to do a lot of cool things. But fundamentally, when we talk about user space programs and operating systems, there seems to be a division between the good and the bad which is pretty remarkable. What peeves me most, however, is the fact that a lot of good software will only run on what I consider to be crappy operating systems.

Windows 7 Ad

Not only is it slow, unstable and ugly, it costs an arm and a leg!

Take Windows for example. It’s a pretty poor OS, in my humble opinion; it’s sluggish, ugly, riddled with buggy libraries (kept that way intentionally for backwards compatibility), and closed source. But it has an army of developers for it, and they churn out a lot of good software. I would love to have AutoCAD, Adobe Premiere, Steam, any number of games, and a lot of other programs. But the fact is, they depend so heavily on closed-source libraries that porting them to a more stable, well-designed platform is nearly impossible (although the developers behind WINE are trying valiantly to do so).

I’m a Linux user. I use Ubuntu for everything: writing software, playing games, designing parts, cruising the web, reading my email, maintaining my website, everything. I absolutely love it. It’s a stable, secure, customizable, and best of all free operating system. It has a great community and a lot of support, and it’s entirely open source. Anyone can write programs for it, and a lot of people do; but the problem is, there isn’t enough market share and certainly not enough marketing to attract development firms to invest in writing software for it. It’s mainly based around a body of programmers who support the idea of free and open source software, and are willing to donate whatever time, energy, and money they have to spare towards making something for other people to use.

Don’t get me wrong, a lot of free software is great! I use Chromium, the open source version of Google’s Chrome browser; Thunderbird, from the Mozilla Foundation; the GNOME desktop environment; the NetBeans IDE; SongBird music player; Tomboy notes; Apache for my webserver; MySQL for my database; Joomla! for my CMS at Kestrel Robotics;  and a whole boatload of free and open source libraries to support it all. But for some tasks and projects, the capability just doesn’t exist in an open source package.

Now, I’m not trying to diss closed source software here by any means. If that’s the business model you want to take, so be it. But I do feel that relying on closed source libraries and predicating your program’s future on these being available locks out a lot of users who may otherwise be willing to buy from you. Cross platform compatibility is a pain, I know. I’m a Java developer. I understand that there’s a lot of investment in a lot of these programs, and that’s why they’re so desirable. I understand, I really do. But it really pains me that so much good software is forced to run on such a poor platform by market share.

There’s been several attempts to commercialize Linux, and all have been met with some degree of resentment and resistance from the community. I think that that’s a fair response; if we allow Linux to be commercialized and taken over by closed source developers, it may become no better than Windows. Unfortunately, this attitude also causes us to lose out on a large body of developers and powerful companies that have the capacity to provide very good programs for our platform, but only if we make an effort to attract them.

Mac Ad

You want how much for that?

A lot of people will no doubt say that if I want a stable, well designed system with a lot of nice programs that I should switch to Mac. There’s a large number of reasons that I don’t do that: 1) I’m a poor college student. I can’t afford to drop $1200 for a new machine which has less screen space than my current one! I have a 15″ laptop right now, and a 13″ MacBook Pro costs $1199. Apple’s prices are exorbitant. Of course, that’s the only way they can survive; they need to maintain their image as the Cadillac of computers in order to move hardware (Apple is fundamentally a hardware company). I can’t afford to pay that much, especially not when I have some very capable hardware already. 2) I don’t like the OS X interface. I know, I know, everyone will try to convince me that Apple has perfected “user friendly”. Intuitive is supposedly the name of the game for Apple. I have to disagree. Even though my GNOME configuration is very similar to Mac OS superficially, I still find it somewhat infuriating to use OS X. 3) I don’t agree with their hypocritical Big Brother mentality. Do you remember that ad from 1984? Since then, Apple has adopted the attitude that it can maintain a death grip on its iPhone and Mac developers, preventing anything that they dislike from entering the marketplace (especially true for iOS devices). That attitude is completely contrary to their well-engendered public image, and my own principles. (I like this ad better, by the way!)

So, what can we do without resorting to fiscal and moral bankruptcy in search of a decent platform? Well, at the moment, not much. We can support open source developers who are trying to put out good programs for us to use. We can attempt to appeal to corporations to put their software on Linux. Or, we can do what we’ve always done and virtualize/use WINE. Until Linux has enough users, and makes enough noise for good products, we won’t see much commercial development heading our way.

I, for one, think that’s a shame.

Advertisements

5 thoughts on “My Problem With Software

  1. I feel your pain, but I also think you’re being incredibly short sighted… Operating systems are merely a tool to get a job done; that job, to an end user, is primarily to provide a common user interface and to execute programs.

    For the *vast* majority of users, everything else going on in the operating system is secondary. This includes incredibly important things like security, memory management, file systems, privilege escalation, networking, etc. Most people simply don’t care how it works, or why one model might be better than others; they just care that it works.

    I know it can be hard to familiarize yourself with a new interface, especially when your so used to an old one, but it really is worth it. Once you get the hang of it, you can feel right at home in just about any OS.

    …The OS is just the platform to run the software you want/need to use. If what you need available for your OS, then it would be quite easily argued that your OS is *useless* for that specific purpose.

    You can always do what I do… I run OS X as my main OS, with my hard drive partitioned with a Windows 7 boot camp partition that can also be accessed via Parallels. And then I also run Windows XP, Fedora (LAMP server), ClearOS, Ubuntu and Backtrack in Parallels for when I need each of their specific capabilities.

    I also have a server set up at home running VMware’s ESXi, running Vista Business (hacked for unlimited termserv/rdp sessions) and a Router/VPN linux appliance.

    I generally run OS X, unless I need to run software it can’t natively (Like VMware’s VSphere or Autodesk’s Revit)… Most of the big software is on the mac now; hell even Steam and Autocad have finally made their way to OS X! (I suppose Autocad is finally making its return to the mac after nearly a decade of being away).

    I know you said you’re too cheap to buy a mac… No worries then! For a fraction of the cost, make a Hackintosh! I’ve build a quad core Core 2 Duo hackintosh out of a $300 Dell that worked flawlessly, and natively booted whatever OS I wanted.

    And if you don’t care about disk/graphics performance as much, you can always run a bare metal system like ESXi and run all your OS’s simultaneously on a server somewhere and just RDP/VNC in !

    • The point you make about the role of an operating system is valid in regard to the user’s point of view; but the fact that an operating system provides the environment for user-space programs to execute is what makes it so crucial for it to be as stable and powerful as possible. Without it, nothing happens. The instability and sluggishness of Windows is the primary reason I don’t use it; Apple has also made conscious decisions to favor aesthetics over function. I have a dual-boot system on my main desktop with Vista and Ubuntu, but I rarely use the Windows partition except for SolidWorks.

      As far as being too cheap to buy Apple hardware, you’re right. I don’t have enough money that I can afford to burn it on a shiny machine when I have one that works just as well with a FOSS operating system… I have no need for a gilded screwdriver.

      Overall, I think you’re missing the point of the post. My lament is not that there are OS’es that you must pay for, but rather that the user must make a choice between having quality user-space software or affordable, well-designed operating systems.

      • No, I see your point, I just don’t necessarily agree with it. On modern machines, for the majority of users, the majority of processing power is left sitting idle as the machine goes about its usual tasks. I really don’t think any modern Operating Systems are sluggish or utilized too many system resources to run… The biggest bottleneck for OS “snappiness” is still disk speed, and a nice fast SSD helps tremendously here (as does more RAM, obviously). Yes, the OS itself for Linux will generally utilize fewer resources… but disk space and ram are cheap, and processing power is rarely a bottleneck for anything but the heaviest of applications (video encoding, rendering, etc).

        Plus, in Windows, you can turn of Aero and the majority of the ‘eye candy’ of the OS, and get down to a nice snappy bare bones UI that gets the job done without all the flashiness. But with modern GPUs as fast as they are, most of that eye candy really doesn’t actually slow anything down (which isn’t typically the case in a Linux environment where video card drivers tend to lag behind quite a bit for most vendors/cards, and GPU acceleration support is more limited.)

        I’ve alos found Windows Vista SP2 and Windows 7 to be pretty rock solid. Same goes for OS X from tiger upwards (Tiger, leopard, snow leopard). I’m running a server at home running Vista Buisiness SP2 and it’s got a 3 month uptime at the moment (and only because of important updates, or it’d be longer than that). I get similar uptime out of my mac. The only thing that regularly makes anything on my mac crash is Adobe’s Flash… and even then it’s just the web browser that goes.

        I just think you haven’t given modern OS’s a shot if you’re really complaining about sluggishness and stability!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s