Today my mother showed me this free Chinese New Year poster (Fai Chun, Spring Couplets) she saw in a local newspaper (Apple Daily, Jan. 23, 2009). Even though my Chinese is not that good, I too notice the mistake in the poster, which had been distributed throughout Hong Kong.

Are the standards of our young generation that poor? The worst part, is that it demonstrates the lack of pride Editors of Hong Kong newspapers have for their jobs.


Recently during a developer conference in Sydney Australia, Microsoft CEO Steve Ballmer said the idea of using WebKit as the rendering engine within its web browser was "interesting" and added "we may look at that." I hope this is true, but one must always take anything Ballmer says with a grain of salt. He often speaks without thinking and without any background knowledge of what Microsoft is actually doing with regards to the subject in question.

Of course, if this is really true, it will not be the first time Microsoft admit defeat with regards to their bloated browser, Internet Explorer. When Microsoft released 7.0 version and announced 8.0 version of it Internet Explorer, they admitted that their approach in the past had been wrong and they promise to do a better job to comply with Standards; established by W3C. With IE 8.0 that compliancy is starting to take shape, but it is still far from the compliant status of its competitors: Apple Safari, Mozilla's Firefox, Opera's Opera, etc. Therefore, the adoption of WebKit as its engine for future version of IE will accelerate its compliance to Standards and gaining the capabilities of the current fastest Javascript engine in the Internet world.

Most of all it will cause all those lazy web developers who only code their web site to work on IE's quirky mode to finally wake up and start to follow the W3C standards.

I call upon all web developers to not wait for Microsoft and start coding to the W3C standards and then make exceptions for IE, and not the other way around. This is because even if Microsoft does not adopt WedKit its IE 8.0 will be more compliant to W3C and will be must less lenient to web sites that are not compliant, causing these web sites to just FAIL.

read more | digg story

Many of you who knows me, knows that I am a strong proponent of standards (W3C) when comes to web development. I will not go into what W3C is, because I had wrote a post here almost 4 years ago called, Compatibility. Since then Microsoft has publicly acknowledge its mistake of trying to impose its own way of doing things as the "standard", rather than adhering to the W3C Standards, which they are a member of.

What Microsoft did in the past 10 years or so was horrible. Leveraging on the unquestionable prevalent of the Windows OS, Microsoft made it easy for web developers to adopt Microsoft's proprietary technologies and tools to create web applications that only adhere to Microsoft's way of doing things.

To make things worst Microsoft's browser Internet Explorer (IE) would interpret the non-standards compliant code for the developer, in effect placing the browser into a "quirky mode". IE went as far as ignoring HTML mistakes within the code and presents what the developer had intended.

As a result creating sloppy web applications that are not W3C compliant, not future prove and worst of all lazy developers. The latter is not just my opinion, it is from years of observations of Windows based web developer code.

The most common situation I encounter is, when these Windows web developers write codes that test the userAgent of the DOM Navigator object, to determine the name of the browser; assuming brand of browser, and version number, to offer a logical decision on the usage of certain features. In worst case, these developers only test for the version number, making the Microsoft assumption that there are no other browser accept Microsoft's Internet Explorer.

Not only does this totally goes against my principal of "Test for features instead of browsers", which I impose upon any developers I manage. You can see that these Windows web developers' approach is not future proof, as no one knows how many types of browsers there are to come, how many different platforms these browsers will be used in, and whether these browsers will introduce features in future versions of their browsers; this latter point includes IE. I won't even get into the problem with just checking for the version number of the browser. My informed readers will know how stupid this can be.

This is another issue with the end-user not well informed enough, as a result not demanding enough of the product s/he uses, which further propagates the laziness of web developers. I will try to address the source of the issue by presenting the browser choices available:

Windows OS:

Macintosh OS:

Linux OS:

All of the above browsers are W3C standards compliant.

As for Microsoft's IE, after their admittance of their wrong approach in the past 10 years, they began by releasing a new version of IE that starts to comply to the W3C standards. Although, this compliance is at the tip of the iceberg compared to all the mature browsers mentioned above. This version of IE is IE7. Several months ago Microsoft released the beta version of IE8, which started to pass W3C and Web Standards Project's "Acid 2 Test". In the mean time the other browsers are already releasing version of their respective browsers that passes the "Acid 3 Test".

Since IE is the only non-W3C complaint browser and Microsoft themselves are moving towards W3C compliancy, it is obvious that web developers should stop coding to IE standards. Any web page or web applications should first be tested on the compliant browsers then conditions should be placed in the code to make the web page display and behave properly within IE. NOT the other way around!

Microsoft is reported to be seeking public opinions on IE8's future web Standards (W3C) compatibility.

I think it is a good thing that Microsoft is finally admitting the fact that all previous versions of IE are not web Standards (W3C) compliant. Note that IE7 is on the road to the right direction, but it is way too slow compared to IE's competitors: Safari, Opera, FireFox, Camino, OmniWeb, etc.

