2/17/2005

Standards

Filed under: — Dan @ 11:10 am

What should have been the biggest tech story of yesterday - that a Chinese research team has “broken” the SHA-1 encryption scheme repeatedly and in far fewer attempts than brute force would require - was overshadowed by an announcement of another kind: that Microsoft will release Internet Explorer 7 for WinXP before the next version of Windows ships.

The IE7 announcement link above leads to the official Internet Explorer weblog, on which comments are enabled. As you might expect, the comments for the IE7 announcement are both numerous and, in most cases, inane.

Since no new specific features/capabilities have been announced other than a desire to make web browsing more secure, you’ll find the comment thread littered with begging, pleading, and cajoling to get IE to finally support the things that all other browsers support - the full CSS standard. Alpha PNG support. Support for the application/xhtml+xml MIME type. You know, the usual suspects.

There’s also a great deal of Firefox/Apache/Apple/Open Source vs. Microsoft bickering. There’s plenty of stupidity on both sides of the fence and I’ve been around the block enough to know not to get sucked in by trolls. However, one argument is made by the pro-MS camp with such sincerity that I believe it to be the genuine thinking of Redmond’s loyalists. Unfortunately, it’s so utterly backward, it’s motivated me to write this inordinately long post. :)

The thinking, to the best of my understanding, goes like this - “standards are for the weak - Microsoft is out front innovating and pioneering the web experience with IE and .Net and if a few standards get mangled or ignored along the way, so be it. I’d rather see ‘gee whiz’ technology coming from MS than every standard from slow, irrelevant standards bodies catered to.”

The problem with this line of thinking (other than the fact that anyone who thinks .Net is a compelling technology compared to Java is mentally ill) is that it has to be motivated by a very, very narrow worldview - I’m thinking the “technology experts” who hold these beliefs do not have any practical experience with large companies and the way that global commerce takes place on a meaningful level. In a small-to-medium sized company, you’re more than likely focused on doing your thing and doing it well - trying to establish yourself as a player. You’ve got to be very focused, because if you don’t develop your differentiators then you can’t get your foot in the door, and if you don’t build relationships based on high-quality interactions with customers and partners, you can’t stay there. In this mode, buying in to low-cost, proprietary software that can be supported by an abundant, cheap labor supply could not only work, it might even make sense - temporarily.

Once you’re in the game, though, there’s only two ways to increase profits - by growing revenue and by decreasing cost. Growing revenue can mean diversifying your product/service line and selling to your existing customer base, doing more of what you’re already doing, getting more customers, or some combination. Revenue growth isn’t easy, but reducing cost can be even harder - it requires innovation. It means finding ways to do the same thing faster and cheaper while maintaining a level of quality that doesn’t sink your relationships. This could be anything from automating tasks with technology to finding more efficient ways to interact with the people you buy from and sell to.

When you’re using technology to reduce cost and implement newer, better, faster business processes, you don’t want one hand tied behind your back. Maybe there’s an open-source piece of software that would be perfect for a new process you want to implement, or there’s a great piece of communications software that’s only available on a commercial Unix. Gosh, it’d be great if you could use the best tool for the job on a process-by-process basis and have all of those tools interoperate. If you’re using standards-based software, then you could… but no, you locked in to a proprietary system way back when - and now you either have to engineer your business processes around your software’s capability (the tail wagging the dog, to be sure, but you’d be stunned to learn how much time/money Microsoft spends on trying to convince companies to do just this), spend a lot of money creating custom interfaces between your tools, or re-engineer everything to phase out your proprietary systems and bring in open standards. None of those options sound particularly nice when the whole point was to think of newer, less expensive ways to do business.

Standards allow business leaders to use the best, most cost-effective tools available to support their business processes while minimizing the cost of integration. Standards are therefore essential within an enterprise for maximum cost efficiency.

Now let’s go one step further. Let’s say that there’s a very large company who wants to become your new biggest customer, and would like you to log in to their supplier extranet that’s powered by an xhtml+xml application. Oh wait, you’re using IE… never mind. Let me re-iterate: Buyers. Sellers. Relationships. There’s a whole commerce ecosystem out there, and the realities of 21st century business require you to acknowledge it. If you run your business in a vacuum, then it will begin to take on vacuum-like qualities - specifically, it will suck.

