A Realization
by Justin Michalicek on Sept. 19, 2011, 7:04 a.m. UTCWhile trying to come up with my next project it just really hit me that I really enjoy doing more back end, library type work. My two most recent projects, both of which I really enjoyed working on, were an OAuth library and an app for Django which has no UI elements.
Most of my applications that do have a UI get a minimal one. My Android XMPP chat client just has white text on a black background and ListViews, this website's layout and colors are simple and pretty terrible, and my other Android apps have really simple, unimpressive UIs. When I am doing UI work I find two problems. The first is that I'm just not very good at it. I don't know how to put colors together to look nice, I can't make nice looking graphics in Photoshop, and on the web I find myself fighting with CSS for hours to bend it to my will. Even at the best of times, when things are going smoothly and the result is reasonable, I find that the work is tedious and boring.
This leads to a problem. I want to develop the back end for an application that doesn't exist and probably won't exist due to some combination of not wanting to do the UI work and not being capable of creating a UI that I would ever want anyone else to see. I'm not referring to any app in particular that I've got in mind right now, just in general whether I'm thinking about developing a game, a website, or some sort of mobile app.
This leaves me wondering what applications I can develop that have no real UI, what existing F/OSS projects I might be able to add libraries to (which comes with its own issues to consider), and what libraries I could write for my current favorite languages that could fill a gap in what's currently available. I've got a few possibilities that I'm considering.