Tuesday, November 4, 2014

MakerSquare Day 49: How to Make a Chrome Extension (11/1)

This isn't step-by-step instructions for making a Chrome extension. It's not even step-by-step instructions for making the Chrome extension that I made this last week, a spoiler blocker for Twitter.

But yesterday I solved some final problems I had with my Chrome extension, Shush!, and I wanted to make a few notes about the whole process.

First, writing a Chrome extension is a lot like writing any code. You start with an idea.

Then, you realize that your idea is way too big.

There's no way you can, in the time given, make a program that will scrape data from the internet to find out what words are related to what other words, so that it'll know to avoid "#RedWedding" when you tell it you don't want "Game of Thrones" spoilers. It's doable--and I'm still excited by the idea--but it's not part of the week-long project to make a minimum viable product.

Other things that are the same when making a Chrome extension: your idea of what it should look like or how it should achieve its goal will change--be prepared to change it. Also, and as usual, every project consists of smaller tasks that are immediately solvable. The key to any project seems to be having that dual-minded approach: remembering the big picture, while focusing on the solvable modular bits.

And, as with writing web applications more generally, one of your biggest resources is things people have already done. There are a lot of Chrome extensions out there--and Google has a nice library of example extensions that just do one or two things; so when you know the specific task you have to solve, it's interesting to see how other people approached it.

Anyway, it's not finished finished. For one thing, my mentor just pointed out that I should include some contact information on it. But if you're here, that means you know how to contact me, so, if you want to see the rough but functional code, it's up on Github right now: https://github.com/benjaminjb/twitterblocker.

No comments:

Post a Comment