Saturday, November 19, 2011

Weekend Project: Plugins

I've been developing the Jawaya plugin for almost a year. Deisng, implement, test, redesign, test, redesign, trash it, rebuild, rip and replace...all kinds of figuring out what feels right.

Plugins are a pain to develop and I'd avoid it if possible. Here's why:

  • Everybody uses browsers. Not everyone extends their browsers with plugins. Some simply don't feel comfortable with giving permissions to another party, een though the browser makers have all of the same permissions already. 
  • Each browser has a different plug-in interface. So you either have to code to 3 or 4 different interfaces--which is painful--or use a common API layer like WebMynd. 
  • Debugging is very painful. Especially if you are hitting server APIs and have multiple callbacks. 
But at this point, I'd have to say I'm a plugin expert (on Chrome anyway); I say that knowing that I'm not a superstar programmer, but I've been to war with plugins, and it's what I know best at this point.

The arguments in favor of plugins: 
  • you can control the browsing experience
  • you can have access to all open tabs
  • you can have access to all browsing history
  • you can access the DOM of any page your peeps visit
  • you can create peer-to-peer apps through the browser, which I haven't done but am really thinking about it now
  • you can extend server apps that you don't have direct access to, like Disqus
  • etc etc. 
Be good, though. You can do a lot of good things through extensions, but given the depth of functionality you can also do some harm. Be an ethical plugin developer. 

So that's what I'm doing today. Tomorrow I do some final packing of the house, Monday we move out of the house, and then it's back to work.

No comments:

Post a Comment