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.
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.