Jun 2

The Dark Side of Plugin Architectures

I love plugin architectures. Having a well-done method for people to extend your system is a huge, huge benefit that we’ve discussed and lauded in relation to Firefox and Movable Type.

But, there’s a dark side.

When you update software to a new version, you normally do a regression test, which means you go back through all the old funcitonality to make sure it all still works. If the software has been completely written within your organization, this isn’t a normally problem since you have the whole codebase. But if there are plugins and extensions that are written elsewhere — some that you may not even know exist — how do you test those?

Well, you don’t. What this means is that different things break for different people when you upgrade. Case in point — I ran an automatic update to Firefox this morning, and I lost four extensions that weren’t compatible with the new versions. I hope that sometime in the future, compatible versions come out for those extensions, but until then, I’ve lost some functionality.

What gets worse for software developers is when someone writes a “killer extension” for your system — an extension that everyone uses. You may find yourself in a position of not releasing upgrades until you’re sure they’re compatible with all the killer extensions lest you really irrritate your users or they just refuse to upgrade rather than lose their beloved extension.

The same can be said of the relationship between OS and software, I guess. I remember reading that when Windows XP came out, Microsoft had to insert thousands of hacks and special cases for specific software titles (SimCity, for instance), to ensure they didn’t break. If they did break, Windows would take the blame, although in most cases, the problems were because the software developers were doing very unorthodox and unsupported things.

As people write stuff (software, plugins, extensions, etc.) for your platform, you start to lose a little control. Some of this can become critical to people, and your users may look to you to make sure it keeps running after you upgrade.


Comments

by Sauron,   June 2, 2006 10:25 AM  

For what it's worth, unless one of the major two numbers change in the version, the extension's probably still compatible. The problem is that the extension has a built in listing of what version of Fx can use it, so you'll have to update that either manually or using Nightly Tester Tools, but I'd be willing to bet that that is all that will be necessary for a minor version change.


by Robyn Tippins,   June 2, 2006 11:15 AM  

It certainly is frustrating. But what to do about it? The system is built upon opensource extension developers who get nothing out of the extension development other than pure joy (ie no monetization) and who, therefore, have no real incentive to update on Mozilla's schedule.

And, did Mozilla warn they were about to upgrade to all of their extension developers?


by iii,   June 3, 2006 8:32 AM  

what to do about it?

provide a rigorous api.

in particular, don't just provide the functionality, but include checks for trying to use functionality you don't want to support. this is almost never done, because there is a lot of overhead both for engineering and testing, but a well designed api will guide extension developers to create code that will survive your upgrades.



Add Comment


Want to advertise on this site? Contact FM.
Web Hosting Web hosting, dedicated servers and Web design services
Laser Toner Cartridges UK laser toner, toner cartridges, hp toner, lexmark toner, samsung toner, canon, toner, epson toner, oki toner, kyocera toner, xerox toner, remanufactured toner, compatible toner
Direct TV Deals Free 4 room direct tv deals. no equipment to buy. free fast professional direct tv installation. this is the best direct tv deal available anywhere.
SEO Article Learn from the experts with our SEO article.
rope light Shopping with birddog distributing, inc., gives you access to the lowest prices, the best customer service and the quickest delivery times possible.
Laptop AC Adapter We offer genuine factory direct replacement AC adapters.
Direct TV Best satellite TV deals.
Direct TV Deals Direct TV programming deals are varied and include packages containing from 50 channels up to over 250 channels.
8mm film to DVD Retain family memories with the only frame by frame digital restoration service in the United States for your 8mm film to DVD today
Rubber Stamp Shop for custom self-inking stamps, hand stamps, address stamps, label stamps, check endorsement stamps, check deposit stamps, date stamps, pre inks, pocket stamps, ink and much more!