Five Side Project Ideas
Here are five side projects to which I am thinking of dedicating my non-work time. The first four are programming projects and, of those, only two have the semblance of a business model (I’ll let you decide which ones). The fifth one is more of a multimedia undertaking.
I have a few more ideas in mind, which I’ll be writing about over the next month. I don’t anticipate picking my first side project for 2011 until early February (see Goals for 2011).
Let me know what you think of these. I don’t have any predefined criteria beyond choosing a project that I am excited about that that is fun, educational, and useful.
Good Looking Goal Tracking
Although there are a number of goal tracking tools and webapps out there, none of them seem particularly fun or social to me. Many seem more like non-fancy, yet somehow overly-complicated, “to do” managers (e.g., Lifetick).
I am thinking there is space for a free goal tracking app that focuses on (i) charts and other visual goodies to visualize progress, (ii) game elements to incentivize continued use, and (iii) a light social element whereby friends can cheer you on, you can compare your progress to other people, and you can share aforementioned visual goodies with others via Twitter, Facebook, and other usual suspects.
Specializing on only one goal family (getting ready for a marathon, going to the gym every week, losing weight, etc.) and focusing on one great progress visualization, one game element, and one social element (e.g., share the goal with friends and then compare progress), I think there’s an easy-to-build and niche-ready MVP from which to iterate.
Zoom-Based UIs for…
I have been infatuated with zoom-based and spatial UIs for a while (take a look at the Aurora concept video at 2:06). Spaces and Expose for the Mac are good examples, as is Tab Candy for Firefox (now called Panorama).
Unfortunately, it’s difficult to build webapps with zooming as an interface element because… well, uh, ya… html/css don’t lend themselves to zooming all that easily. Now, you can get around this by playing with the webapp’s container in the OS, which is how a number of extensions such as the above mentioned Tab Candy do it, but then you’re mired in multi-platform development which is no way to build a mainstream product.
Today, with html5 and the <canvas> tag, however, zooming becomes a lot easier. I am thinking the time has come for me write a zoom-based interface to an existing website. I think the obvious choice here is search result visualization: run a search, see result pages visually-grouped together by category, use the mouse to zoom-into any group to see further results for that category (perhaps grouped by sub-categories) or some such. Other applications might be visualization one’s browser history, one’s delicious bookmarks (well, pinboard.in now that delicious is donzo), or the live Twitter stream.
With Google Custom Search and Yahoo BOSS, building this should simply be a matter of rewriting search-result visualization — this is a pure UX/UI project.
Three.js Multi-User Social Network
Three.js is an awesome lightweight javascript 3D library, built by Mr. Doob, a pretty well-known actionscript and html5 designer and coder. Basically, it allows you to do 3D in the browser (with or without WebGL) without needing any plug-ins.
I am thinking of building a social network where users’ profiles are represented as a house/room in a 3D environment with multi-user support and elementary avatars. Think web-based MMO Minecraft without the crafting or fun but with 3D graphics that scream 1992. Like this, but more simple, and with people. I know, hawt!
Vertical And Social Search for Developers
Vertical search has been very successful in fields such as travel, restaurant/business reviews, and law. I am thinking that programming/development is ripe for a vertical search engine, especially given the increasing and unfortunate prominence of content farms when doing Google searches on programming topics.
The plan is to pick an ultra-niche (e.g., Python web development with Django, or javascript/node.js or clojure/incanter) and build a search engine that provides results from (i) APIs and docs for the language, (ii) popular modules and packages, (iii) blogs about the language, (iv) Stack Overflow, and (v) github projects in the language. The approach would be pure whitelist, supplemented by results from Google.
In addition to this traditional search (library) aspect, by focusing on an ultra-niche, I’d like to also provide social search (village) a la aardvark. Because I’d be dealing with programmers from the same community, just about everyone using the engine is an appropriate target for questions. The search interface could include a live IM/Q&A mechanism. Really I am thinking of something at the intersection of search and community. Shades of Sociabl live interaction, I know.
There is a pretty good history of small verticals working, plus I feel like there are standard business models that lend themselves to websites for programmers (e.g., job postings like on 37signals for designers or Stack Overflow for programmers). The difficulty here is coming up with an MVP that’s truly M.
A History of Video Games
A few months ago, my friend Greg sent me a video lecture reviewing technology innovation and change over the past 25 years. It’s a pretty great speech highlighting both how far we have come in terms of innovation and how little we’ve actually evolved in terms of the ideas behind this innovation. As Greg put it, “it’s a good illustration of [the basic point] that sustainable innovation often comes from really old ideas being revisited with modern infrastructure.”
I have always been fascinated by video games — not just playing them, but also looking at how they continually evolve and dazzle us while still dealing with the same currencies fun, addiction and social interaction. I’d like to create a multimedia series that explores how tried-and-true ways to have fun have been visited and revisited through the many generations of video and computer games, 1970s to today. This would probably be a year-long project of blog posts, videos, and interviews with game developers.
Think of it also as a great excuse to whip out ye ol’ PS3, N64, and Commodore 64D (Great Giana Sisters, here I come).