Skip to main content

DPS909 - Release 0.1 - A Fork in the Road

Hello friends, welcome back to my journey into the world of open source. Continuing from the last milestone (in which we explored pushing a simple app to Github), this time I begin to scratch the surface of a major aspect of open source - community contributions. For the Release 0.1 deliverable, I work alongside my fellow classmates from the DPS909 course, as we work to review and bugfix each other's work. For reference, we all created the same, simple note-taking app, but each programmer's individual preferences resulted in slightly different designs with unique source code.

According to proper Github etiquette, users wishing to contribute to a project should first fork a version of the repo to their own Github account. Then, a separate branch of the repo should be made to specifically address the contribution being made. After the changes are implemented, a formal pull request should be submitted to the official project repo, so that it can be reviewed by the original author. If the author deems the contribution to be of good quality, they may accept the pull request and merge it into the original project repo. Admittedly, I ran into some troubles when first setting up my contributions through the appropriate channels. The biggest mistake I made was committing my changes to the wrong branch for one of my contributions - an error I did not notice until I had already made the push to my fork. Luckily some quick googling led me to a useful little git bash command called git revert, which (as its name clearly implies) simply reverts the actions of the last commit.

As for the actual details of Release 0.1, I've chosen to to contribute to two of my classmates' apps through Github, one a simple bugfix, and the other an additional feature. The details of my work are as follows:

Contribution 1 - Bugfix

Target Project: Whiteboard by ODAVING
Project Live Page: https://odaving.github.io/Whiteboard/
Contribution Details: UI bugfix and code cleanup

Improved Whiteboard app by user ODAVING on Github

For my first Release 0.1 contribution, I reviewed the note-taking app of my colleague ODAVING on Github, called Whiteboard. It has the ability to save your note via the ctrl + S shortcut (or cmd + S on macOS), and also a simple and intuitive UI. However, the original design featured the ENTER YOUR IDEA BELOW prompt in the same box as the note field, which is a bit unintuitive, as it was not very obvious where the user should click to begin typing their note. I posted an issue of this problem on Whiteboard's Github repo, and made my own fork of the project.

To begin bugfixing, I created a new branch of the repo, and then addressed the issue by separating the user prompt and the note field into two different divs in the HTML source code. Finally, I moved all of the project's inline styles into their own CSS file.

Once I was sure my bugfix was complete (addressed all aspects of the target issue), and agreed with the standards of the original Whiteboard app, I pushed the changes to my fork of the project. I then submitted a pull request to user ODAVING, so that my contribution may be merged with the main project repo. As you can see by visiting the project's live page, my pull request has been accepted, and my bugfix was officially incorporated into the current version of the Whiteboard project.

For any open source contribution, it's recommended to collaborate with the author(s) of the original project. Not only is it a show of respect and formality, but it also helps to foster professional relationships and promotes the growth of the open source community! In my case, user ODAVING is a personal friend and classmate, so I was able to get in touch with him personally, in order to ensure that my contributions met his standards and that he was satisfied with the outcome of the merge.

Obviously, I received ODAVING's consent to post this transcript!

Contribution 2 - Additional Feature

Target Project: Waj-Notes by wajeehsheikh
Project Live Page: https://wajeehsheikh.github.io/Waj-Notes/
Contribution Details: App visual improvement

Improved Waj-Notes app by user wajeehsheikh on Github

For my second Release 0.1 contribution, I investigated the note-taking app of another colleague, user wajeehsheikh on Github. His Waj-Notes app had a very clean and distraction-free design that also allowed the user to save their notes by pressing the ctrl + S shortcut. However, I thought that the original app was a bit plain, and could be improved by adding some color and a unique background in order to visually distinguish it from other apps of the same kind. To notify the author of the potential problems that I saw with his current design, I posted my new ideas for Waj-Notes as an issue on the project's Github repo. Then, similarly to my first Release 1.0 contribution, I forked the project to my own Github account, and created a new branch to begin working on my proposed features.

To address the issue that I posted for Waj-Notes, I decided to make the background of the app more visually appealing by adding a repeating corkboard graphic. This gave the app a bit of flair compared to its previous plain white background, but without being too visually distracting. Then, I gave the page some CSS styling so the note field resembled a sticky note, in order to distinguish it from the rest of the page elements.

After checking my prospective contributions over to ensure that it was of high quality and adhered to the standards set by the original Waj-Notes project, I pushed the changes to my fork. After that, I submitted a formal pull request to wajeehsheikh, so that it can be reviewed at his discretion. As of the time of writing this post, my pull request has not yet been accepted, but hopefully wajeehsheikh deem it a quality contribution to his app, and eventually merge it into the official Waj-Notes main branch! You can find the Waj-Notes app hosted here (and, just maybe, including my neat design additions as well!).


Comments

Popular posts from this blog

DPS909 - Lab 2 - Git Practice: Simple Noter App

Once again, I am continuing my journey to become a full-fledged member of the open source community. For this small milestone, I am practicing the creation and management of a Github repo using git bash on my local machine. For test material, I have created an incredibly simple, browser-based sticky note app, appropriately called Simple Noter. For those interested, the final product is hosted on Github Pages, and can be found here: https://jerryshueh.github.io/simple-noter/ The app itself is very basic - simply type a note into the text space and hit CTRL + X to save. Your note will be saved between sessions until you clear your browser's local data. It uses a number of open source and free-to-use resources, such as Kenny Wong's Hotkeys.js , and Google Fonts. By the way, something I've learned is that all Google Fonts are distributed under the SIL Open Font License, which allows anyone to use and modify them for personal or commercial purposes. As for the learning proce

DPS909 - Lab 1 - Github Trending Research: WebGL Fluid Simulator

The WebGL Fluid Simulator is a small application that allows the user to play with simulated fluids right in their browser, and works on both PCs and mobile devices. The visual effects follow proper fluid dynamics, and can be manipulated in real time by pointing and click, as well as several available options such as quality, density, and velocity.  The app is written in JavaScript, and as the name suggests, visually renders its effects using WebGL. It was created by Github user PavelDoGreat based off another Github project:  Fluids-2D , and is distributed under the MIT license. As of September 8th, 2019, WebGL Fluid Simulator is trending with 2,307 stars during the month, and 6,070 stars in total. Main interface of WebGL Fluid Simulator by Github user PavelDoGreat I was interested in investigating this project as it demonstrates the breadth of open source resources on Github. Users can find projects that range from complex systems and APIs, to small plug-ins and simple applica

DPS 909 - Lab 3 - Hacktoberfest, and the Very Scary Repository

It's that time of year; the mornings are getting chilly, the leaves are turning, the pumpkin spice is flowing, and open source developers are getting all worked up over something called Hacktoberfest . Not to be confused with the other , similar-sounding (though arguably no less beer-filled) celebration, Hacktoberfest is a chance for open source enthusiast to truly flex their projects and contributions. Hosted by DigitalOcean , Hacktoberfest 2019 is an event running throughout the month of October that encourages activity in the open source community. It is completely free to sign up, and participants can even link their Github accounts to use as their Hacktoberfest profiles. As you may have already guessed, I will be participating in this event as my next major milestone on my journey into the world of open source. Through the miracle of APIs, even my profile picture was imported! While the prospect of diving headfirst into such a large, open source event as a beginner may s