My contributions to elementary OS as a non-coder and how you can too!
The power of suggestions in open source software.
I'm a space writer by profession and until recently I used Linux as my primary operating system, mainly elementary OS. That's because Linux in general functions better for me than Windows and I'm an open source enthusiast.
While Linux is great, I think it has a long way to go to be ready for the non-techie crowd. So whenever possible I do my part and contribute to open source projects. But the thing is, I don't know how to code. Instead, I file bug reports with suggestions to improve user interface and experiences. It turns out that if the project owners like your ideas, they go ahead and implement said features which then reaches all their users!
So I think it's a good idea to summarize all my user-facing contributions to elementary OS that didn't involve any coding whatsoever. Let's begin.
Files
I merely suggested in a bug report that tabs in elementary's amazing file manager should be navigable by using "Ctrl+Tab" like a browser. And they implemented it! It just made sense to me given that all their apps utilize a browser-like navigation pattern for tabs.
I like how GNOME provides an option to automatically delete files after 'X' days in thrash. So I suggested elementary to do so too and voila, it was implemented by one of their developers as an OS-wide feature and released to the public as a system update.
Screenshots
For a long time, taking a screenshot on elementary OS with the "PrtScr" button didn't give any visual feedback whatsoever. There wasn't a way to know if the shot was taken or of which area, like for a window screenshot for instance. So I just filed a bug report and they implemented a nice visual cue.
On a related note, visual feedback was also missing on elementary OS when snapping windows to the left/right. I filed a bug report and they implemented that too!
elementary OS supports floating window style apps like Clipped. This style is also utilized by elementary's own Screenshot tool. Such apps are supposed to be quick tools that you can dismiss by pressing the "Esc" key. But the screenshot tool didn't support it so I reported it, and it was implemented and rolled out to everyone!
AppCenter
elementary's software store, AppCenter, got better keyboard navigation thanks to developers implementing my suggested features, like using "Ctrl+F" anywhere in the app to focus the search bar and navigating search results using the keyboard.
Further, app pages now always show changelogs so you know what's new in the app or how often it’s updated.
Terminal
The terminal app also got a better default size on fresh installs thanks to just a simple bug report. It was too small previously.
The default dark theme of elementary's terminal also had a slightly low contrast which made for non-ideal readability. It was resolved partly thanks to my bug report and elementary’s larger drive to improve contrast OS-wide.
Enhanced Privacy in the browser
Epiphany, elementary's default browser, improved its privacy after I suggested it only allow first-party cookies on websites. Third party cookies are used to track you online and so it wasn’t a good default to allow those. In this case, I went ahead and implemented the change myself and it was merged! It was my first ever commit and elementary's co-founder Cassidy James helped me through the process with patience.
Better Applications Menu
elementary's application launcher can search and launch not just apps but also specific actions like say "Private mode in Firefox". That got me thinking why not extend the same to specific settings. So I suggested it in a bug report and the developers implemented it in an even better way which teaches users where the setting belongs.
Another minor UX issue in the launcher search was that while keyboard navigating, you couldn't cycle back to the the top of the list from the bottom or vice versa. It was fixed the same way as well.
Miscellaneous
Other features I merely suggested and the truly wonderful elementary developers implemented are:
- The email app now watches for new mails in the background, as in mobile apps.
- Ability to disable Bluetooth altogether.
- Shutdown prompt on pressing power hardware button.
Closing thoughts
I was able to contribute meaningful, user-facing features to elementary OS by merely suggesting changes and not knowing how to code. Remember, all those features reached thousands and thousands of users.
I'd like to note that of all the projects I've contributed to, elementary OS has been the most welcoming one. Their developers don't just see the bug you filed as is, but rather try to extract out the underlying problem. So you'll notice in some of the above mentioned bug reports that they'll take your feature suggestion and make it even better.
Of course not all features you suggest will get magically accepted, your suggestions need to be in line with the project's philosophy. And when they've not been so in my case, elementary developers took the time to explain why said request doesn't fit their philosophy. They didn't just dismiss the report and closed it as “WONTFIX” abruptly, helping me understand better while not breaking my contribution spirit.
I'd also like to express here that unlike elementary, my experience with contributing to GNOME has been somewhat disappointing for all of its dozen paper cuts. Not accepting suggestions because they don't match "your philosophy" is fine but the rather rude way in which suggestions are shot down does not inspire me to contribute in the future.
Anyway, I hope my post inspired you. Go contribute to your favorite open source project. Open source is amazing because everyone can contribute in ways that suits them and the resulting product works better for all. :)