September 19, 2016 - Stephen Houston
Introducing Stephen Houston: Our Newest Intern
As the newest developer to have the privilege of taking part in Samsung’s Open Source Group internship program, I would like to give a brief introduction of myself, my experience, and my focus with Samsung.
I am a software developer and analyst who holds a bachelor’s degree in Computer Information Systems, and I’m currently working towards a Master of Business Administration. I’ve been an open source developer since I was 16 (a long time ago), and I have spent the majority of my time writing code related to the Enlightenment project. When I first stumbled across Enlightenment 17 in the early 2000’s, there was a widget library at the time called Ewl. The creator of Ewl, Nathan Ingersoll, took me under his wing and began teaching me C and how to use Ewl and other Enlightenment Foundation Libraries (EFL). I used this knowledge to create and develop Ephoto: an EFL based image viewer. I have made many contributions to the EFL including work that can be seen on Enlightenment’s file manager and file selector, Elementary widgets including gengrid, and Eio’s asynchronous file operations.
Ephoto is a fast, visually appealing image viewer that has many features. It allows users to view their images by a thumbnail grid, one by one, or in a moving slideshow. Ephoto also has editing filters that include auto equalization, gaussian blur, difference of gaussian sharpening, Floyd Steinberg dithering, Sobel edge detection, embossing, red eye removal, posterizing, sketching, and more. Brightness, contrast, gamma, hue, saturation, and value levels can all be adjusted on images as well. Ephoto is currently experiencing it’s first release cycle after over a decade of development (Sound familiar? Perhaps like E17?).
As part of my work with the Samsung Open Source Group I’ll be using my experience and expertise with the Enlightenment project to create gadgets using the new gadget API Mike Blumenkrantz introduced in the Enlightenment 21 release. My primary focus will be to create new modules that will be compatible with Bryce, a container infrastructure that Mike wrote for the new gadget system. Specifically, these gadgets will include a new launcher for Enlightenment, as well as gadgets for system information. The new launcher gadget will also have taskbar functionality, popup window previews, and .desktop context action menus. The system info gadgets will cover an array of information including battery percentage, power saving options, temperature, CPU frequency, CPU load, memory usage, and network upload/download statistics. All of the new gadgets will provide an intuitive, elegant interface, with configuration options presented in a popup rather than a dialog so they are consistent with the other gadgets that currently use the new API. My goal is to create these gadgets in a manner that is easily replicated in order to encourage others to get involved and create more gadgets. When I am finished, there will be enough stable modules to make Bryce a legitimate replacement for the current shelf system.
It is my pleasure to be given this internship to work with other open source enthusiasts and spend more time on a project that I have poured myself into for the last decade. I look forward to communicating with all of you as we work on these projects and work with the open source community. Long live open source development!
Image Credits: EFL Project