There are a whole web of partnerships and complex business arrangements among companies today, even more subtle than the Japanese keiretsu (think of it as a corporate street gang - imagine if General Electric, General Motors, IBM, Disney, and Coca-Cola got together and agreed not to compete with each other, cut each other sweetheart deals, and actively undermine each other’s competition - and you’ll get the idea). As loathe as I am to use stupid buzzwords, today’s climate is more like “co-opetition”, where two companies may be close partners (or have a supplier/client relationship) in some areas yet be fierce competitors in others. These seemingly non-sensical relationships are all a part of the constant refinement which fuels global economic growth - the never-ending quest for lower cost and higher benefit. With all of these companies going through the IT and business process optimization mentioned above, global business is itself a system of heterogeneous systems that need to communicate with each other. Throw in governments (which outside the US are increasingly distrustful of proprietary systems) and industries like retail where direct customer interactions are important too, and you have a mind boggling set of different technologies all trying to talk to each other, and the number of technologies that could benefit from interoperability is growing exponentially.

As a result, standards are the only sustainable way to facilitate the most cost-effective technology interactions between the greatest number of enterprises/individuals.

So to all you posters on the IE blog saying, “Just make neat stuff! Screw standards!”, be careful what you wish for. The further Microsoft arrogantly pursues a one-size-fits-all “lock-in” strategy (which not only denies the current or future possibility of business processes that aren’t well-supported by MS software but also turns a blind eye to potential business partners/customers that don’t use MS products), the more their customers will find themselves locked out… and then what would your MCSE be good for?

