In his free time, our team member Anh found something better than bookmarking websites: writing his own scripts to open up multiple websites at once, and even log himself into them. After we realized how useful this feature could be, we decided to make an easily accessible GUI that lets anyone create their own complex bookmarks.
What it does
By running the main window Python script, users can open any of the “bookspaces” (short for bookmark workspaces) that they have saved before, with a browser automatically opening up each website stored as a bookmark in the bookspace. Users can also delete bookspaces, and creating new ones is done through a simple interface where users can enter the link to the website (and optionally, log-in information to automatically log in).
How I built it
We used Python due to its ease of use and large amount of support online (though Peter had to learn Python on-the-fly). Then, we chose to use Selenium due to Anh’s prior experience with it, and to use PyQt5 because it seemed capable of making nice-looking GUIs. Afterwards, we split up the tasks organically and evenly. Andy worked on the main user interface window, where you choose which bookspaces to open or delete and can click a button to create new bookspaces; Anh worked on automating the writing of the scripts for opening up the bookmarked websites; and Peter worked to bridge their work by developing the “Create Bookspace” function in full.
Challenges I ran into
Finding the right Qt features to use and debugging our code, especially when a lot of online documentation is for PyQt4 rather than the (significantly different) PyQt5, were challenges and quite tedious.
Accomplishments that I'm proud of
Learning how to create a GUI interface with PyQt5, a Python binding for the widely used and highly popular Qt toolkit, is something that you don’t learn everyday.
What I learned
We all learned a lot about making GUI interfaces and about Python. We also learned how to learn a complicated toolkit in a very short time span, as well as how to debug and use Git.
What's next for Bookmarks Plus
We ourselves will probably be using this software in the future, so improving its usability is definitely on our minds. There are many ways in which we can improve the software, including by making installation for other users easier and making the interface look nicer.