Link: bildr Code
With DIY electronics today, the hard part is all code. For bildr (my largest side project), I needed a way to collaborate on code with people. Multi-file code. And by people, I mean people, not engineers. So if you were thinking "Just use SVN or Git"… yeah, not those people.
Over almost two years I conceptualized, designed, and built two versions of this project.
I started this project in 2009. Google docs weren't that great. You still had to save your changes in Apple software. A desktop client for github was years out; you had to do it all in the command line.
The amount of people programming for fun is starting to shadow the number who do it professionally. So I needed a way to collaborate with people who had probably never used SVN or Git. I designed bildr Code to look and function like a desktop application, but I borrowed from blogging interfaces and language as a way to describe publishing changes.
Just like blogging, after a project is published, all changes are made in draft mode and not published until the user specifically says to do so.
The interface has the familiarity of working in a desktop application. For example, users can change file names by simply clicking on the file name.
Just like a wiki, all changes users make--including file names, additions, and deletions--are tracked, and can be reverted at any time.
Publishing changes to your project is one way of saving a state, but what about in between publishes? Simply saving your file when working online isn't always enough.
bildr Code saves your changes as you type. It even allows for nonlinear undos, so users never have to worry about going back and trying something else, they can always get back to where they were.
People want to share their code, but they also want to be able to do it in a place that is right for them. For this reason bildr Code allows users to post their code project anywhere, while still being linked to the same great back end.
Code in the embed is fully syntax highlighted based on the file name extension. It even allows users to download a zip file of the project so they are not forced to copy multiple files of code.