Alyssa's Coding Journal

About


Architecture


Limits of Firefox Extension Pages

Posted by Alyssa Riceman on

Half a year ago, I decided I wanted to write an ebook-reader extension for Firefox.

I was, I thought, following in the grand tradition of such extensions as EPUBReader, whose interface I have a number of issues with but whose basic concept I’ve always found very solid. The EPUB format is sufficiently based on web technology that the web browser is the natural home for it, after all. And a browser extension is more conveniently accessible than either a loose bundle of HTML files (which less technically-inclined users are likely to struggle to make use of) or a website (which requires internet access to get access to, rather than being storable via a convenient offline file).

This was, in retrospect, a mistake.

Keep reading


Introduction to Plugin Systems

Posted by Alyssa Riceman on

1. Why Plugins?

There are many sorts of program for which extensibility is useful. Where, instead of just having an atomic program which does everything it needs to do straight out of the metaphorical box and which can’t do anything else, one instead wants the versatility of being able to plug additional functionality into one’s program post-installation via a standardized interface, and the versatility of being able to code one’s own plugins for that interface.

Keep reading