We've been dealing with Brown websites for a year and half now, and one thing that's always been a bit annoying is that most of the worthwhile destinations are hidden behind walls of other websites. What's more, simply bookmarking these important destinations (such as one's transcript, or one's weekly class schedule and calendar) will not allow quick access. Some don't have their own URLs, and some further require that the user navigates to them from some referrer. So, as two totally new javascript programmers and one with some working knowledge of the language, we set out to develop a chrome extension that contained functional 'bookmarks' for our most common (and inconvenient) Brown-related web destinations.

How does it work?

By navigating the user's active tab through all of the necessary websites to access their selected destination, HelperTeddy brings any Brown student to their desired website as quickly as possible.

How we built it

Since we were brand new to javascript, we had to start out by reading the language's most basic documentation. Then, we began to hack the demo extension bit by bit until it resembled what we were trying to build with more and more accuracy.

Challenges we ran into

Chrome security measures prevented us from auto-clicking through the Shibboleth Brown login; this resulted in some difficulty when auto-navigating through particularly secure websites such as the Brown Banner. Another challenge was that our initial build of HelperTeddy ran the javascript navigator script from the dropdown menu of the extension; this meant that if the user clicked on the main frame of Chrome and the dropdown closed, the navigation stopped altogether! We had to restructure the way in which messages were passed between our dropdown and our background script, so that the navigation would persist.

Accomplishments that we're proud of

We built something functional in a new language! That's been really great for us, as two of us had never seen these languages before Hack@Brown day 1. We built around many different issues throughout the course of development, and managed to find an appropriate work-around for every one. We're very happy not only with our product, though -- we stayed focused on learning our environment until it came time to work, and then we shifted focus well and stayed on-task.

What we learned

Javascript and some HTML! In all seriousness, though, we learned a great deal about the structure of a Chrome extension, and how different web languages can be used to work with one another.

Built With

Share this project: