Software Updates: Auto-chaos Posted by Swapnil Pathare on Nov 24

I got a SOS call from a relative while I was on vacation. “My Internet Explorer is not working.” No idea why. No one can resolve it. Other browsers are working properly.

Long story short, after having spent a few minutes on his PC, I found out that IE was hanging the moment it started. His PC maintenance guy had come and tried to reconfigure the Internet connection (heh), which didn’t help much. (The fact that a browser ought to hang on the OS from the same company should have seemed absurd, but somehow we are all used to it, mostly due to virus attacks and corruption.)

But why would a perfectly working IE hang all of a sudden? I got another bit of info from the user: “It asked me to upgrade to version 7. It is not working ever since I upgraded”. Sad. MS doesn’t test its upgrades enough! Useless! Thankfulle, before I could post my rant online, I googled and found a quick solution: Uninstall Yahoo! Companion and all shall be fine. And indeed it worked! Perfect answer… and boy did I get showered with praises for starting up good old IE with fewer toolbars!

For no fault of its own, IE was screwed and broken due to the upgrade. Oh, but there is a fault in it… the upgrade itself!

The sad thing here is that IE either doesn’t have any idea about what applications are plugged-in (or coaxed in) to it, or that it doesn’t care about them during the upgrade. Either ways, it is the user who suffers.

FF covers addons a lot more by checking their versions and the compatibility after each upgrade. That said, a foolproof “Go back to the previous version” ought to be present for all major upgrades which are not critical, simply because there may be a functionality dear to the user (and a don’t care for the dev) which might stop working in the new version. Edit: Even if the update is critical or security related, why not let the user choose whether he needs a secure app or a working one?

The other way out is to have a package manager like Debian’s ‘apt’ tool to handle all upgrades and report clashes to the user. But that’s a distant dream on Windows with everyone having their own installers.

I hate automatic updates & installs. (I have also written earlier about Acrobat Reader’s need to download and install “Critical Security” updates every few weeks from the Internet. There ought not to be those many security vulnerabilities in a document reader.) But all kinds of applications today are coming up with internet updates. While this does allow you to provide your latest and greatest piece of code to the user, you might just end up breaking something because of incompatibilities with other software.

Adhering to the policy of oldversion.com: “Because Newer Is Not Always Better”, I try to keep my software tuned for manual updates. Reduces the trouble, as well as the bandwidth consumption (required specially for limited-download connections). Yet, it does no harm to remember that software one develops will not be the only process running on any machine. Let’s have some consideration for others.

The best of CSS3… together Posted by Swapnil Pathare on Nov 19

Opacity, Shadow and Rounded-corner control over rendered objects make CSS3 exciting stuff. Imagine creating a beautiful website with all these features, without using an image editing program! (ok, throw in @font-face and you have the font of your choice on the webpage as well. That’s it. Image editing is out)

Its safe to assume that not all developers will be using these features for mainstream websites unless our very dear IE supports them. So we still have time to see these beauties in action. But we have a lot of gray area for what happens when these are used together. The implementations are still juggling with these questions.

For example, what happens when opacity of a box is 50% and a drop-shadow attribute is used for the box? Or, what happens when a shadow drops on a box which is having less opacity? Should the shadow have rounded corners for a box with rounded corners? How should a shadow with bigger fade (black to transparent area) render on a shadow with smaller fade?

These are just some tricky “beginner” questions with no straight answers. Fortunately the community is pretty enthusiastic about rendering these effects with markup. Lot of such issues and fundamentals have been discussed.

In an image editor you can manipulate the effect rendered depending on which operation you perform first. This is not really clear for CSS, and with browser implementations which can vary, it might be a bit of a hassle for us to have consistent cross-browser CSS3 markup ready to use.