Wednesday, May 21, 2003

Advocates of the Windows platform are always saying how great it is because developers can write software for a "consistent UI" and Linux is bad because the desktop GUI is fragmented between KDE/Gnome/etc. This *sounds* nice, but when you sit down to actually write production software that people will actually download and install on their Windows 95/98/98SE/ME/NT/2000/XP/2003 Server, all with different versions of Internet Explorer and different service pack levels, you realize it's not true at all. Our "ExchangeIT" Outlook add-in uses something called WinInet to communicate using HTTP. The wininet.dll file (that we call into at runtime) is different for every version of Internet Explorer out there, and thus behaves differently for different users. This is a bitch because not only do we not have the source code for this poorly documented library (it is a black box -- we can't see how it works internally) our users will be running it against *different* black boxes depending on their version of windows/IE/SP. I wish we could either 1) ship the version of this dll that we test against with the product or 2) write our own damn win32 internet library so we know how it works. Option 1 is probably prohibited by Microsoft and 2 is not possible in the short term.

No comments: