A Developer's Operating System

June 10, 2014 — Bryan Allred

The Inspiration

About a month ago an article written by Mathew Garret, The Desktop and the Developer, was published which made some ripples throughout the community (or at least was referenced through various sites). Here is a summary of his observations:

  • Majority of deployments of OpenStack (for what the conference he was attending was all about) are Linux-based
  • The most popular laptop vendor at the conference appeared to be Apple
  • Macs are aesthetically pleasing
  • Developers don’t want to use different hardware and operating systems for work and pleasure
  • The new generation of developers are more interested in the overall user experience
  • And here were some of the revelations:
    • Why migrate to Linux where at best they would have a comparable experience?
    • Developers need an environment which gives them access to the services they use on a daily basis
    • Current workflows are broken or cumbersome having to go through multiple mediums and applications for monitoring and interaction
    • Time is lost or wasted bouncing between different web applications/services

Challenge Accepted

I’ll be the first to admit the polish is probably going to be the last thing being focused on. Why? Because being a minimalist means only the base requirements are necessary and anything else is just fluff and getting in the way. However, this doesn’t mean good ideas may not come out of this venture. First things first we put forth some ideas we’d like to see in a final product. These can be viewed on our Trello Board. To highlight just a few:

  • Continuous polling for incoming commits with notifications
  • Central issue tracking capabilities
  • Simplify the version control system use by wrapping them in to one common command interface
  • Automated build and continuous integration systems installed and configured by default
  • For each custom program we want to make it available by itself but to have it mesh very well within the intended suite. What this means is people can pick and choose what they would like to use as well as make it accessible to anyone not using the distribution.

It is also important we maximize the use of open source technologies. For the first go-around we want to have functionality there. If something deviates or we decide we want to simplify an item we can go about and do it, but really we don’t want to re-create the wheel if at all possible.

One interesting decision made early on was to follow the KISS principle. This falls right in line with our favorite distribution Arch Linux. Not only is it extremely customizable and rather light weight, but the rolling releases are great for bleeding edge development.

The Intended Target Audience

While we do intend to focus on developers in general we realize we also want to promote collaboration and contributions to open source technology. With that said more than likely a lot of the tooling given priority will be those focused on workflows of developers who contribute to open source (i.e. issue tracking on GitHub or BitBucket will come before internal issue management systems).

We encourage any and all feedback during this process. Just email us at team at revolvingcow dot com or on the Trello Board. The more feedback we have the better custom fit we can achieve.