8 Responses to “Standards”

  1. Clamatius Says:

    I’m not sure that choosing .Net over Java shows mental illness - but it shows that the company isn’t technically informed as much as it could be and usually means that the company was already a Windows shop.

    If the company already has a bunch of Win32 apps and/or IIS crap developed in Visual Studio that their developers are already using (and they will continue to have to support), suddenly C# doesn’t look so bad to them. It’s effectively free for them since they’re already throwing down the $ for MSDN subscriptions to support legacy software. And if you’re a humble Win32 developer who’s never seen any Java in your life, Microsoft’s version of the Java API looks like the second coming of Jesus in comparison with what you’re used to.

    That said, would I ever choose .Net over Java if I was the one who got to make the decision? Right now, no. I could see it happening in a few years for client applications when some reasonable version of the runtime was pre-installed on enough computers, though. Java is still pretty terrible as a client development environment despite being fabulous on servers.

    Now, browsers. The sudden growth of Firefox due to Microsoft dropping the security ball is rather pleasant - it was beginning to look like Microsoft was going to get the same lock on the Internet as they have on the desktop. Thankfully, that may not come to pass now.

    I’m curious to see what MS will do about Firefox, or even what they can do about it. It’s much harder to crush an open-source product than a simple business competitor.

  2. Dan Says:

    My proclamation of mental illness was a bit of hyperbole, but again, from an “implementation of standards” perspective, Java is the only way to go.

    I understand your point about .Net being an easy choice for current MS development shops, as well as .Net being a potential platform for end-users. (And I can certainly sympathize with the sentiment that “Java” and “fast client” should not be in the same language, let alone the same sentence.) However, I think you’d agree that this is due more to inertia than good business sense; that is, it’s more cost-effective in the short-term for companies who are already in bed with Microsoft to stay the course on the development side and to try to leverage Microsoft’s desktop monopoly on the client side, but that doesn’t make it the correct strategic decision.

    This inertia is the “lock-in” strategy I referred to, and it’s dangerous. It’s a forgone conclusion that in order to sustain profit growth, every enterprise will have to radically re-invent business processes outside of what Microsoft tools will support and interact with non-MS enterprises. An “all-Microsoft, no support of standards” strategy is only sustainable if MS has 100% market share in all areas of technology, and it would be unprecedented for MS to come up with the perfect tool for every variation of every business process that every business leader everywhere decides to implement. Even if they did, it would result in a technology “sameness” that would drain competitive advantage from the gloabal economic landscape. This won’t happen, and other technologies will be used. As soon as the first non-Microsoft technology is introduced into an enterprise and MS doesn’t comply with any standards that would allow relatively painless interoperability, then there are problems. However, will IT decision-makers make the bold decision to incur potentially heavy costs to make their infrastructures more standards-compliant, or will they hope that the aforementioned inevitabilities don’t occur until they’ve been promoted into another position and it’s someone else’s problem? There’s an easy answer, and there’s a right answer. Microsoft would like everyone to choose the easy one.

    Of course, Microsoft could side-step this issue by simply adhering to standards strictly with all of their products, but this would concede that people can and should buy the best tool for the job regardless of whether or not it’s a MS product… and they seem somewhat unwilling to give up chasing the dream of a technology monoculture that they dominate.

  3. Clamatius Says:

    I agree - taking advantage of inertia is certainly one of MS’s major marketing tactics. If you look at one of their vaunted TCO studies, usually for Windows vs. Linux, normally they assume the system is already Windows and there are migration costs to go to Linux.

    Right now they pretty much own the dream in terms of corporate desktops and it’s made them an awful lot of money. Losing that dream is one of their fears. The part they don’t have is the server side, but even there IIS/.Net is making inroads (despite IIS being pretty terrible).

    Java is certainly my language of choice for server apps right now. I’d say that my only real complaint about Java at the moment is that the choice of actual JREs is so limited if you want to use, say, 1.4 or greater. As a sidenote, Python is making some interesting inroads both on the client and server but I don’t think it’s ready for serious prime-time yet. In the meantime, it does make for easy “glue” that’s actually maintainable (unlike Perl).

  4. Mike Says:

    Once you’re in the game, though, there’s only two ways to increase profits - by growing revenue and by decreasing cost.

    You’re forgetting the “SCO Method”… litigation. ;)

    Seriously, though, there’s one point I would like to interject here that’s a little digression of your core argument about standards versus non-standards, and that’s a comment on one reason why non-standards from companies like Microsoft still manage to retain such a large marketplace when most technical folks will agree with you here that standards are a Good Thing™.

    Primarily from my experience, I find the technically competent are rarely the ones making the ultimate technical decisions as ironic as that sounds. This is left up to the suits holding the money and the technical folks ability (or more often inability) to properly argue their case for the right solution (unless you are in the rare occasion where you find yourself to be a techie holding the money). This is where Microsoft’s massive marketing army has an advantage. I can’t tell you how many times I’ve installed products more based on the brand name than the functionality. Suits understand brands and what they are familiar with. Most don’t understand “standards,” or for that matter care.

    It’s really up to us techies to make standards based products easy to use and deply, functional, and to properly educate the suits on why standards based products are a Good Thing™, including showing them stability and security (by security I’m referring more to longevity).

    There’s still a certain stigma about non-proprietary systems, particularly open-source systems. When you’re asking someone to base their business on a product or set of products, there’s still a certain attraction from the suits when their products and support come from a well known source that will be around for some time to come, and they know who to scream at (or even sue) in the event of problems.

    The further Microsoft arrogantly pursues a one-size-fits-all “lock-in” strategy […], the more their customers will find themselves locked out…

    One of the problems here is that due to the massive deployment of Microsoft systems currently in place, Microsoft is almost considered a standard. More often than not, even when using standards based solutions, you have to cater to Microsoft’s idiosyncrasies or you end up locking out too significant of a user base. It’s almost a catch-22. We need to get people using more standards based solutions so that cooperation or “co-opetition” can become easier and effective, but to get more people using more standards based solutions, more standards based solutions need to be in place.

    Anyway, I digress…

  5. pfi Says:

    Fun reading

    Unfortunately I believe Redmond is successfully leveraging a phenomena commonly referred to as the law of the installed base. This law (or observed behavior) holds that innovation decreases as the installed base of a technology( or behavior) increases to the point of little innovation is made due to the cost of switching out the installed base. This phenomena was first identified with the automobile radiator. Basically the same design as the final WWII innovations when mass adoption occurred. Commercial airline travel is another example, with the Boeing 707 being the first mass produced Jet airliner… minor innovation has been made to Jet travel (a A320 is basically the same configuration) despite significant advancements in design capabilities. The way to subvert this phenomena and move the installed base is to develop an alternative that is so compelling as to motivate the consumers to take on the risk and costs associated with converting the installed base. Regretably, the inheriantly slow standards definition process and lack of standards policing (e.g. IPv6) leave me doubtful a open source solution stands a chance of competing with MS in any meaningful way. While open source pursuits are noble and well intentioned only a mistep of arrogance by MS aka IBM in the 80’s can open the door to a new killer app (or profound innovation).

  6. testosterone cream Says:

    http://beam.to/testosterone7/ gel sale testosterone

  7. clomid Says:

    clomid pregnancy http://www.noonhost.com/clomidsideeffec/clomid pregnancy http://www.gogetforum.com/clomid/clomid.html

  8. clomid pregnancy Says:

    clomid pregnancy http://www.noonhost.com/clomidsideeffec/clomid pregnancy http://www.gogetforum.com/clomid/clomid.html

Leave a Reply

Powered by WordPress :: All content copyright 2002-2005 extrasonic.com. All rights reserved.