Of course to develop this application I choose to use FireFox, because of the higher standards compliance and the fact that I then have access to Firebug, the ultimate tool for web developers. I will say this, Ajax development is very easy, contrary to popular belief. This being my first attempt I was able to create a working application in about 5 hours. This was a challenge because I had to understand the way Firebug was displaying my debug information to me, in particular the responseXML property. I eventually discovered that what I thought was a null reference was actually a rather interesting way of displaying the incoming XML document.
Once I figured this out, the process became rather easy, though to be honest I find the code a little messy. This is mainly because its my first real attempt at JS and I am extending a lot of examples out of the book I am reading. Over the next few days I intend to simplify the logic so that the code is cleaner and I intend to post a link to it. Of course it will be available on my website when it launches. But I want to talk about the remainder of the process.
So I have the application written, so I wrote the PHP to allow the application to work without JS (albeit not quite as well, but its gets the job done). This wasn’t quite easy, as I expected it to be given that PHP is a rather easy language to extend and the Ajax calls were all to PHP. Now came the next step, getting it to work in IE7.
One would think with all the advancements in .NET and the very intuitive nature of event handling in .NET, we could expect something similar in IE7. Clearly this is far too much to hope for as IE7 event model is still very much IE6 which was horrible then and is even more horrible now, when stacked against the FF event model. This is clearly either a huge oversight by MS or plainly just pure idiocy. It clearly is not beyond them to properly create an event model as they did very well with .NET, so why were these policies not applied to IE7.
It just doesn’t make any sense to me. Every day they are losing more ground to FF and Opera, two browsers which implement standards and follow the intuitive designs laid out by the W3C, who do speak for most developers. Not improving the model, to me, essentially means they are ignoring web developers. That is a mistake. And one that will lead to the take over by FireFox and Opera. To me this is hardly a big deal as the only thing I care about is that the browser I am most concerned with supports the majority of standards. Situations such as the current, where the worst product is the most popular product are tremendously undesirable regardless of the industry.
Literally, with all the money they have, I know they have good developers on staff. What is so hard about applying the standards. I admit, from a presentation standpoint, the general consensus around the community is that FF and IE7 are very close. But under the hood the difference is so overwhelming it makes developers want to cry. Microsoft does so much to try to get developers to program to their platform when the most obvious solution (quality products to program for) are the easiest solution. The same questions about IE surround Vista, why has it taken 5 years for you to realize that you were falling so far behind that catching up would require and obscene amount of effort and therefore likely result in more hackish code.
Windows and IE will not remain at the top forever, people are starting to learn. We can see this trend in the browser war already; FireFox is likely to destroy IE in the developer world, but it will be much closer in the normal persons world. Why? Because the majority of normal people are very superficial and the cosmetic changes will take hold and they will tell their friends. And while this is good for MS, its a very short term trend. It is the developer community who recommends solutions to their family and friends. True, MS may be able to provide better security with Vista’s new modes. But the ignored cries from developers will do little to diminish the negative image Microsoft has in the developers world, and this will result in more attacks.
The bottom line is Microsoft needs to listen to the developers who use their software as well as the normal users. Cries to improve CSS support and the JS engine are just as important, if not more important, then an RSS reader or (I dare say) tabbed browsing. Somehow Firefox and Opera, two companies with far less resources then MS have been able to consistently produce better browsers that make the developer experience, as well as the user experience, enjoyable. Clearly Microsoft is missing some important piece or they are just being arrogant. In either case, this is no way to improve their image in the development community.