Now Microsoft is using a blog to seek the public's (particularly web site developers') opinion, is definitely seen as a good thing. I too somewhat agree, but the fact that Microsoft wants to avoid breaking these same developers's web site with IE8 is the wrong focus.

Microsoft should be encouraging these developers to fix their web site, so that they are W3C Standards compliant and pass all W3C tests, and to promote the web (W3C) Standards behaviour for all elements of a web page. What Microsoft should NOT be doing is to continue to encourage these same developer to make lazy and sloppy code for their respective web sites.

I for one vote for Microsoft to be "heavy handed" in making IE8 100% W3C Standards compliant. For any features that are not yet W3C Standards compliant, Microsoft should not release them.

Microsoft should follow its own track record of doing the technically correct thing, like in Windows Vista's security, rather than always focusing on backward compatibility. Doing the latter will further worsen the sloppy code that are generated by so many web site developers.
read more | digg story

I am sure many of you had heard of the saying or advise, "don't put all your apples in one basket". Meaning you should not focus all your efforts with one idea or a single solution.

As for applying this principal to software and technology, I had been advising friends and clients for as long as I can remember; at least 19 years.

I often advise my clients, "Today's leader may be tomorrow's looser". Most recently Microsoft proved this statement with the simple release of Zune MP3 player and the Zune's Marketplace.

I am not referring to Apple being the Leader here, since Microsoft's current Zune products are definitely not a serious challenge to Apple's iPod, iTunes and iTunes Store. Instead, what I am talking about is Microsoft's "Play for sure" program.

I am also not suggesting that Microsoft's "Play for sure" were ever a leader but in terms of DRM there are limited choices, with Apple's FairPlay and Microsoft's DRM being the two most used, with the Microsoft's DRM being the only one used by other vendors other than the DRM owners themselves.

Many organizations including, libraries, MP3 player manufactures and online music stores, unwisely chose to use Microsoft technology and subscribe to Microsoft's "Play for sure" program. Now, Microsoft has abandon its own "Play for sure" program with the release of Zune, and even gone as far as closing down its own MSN music store. The new Zune MP3 player is not even compatible with Microsoft's Windows Media Player and Microsoft Windows Vista. So, now MP3 player manufactures and online store operators, except Apple, are left with no support and no future DRM technology to support.

The parties affected the most are the libraries who encoded their Audiobooks with Microsoft technology and DRM. Now with the future of Microsoft's DRM and "Play for sure" program in limbo, these organizations now have to decide whether to continue encoding using Microsoft technology or to change to an open format (industry standard) and reencode everything they have.

I am definitely not in favor of DRM of any kind for any content. I believe the use of DRM is assuming all people are dishonest. No different from taking the approach of "assuming someone is guilty until proven innocent". I think it is just wrong.

Again, I openly advise all, you should never put all your apples in one basket. In the case of technology, never bet on proprietary technology for the long term strategy.

Another free advise, popularity does not equal Standards. Standards are set by independent organizations. In the case of the web, ecommerce and technologies W3C, OASIS and IEEE are three of the Standards body. By the way, Microsoft is a member of the former two organizations, but their products are the ones that fail to comply with the Standards the most.

You may ask what is a safe bet? Well... you will need to either interpret the above or hire me to consult for your organization.


Another attempt for Microsoft to further break the web sites around the world.

Before you start to call me an Apple bigot and start to bombard my Inbox with hate mail, please take the time and read my full article before posting any comments. That's because as always I totally welcome comments from all my readers.

With the pending release of Microsoft's Internet Explorer 7 (IE7), Microsoft has published a "warning" on the Microsoft Developer's Network to web site developers.

Prior to deployment of IE 7, we strongly recommend that you test your Web sites, extensions, and applications to make sure they are ready. Microsoft recommends that Web sites and applications are ready for the release of Internet Explorer 7 this month.

Michael Calore of WIRED has a good article that points out how ridiculous Microsoft's request is. In the same article there are also a few comments from WIRED readers that I too agree with. I will add my two cents worth here.

Being the largest software manufacture in the world, for many years Microsoft has enjoyed the benefits of the layman computer users' ignorances of alternatives solutions. This fact of general acceptance through ignorance does not equate to an official Standards.

Instead, Microsoft should use this dominance to come right out and inform the layman end-users that past versions of IE have been flawed and non-compliant to the W3C Standards. With the release of IE7, Microsoft is starting to be W3C complaint and has yet to complete this transition.

Standards are set and outlined by Standards bodies. In the case of the web, W3C is the official accepted body, which Microsoft is part of, that outlines the behaviours of browsers for every element of a web page and beyond.

As Calore and others have said, IE7 is moving towards compliance to the W3C Standards, but this forthcoming release is well behind those of its competitors (Firefox, Safari, Mozilla and Opera) who had Standards compliant browsers for many years.

