This Is Why We Can't Have Nice Things

Posted by Rusky on March 11, 2011, 7:15 p.m.

Generally speaking, everything nice has small market share, and everything with big market share is not nice. This means that, often, we have to use the crappy system to have access to the tools we need, the games we want, etc. Examples:

Phones

Lots of market share:

Android has no attention to detail.

Symbian is essentially crapware.

Little market share:

iOS is not quite "little," but Android is quickly pulling ahead.

webOS is amazing but due to Palm's idiocy nobody has it or writes apps for it.

Desktops

Lots of market share:

Windows. Enough said.

Little market share:

OS X is very polished and while I would rather use Linux it's very nice.

Linux is the best after you get past the learning curve, but it's not for everyone.

Graphics Libraries

Lots of market share:

OpenGL is a low level, annoying state machine that's perpetually playing catch-up. It will have the biggest market share due to DirectX's exclusivity to PC/Xbox.

Little market share:

DirectX is a nicer, higher-level API that's actually innovating. In a twisted way, I'm glad that Windows has such a big market share, because it means developing with DirectX is still reasonable.

Comments

aeron 13 years, 8 months ago

I was about to write about how I disagree with you about OpenGL vs. DirectX but while forming a counter argument I realized my opinion is actually pretty similar.

From a standards point of view, OpenGL wins because, well, it's open. And I can't stand the thought of using DirectX knowing I've sold my soul to Microsoft for a few amenities. So even though it's not as nice to use, I would still rather develop using OpenGL and have my game portable to practically any modern platform than be confined to M$ Windows and Xbox for the sake of "coding convenience".

On the other hand I hate that "it's not that hard to just work around it" mentality that plagues so many projects these days. I would really love to just have a complete rewrite of OpenGL that makes it less of a hassle but maintains the familiar portability we've all come to know and love. In the meantime, I will keep using OpenGL through a higher-level interface (SFML) because it handles all the nitpicking for me and I can stick to the important part, writing games. And when my game calls for some special effect that SFML can't provide on it's own, glBegin() is only a few keystrokes away.

Rusky 13 years, 8 months ago

OpenGL wins at being an open standard, but it's not taking much advantage of that now. Instead it just copies DirectX features in an annoying way while nobody actually supports it in hardware and MS spew FUD about it. I agree that a new open standard would be technically nice, but I'm not sure how it could work. Maybe a port of DirectX would be a good start (in fact I think one might exist) toward possibly opening up DirectX itself?

Juju 13 years, 8 months ago

Of course, you could stop trying to determine winners and losers and accept there are different solutions for different problems. Implementation is about the tools and not about the ethics. If that grates with you then thank consumer capitalism; success is measured by profit and all the evils that it entails.

PY 13 years, 8 months ago

Communist game development brought us stalker - I say we give it a try.

…:D

Rusky 13 years, 8 months ago

I'm not just "trying to determine winners and losers." This is all from real-life experience, and you can't just hand-wave the annoying parts of OpenGL when you're writing, say, a game for iOS. Of course it's the different solution for that problem, but it doesn't mean it's a good one.

What I'm lamenting is the trend of unpolished and/or annoying things to get very big (sometimes even monopolistic) while the nice things are either too expensive, too locked in or some other practical or ideological problem to compete well.

Capitalism is part of the problem in this case. Take Apple for example- they have less than 10% market share of desktop computers, but when you look at their market share for their price range, it's much, much higher. They have very good profits so there's no incentive to extend their goodness to lower end computers (if that's even possible). They are targeting a bigger market with things like the iPad, but their App Store policies are so totalitarian and Android is so viral that in the end Android is going to be just like Windows and iOS is going to be just like OS X.

Juju 13 years, 8 months ago

Quote:
the trend of unpolished and/or annoying things to get very big
Perhaps you're confusing cause and effect, possibly as a result of taking a static-time cross-section of marketplaces.

Once upon a time, Windows NT was the best operating system for the consumer market pretty much across the board (if you count Windows 98 as a build of NT). As the Windows OS grew in both market volume and profitability, Windows effectively held (and still hold) a monopoly. As a result, they could let it become overweight and buggy through underdevelopment because the management knew that third-party developers would be forced to fill in the holes out of economic necessity; if their software wasn't stable on Windows, they wouldn't make a profit at all because they would automatically be limiting their market. Large and popular OSes are destined to become unwieldy and senile as a combined result of third-party support motivated by market share and the desire to cut back on continued maintenance to increase profits.

Smaller platforms don't experience this phenomenon and, in fact, often experience the opposite. OSes that seek to undermine the more popular, heavier competition make a big deal that they aren't buggy, they aren't heavy. The average consumer, of course, doesn't care because they want feature-rich content. However, the smarter costumer (server purchasers, for example) wants something lighter. These costumers will quest for sleeker environments whilst eschewing the more popular OS designs as an indirect result of their popularity.

This principle can be applied to a wide range of products from a wide range of industries, everything from engines to firearms. As soon as you open up to a wider market and seek to increase your new market share, you will need to compromise features that made you unique to add features that make you desirable. One solution is modular products (contemporary engine and firearm designs are, incidentally, modular) to maintain focus despite multiple points of penetration across the industry.

Quote:
They are targeting a bigger market
It's the same market - virtually all people with iPads have another big ticket Apple purchase. Apple aren't finding another market, they're simply deepening the well and draining it of cash. Apple aren't in the game of producing "good" platforms in the sense of stability or ease-of-development, their entire business model is based around turning the consumer electronics industry into a carbon copy of the car industry - a new model every year with very minor updates and mainly cosmetic differences. There is, in fact, an incentive not to target low-end computers. As soon as they release a budget version, the entire brand loses its luxury status and their credibility drops with the rich wankers who buy their bloated, overpriced bullshit year on year.

Rusky 13 years, 8 months ago

Quote:
Perhaps you're confusing cause and effect, possibly as a result of taking a static-time cross-section of marketplaces.
I never meant to imply causation in either direction- just correlation.

I'd have to disagree on Windows. Mac OS has always had a much nicer interface than Windows and before that DOS. It's just a different focus- Microsoft's goal was to make PCs widespread, while Apple's was to make a good user experience.

I also disagree on Apple's market. Lots of people have iPods who don't have Macs, and I would guess based on my experiences that there are also a lot of people with iPhones who don't have Macs. If you look at iPad commercials, they definitely don't seem to be targeting the luxury market.

However, you do have a very interesting perspective. I'm not sure I agree (especially with Windows- it started out poorly designed and stayed that way even with NT), but it's definitely plausible that popularity is what triggers crappiness in many situations.