Web and rich interfaces: it should be easier than this
I have spent the last two months creating a front end for our new GenBank in a Box web product. Perl is a rather new language for me, and one not entirely to my taste. Going in, I expected the hardest part of the project to be learning Perl and its idiosyncrasies.
Not a chance.
The coding time went well, and I am pretty pleased with how it turned out. Among other things, I now have a far better understanding of SOAP, mod_perl, Perl, and BioPerl.
The cursing time was vented on web browsers and their utter lack of standards compliance. Standards compliance? Try even minimal sensible layout of fairly basic tables. At first, we were going to use CSS, another fairly new technology for me, but we ended up having to muck about, work around, and finally drop back to utterly simplistic nested tables. Anything more complicated just would not give us a consistent display in IE/Mac, IE/Win, Safari, and Mozilla.
One bright spot: I have read Dave Hyatt's blogs for quite some time now, and I had hoped that his attention to detail would pay off for web developers. Having now done it, I see that he and the rest of the Safari team have done a very good job. I also believe that the "bug" button is one of the big reasons why. Hitting it allows you to send the source of a page, as well as a screen shot and a message. I suspect this makes it far easier for them to debug problems without needing to ask further questions. Add to this the ready interaction with the net community provided by Dave Hyatt, and you get a browser that is reasonably fast, reasonably pretty, and not that much of a pain to code for. I contrast this with IE. (Mozilla was not that bad, but I still find bugzilla a pain to work with when entering bugs.)
Perhaps a W3C-designed compliance test loaded chock full of edge cases, screenshots, and a wall of shame report for all of the major browsers. I find it utterly pathetic that the industry as a whole is unable to render some fairly simple nested tables or basic CSS. This is not rocket science, nor is it a full application-style UI, just a reasonably pleasing layout on a web page.