Microsoft's insistence of web site developers add conditional codes to their respective sites to accommodate IE7 is absolutely unacceptable, especially for web sites developers who are already W3C Standards compliant. If IE7 complies to W3C Standards then these web sites will just work. The fact that these sites do not behave as expected in IE7 is 100% the fault of Microsoft.

I strongly believe that web site developers around the world should stick to the W3C Standards and use the W3C validators to ensure compliance. Especially for the larger and more popular sites:,,,, etc.

The web site developers who need to change their codes are the ones who are not yet W3C compliant. These developers had blindly follow the behaviours and interpretations of Internet Explorer (IE) and coded their sites to work with specific versions of IE for years. This sort of expectations and demand of the end-user is only acceptable in a controlled environment, as in within a corporate computer installation. Even in the latter case, web site developers should work towards the W3C compliance, since today's leader can well come tomorrow's loser.

So I hope that the introduction of IE7 will encourage more web site developers to be W3C compliant. Resulting in web sites and web applications that are truly platform, operating system (OS) and browser brands agnostic, which is my definition of what a true web enabled service should be.

The article written by Steven Wittens infuriated me so much that I decided to Blog about the subject also.

Please don't get me wrong, I am not angry with what Steven had wrote. To the contrary, I totally agree with Steve in terms of Microsoft placing blame on the developers.

Sending out emails like these to developers/companies are just trying to support their own agenda of forcing everyone to switch out of IE 6 or earlier.

M$ is hoping that that switch, due to habit, will be IE 7, but as Steven had said these "CSS hacks" should not affect IE 7 if it was fixed correctly and fully compliant to the CSS standards.

Therefore, the fact that these pages are not displaying correctly in IE means that M$ may have corrected the CSS compliance issue, but they have missed out on the rest of the W3C standards for a browser.

So, my suggestion and wish is for all developers to do nothing to explicitly support IE 7, but rather continue to code to the W3C standards. So that more sites will break for the end-user, unless they are using one of the fully Standards compliant browser.

I personally think that M$ had been spoiled for too long. What I mean is that they had been the dominate player by default; end-users do not bother or care to install any other browser except the one that came with the computer they purchased or what was already installed with their OS. As a result of this unjustified dominance, M$ had slacked off and not correct issues/bugs that they should had fixed much quicker.

Therefore, if majority of the end-users cannot use majority of the Standards compliant web sites on the Internet, and these web sites clearly states the list of Standards compliant browsers that will work properly. M$ will be forced to finally stick to the Standards rather than forcing their own onto developers.

read more | digg story


It has been just over a year (1 year plus 1 day) since I modified my whole web site to be "World Wide Web Consortium" (a.k.a. W3C) compliant.

For those of you who do not know what W3C is, you can read all about it at their web site. Here is a paragraph from the W3C web site.

The World Wide Web Consortium was created in October 1994 to lead the World Wide Web to its full potential by developing common protocols that promote its evolution and ensure its interoperability. W3C has over 350 Member organizations from all over the world and has earned international recognition for its contributions to the growth of the Web.

What does all this mean? My site is now mostly Standards complaint. When I say "Standard" I am referring to the only justified set of standards on the Internet, which are those from the W3C. Some browser manufactures may claim "standard" compliant, but they are not referring to the same thing. They are talking about what users are "forced into accepting", where certain manufactures made available only their technologies to users to define its own "standards" within their respective platforms. This to me is not "standard" to the true meaning of the word and spirit. A proper Standard must be accepted and agreed upon by a body of industry members, and made available to anyone who asked. That is the bases of the W3C Standards.

Since my pages are Standard compliant, they will behave and work the way the technologies were specified. Functions like Navigation Menus work the way they suppose to, all compliant pages passes the W3C validators, and most importantly these pages will work with all past, current and future versions of Standard complaint browsers.

Some of you may have noticed the paragraph of small print I have at the bottom of many of my pages.

This site is best viewed with a W3C compliant web browsers like "Mozilla", "FireFox", "Opera", "OmniWeb" and "Safari". To enjoy all the functionalities of this site you will also need to have the "Flash" and "QuickTime" browser plug-ins installed.

So if you're using one of the non-Standard compliant browsers to view my site. You are not only missing features but much of the content I have.

Photos Menu Miscellaneous Menu My Stuff Menu

To make the lives of those visitors who are insistent of using non-Standard compliant browsers I have added a new menu item "Site Map", so at least they can see and find what they are missing unlike the many visitors already visit my site with Standard complaint browsers.

If you like to one of those Standard compliant browsers yourself, here is a list:
1. "Mozilla" (Mac OS or Windows OS)
2. "FireFox" (Mac OS or Windows OS)
3. "Opera" (Mac OS or Windows OS)
4. "OmniWeb" (Mac OS or Windows OS)
5. "Safari" (Mac OS)

So go ahead and download one or more of these browsers and enjoy my site like many of my other visitors.