Technologies used
topic map logo
xSiteable logo

Say again?

High on the list of things I feel is missing from this world, reigns good implementation that brings rainfall to the dry desert.

Say again!

Browsers are our worst enemy at times, and especially those browsers that have a slight different outlook than what is professed by standards and good opinion. Oh sure, they all work for their own good measures, but lately it has become even clearer than before that even when we can do the right things, someone chooses to do what is not right. How come?

I've rambled about people not doing this when writing www-pages before, and this subject is quite related.

If browsers don't follow standards, why should people? Who will be the first ones to do the right thing? Who will lead the way? Oh sure, there is the elite of standards-compliant swash-buckling snotty group of people and a very few good browsers that fight and lead the way for the good cause, but what about the browsers and www-pages that real people use and create?

What real people?

Right. Those who don't recognize the argument of "you're not living in the real world! Wake up and smell the fish!", have never tried to convince misguided individuals that the path to more freedom lies in being more strict with the standards.

When did that become the norm? To gain better capabilities, more freedom, more compatibility and less stress, when did those goals come true through not doing what the manual said? Well, actually, each element of "virtual freedom" that has been an argument for this can be traced back to certain dates and released with certain browsers at certain times. Netscape Navigator and Internet Explorer both have a long history of introducing bugs, quirks and non-standard elements and techniques into their browsers since the net had anything resembling a browser-war going on. I guess that'll make the start of "when things went wrong" back to about 1994.

Not to say that that is a fixed number. Incidents and happenings up to and beyond that also contributed to the mess we're in, but I'd like to blame Microsoft the most; why, oh why, did they create a browser that accepted errors? One thing is to create a browser and give it away, trying to kill the market that way. But adding non-standard tags into their browser and products for things the standards already handles is unforgivable bad, and even more is to create a forgiving browser that makes it easy for people to write code for it by guessing and allowing (and sometimes outright promoting!) code full of errors, slack formatting and poor structure.

A lot of yahoo has been flying around about the anti-trust case against Microsoft, and I'm inclined to agree with this case; domination of a market may be a very bad thing, and at the time when you incorporate ploys to "get them all, kill all others" you're doing something on the brink of morals and ethic which I strongly object to. Even in business one should not be cruel, and the myth of "it's only business" is a hard one to get rid of.

Bad business

Some don't understand what the case against Microsoft is all about, saying - again - that in business, all is allowed. This does not only show these peoples poor ethics but demonstrates their lack of understanding of the laws, too. And most disturbing of all; it shows that they're poor businessmen.

We can all agree on the fact that bad business create more bad business, and that good business spreads more good business. What then, is wrong with Microsoft? They're doing tremendously well, aren't they?!

Notice the difference between "doing business good" and "doing good business." The former contains a whole world of ethics, economics, culture and prospects, while the latter mostly contains a profit. And on the profit-scale, Microsoft is indeed doing it tremendously well. But they're still not doing business the good way. One might of course say that the sign of good business is money, but most of them are out of business as we speak. Money alone does not uphold a company, a company does not alone uphold a business, and a business alone does not uphold a profit. They're all connected. Pay notice to the fact that you're doing business with people, not money.

Microsofts story of world domination is here because the world of computers are still in its infacy, and just about to walk on its two small feet for the first time. Microsoft was at the right time doing the wrong things to squeeze markets and pull a lot of peoples legs in obtaining their role. Yes, a lot has happened in the last 20 years since computers became profitable, and the times now - when computers and people have merged at a cooperative level - different rules and regulations are laid out. People must be taken into account when business with computers are concerned, just like it has in any other more traditional market. In other words; the computer industry is becoming a traditional business, and that is why Microsoft is getting into trouble. Their original business plan does not work when a fair market is the demand, and that is why they're desperately changing it. But they're big, and that is why the change came too slow, and resulted in the anti-trust case we have today.

Now all of this is - I realize - a lot of bashing of Microsoft, but they are of course not the only ones to be stuck in this practice and situation, but they are the biggest example out there. It seems like a lot of big computer companies have at some stage or another practiced their vile ways to gain market-space, and no wonder; it was - and still very much is - a vast unploughed field.

Flaky business

All that unploughed field works for a marketeer like sugar does for kids, and far too often in a field where the technical complexity is high, it lowers the ethics for what is known as "time to market" (TTM); that pesky time it takes from an idea rises til one can earn money from it. As this TTM costs a lot of money, marketeers and certain business people will cut down this time to the bone. What do you get? Bugs.

Bugs and features walk hand in hand. Introduce a feature, and get three new bugs. Fix an old bug, and two other features get a few more bugs. Implementations are more buggy than their prototypes. Will the developers be able to swat bugs quick enough for customers not to switch to a competitors program?

That really is the big question. No one wants bugs in their programs, but somehow the most successful companies today launch programs chuck full of them. Why? And how can they still survive?

The answer is simple; the "Time To Market" is pushed to its limit. They have found the thin red line between a functional program (that will be good enough until the next update) and a horribly broken one (which will make customers switch to a competitor). But they balance on this line at a cost; their life-cycle becomes static. When changes and flexibility is needed fast, they can't do it; the implementation of a given solution becomes a temporary prototype at best, and more stuff that should be on the test-server ends up in a production environment.

Good business

It's hard to give examples of what good business is without referring to known big companies who does it. And the truth is that I don't really have many, or any. Every company I've ever been in - as a consultant or directly employed - have had their fair share of bad business, and some to the extent that drove them out of it and down the tubes. (The notable exception is of course the company I'm working for now. *ahem* :) Through knowing all the bad, we should see what is good.

Instead of good examples, I'll refer to a single good rule one should be aware of and stoicly perform when doing business. It is my pogrom, my litany and my mentor in one; KISS. (Keep It Simple, Stupid!) Yes, "keep it as simple as possible, but not simpler than that" I believe Einstein once said. there are enough complex programs and products out there to make all our lives miserable for the rest of our lives. Complexity of a program does not equal a good program, just like a complex maze isn't easy to solve. Find the easiest way from A to B, and don't do anything else until you strictly have to. This is how a good tool works and grows, and NOT by doing everything from the get go.

Say it again, Sam

So, high on the list of things I feel is missing from this world, reigns good implementation. There are more and more tools out there that are supposed to make our world and the way we implement our solutions better, but I don't see people use the simplicity of them to get good results. Yes, we have some good tools, and yes, it is tempting to do complex things with them because you can, but it isn't always - and I'd say quite seldom - a good idea to do so. (I have a problem with XML for this very reason; people use it far beyond what makes it a great format through overly complex structures that are hopeless to dechiper by any sane monkey out there!) Keep your things in smaller understandable chunks rather than big complex ones. You don't have to save the world in one go. Give it a couple of tries.

Microsoft - with its Windows and Offices - are complex for all the wrong reasons, and hence they even used as big argument (theirs, can you believe it?) in the before mentioned anti-trust trial against them; you can't break certain programs out of the Windows box without breaking it. And that is silly, poor programming, poor planning, hasty implementation, and last - but definitely not least - highly unnecessary complexity.

So, what am I really saying? Just slow down, folks, and think before you do. Simplicity is quite often the genius that could keep both small and big boys - even Microsoft - out of trouble.