SeanColombo.com

My little corner of the internet.

API Explorer for MediaWiki

Api Explorer: As part of my work trying to make the Wikia API more accessible to developers, I’ve created a basic version of an API Explorer.

Yo dawg: the entire API Explorer is actually written in javascript using the MediaWiki API to build the documentation about the API. Introspection win!

Open source: There is no reason this should be Wikia-specific, so I contributed it upstream to MediaWiki. You can find more info on the ApiExplorer Extension page on MediaWiki.org.

Future plans: when there is time, I’d like to make the MediaWiki API return its example URLs also. When that is working, hopefully we can make the API Explorer let the user issue those example requests and see the results live (and modify the URLs to issue new test requests).

Don’t forget to follow @WikiaAPI on twitter for more updates!

LyricWiki mobile app – Android and iPhone

Download for free from the Apple App Store
Download for free from the Android Market

I’m pleased to announce that the LyricWiki iPhone app has finally hit the App Store!

If you have an Android device, you can grab the LyricWiki Android app which made it out first.

Now that the iOS version is complete, we cover most smartphone users in the US. It’s been a long road (including the month-long submission process through Apple), but this version feels pretty solid.

Homescreen of LyricWiki Android app

Here’s what it’s got so far:

  • Auto-complete
  • Discographies for artists, grouped by album
  • iTunes Top 9 images on main screen
  • Over 1,500,000 lyrics with more added every day
  • Fully licensed: royalties are paid to publishers
  • Powered by a wiki community – constantly updated!
  • These lyrics have had 5 years of review and editing from hundreds of thousands of users! This is the single most accurate lyrics collection anywhere.

I’d also like to give a shout-out to all of the beta-testers and other users who have given feedback about the app… it’s extremely helpful to know what the community wants out of the app. Thank you!

Obviously, it’s never “done” & we’ll keep improving it as we go. If you have any feedback on the app, please let me know in the comments!

Another cool thing about the app is that, thanks to the help of a number of awesome translators, the app is available in these languages: English, German, Spanish, French, Italian, Polish, Finnish, Swedish, Norwegian, Czech, Dutch, Interlingua, Luxembourgish, Telugu, Macedonian, Breton, and Malay!

My next startup: BlueLine Game Studios!

I have two big changes to announce!

The first is that I’ve recently founded my next company: BlueLine Game Studios. It’s been a long time coming and I was really looking forward to the chance to work with Geoff Brown again. After the marathon in September – with all of the extra time from not training anymore – it only took a few days before my restlessness had me thinking over all of the things I’d been studying about Indie Gaming for the last several years.

It seems almost inevitable that I would start a gaming company someday and it was a no-brainer that Geoff would be the first man to pull on-board if I could get him. At this point, I just didn’t have anymore excuses to delay it. I jumped in and contacted the developers of the best boardgames I could find (mostly Mensa Select winners) to discuss licensing. Much to my surprise they were all very responsive, seemed eager to work together, and moved fast. Before I knew it, we had a licensing deal signed to bring one of the most awesome boardgames ever to Xbox 360!

Since then, we signed a deal with another boardgame (to be announced soon ;)). They were seriously the #1 and #2 boardgames that I wanted to make for Xbox 360!

Things have been going quite well. …and fast! Which brings me to my second big change:

Starting Dec. 12th, I’ll be cutting back to 3 days per week at Wikia. I’ve been working on LyricWiki since early 2006. A few months after Wikia acquired LyricWiki, they pulled me in to head up LyricWiki work again and help with development in general. It’s been a great couple of years in which I’ve met some amazing people, but it’s time for me to sew some other seeds also. Furthermore, Wikia is in a great spot and can certainly survive without my fulltime attention ;). Just this morning I noticed that according to Quantcast, Wikia is the 40th biggest site/group-of-sites on the internet (in terms of monthly US uniques). That’s awesome. When I joined, most people I met didn’t know the name Wikia. Two years later we’re starting to become a household name and we have more traffic than MySpace! It’s certainly been an exciting ride so-far.

Better yet, since I’m not even leaving (just cutting back) I can do my part to continue to help Wikia grow to its next big milestones.

I’m looking forward to the adventures in store with this new arrangement and am happy to be back “in the startup arena”*.

If you think this sounds intriguing at all, please follow BlueLine Games on twitter, facebook, google+, it’s blog, or signup to be notified when Hive for Xbox 360 goes live!


* Wikia is so profitable & has so many employees that it’s hard to call it a startup. So much job security… ugh! ;)

What do you want to see?

Note: If you’re seeing this on facebook, it is just pulled in from my blog at http://seancolombo.com

I’m in the mood to do some blogging in the next couple of days but have more ideas than time. What would YOU find most interesting? I’m thinking along the lines of either analyzing LyricWiki statistics or doing quick tutorials (“How to Write a MediaWiki Bot in 10 Minutes or Less”, or something similar).

Here were some ideas of stats I could do. They each take a decent amount of time, so please let me know which ones you are most interested in:

  • Views / #Songs by Genre
  • Views / #Pages by Language
  • Views / #Pages by Publisher
  • Infographic of Lables/Publishers in the Music Industry, how they relate to each other, and their prevalence in the market.
  • Our prevalence in a country vs. it’s prevalence online
  • Impact on page-views of being SOTD / AOTW / FMOM vs. not.
  • Views from songs that were on the iTunes Top 100 during the month vs. those that weren’t. Views/page for that same group.
  • Views by page-age and views/page by page-age.
  • Views by page freshness (last touched) and views/page by page freshness. Include histogram of freshness across all pages.

Let me know in the comments what you want to see! Those stats, the tutorial mentioned, or anything else are all fair game. Since I don’t have many readers yet, if you comment then I’ll probably do the post you’re asking for.

2010 Goals

I’ve always resisted making New Years Resolutions partly because they don’t seem to work for people, but primarily because I think that I should be constantly evaluating myself and my life – and if there is something I need to fix that should be worked on immediately instead of waiting for an arbitrary time once per year.

That said, things have been changing quite quickly in my life I’ve decided this would be a good time to regroup and put together ALL of my goals for the year and do so publicly so that there is some accountability. I’ll be keeping track of progress throughout the year using the tag 2010goals.

Since this is atrociously long for a blog post, I’ve boldfaced just the goals so that you can pick and chose which descriptions to bother with. If you have the time though, you might as well read the whole thing!

It makes sense to me to break the goals up into categories so the list doesn’t seem quite so overwhelming:

Financial

  • Wrap up the financial stuff (taxes, transfers, etc.) from the LyricWiki acquisition and lawsuit. This is more complicated than it sounds, but with the suit settled and behind me, it’s going to be much more clean-cut about what needs to be done from here on out.
  • Make my own meals most of the time. Whew-doggy San Francisco is expensive! It can cost about $20 to get a filling lunch at the hot-food bar of Whole Foods. Add in occasional breakfast, second breakfast, and sometimes second-lunch and this adds up. It’s only a few hundred dollars a month but it’s money that’s basically wasted. I live so close to work that this should be easy to fix. Also putting this in the “Health” section below.
  • Get some secured debt. While I officially “don’t believe in” debt, I actually need to get some. What I mean by this is that I philosophically prefer to live my life by only spending money I’ve already earned and economically there are myriad benefits to this also. I realize not everyone has the luxury of being able to do this (and I’m not judging them), but I was lucky enough to be clothed, fed, etc. by parents until I was plenty old enough to provide for myself. Although I’d rather not get into too much detail about why I “need” debt, suffice it to say that it’s not safe from a legal position not to have any secured debt. It’s absurd to a level I’d rather not get into. On the bright side, this is a good opportunity for me to buy a house or condo and either rent it out or move into it. Rent is absurd in San Francisco so if I can get a loan with a low enough rate I might be able to offset the closing costs and upfront points on the loan in a few years. Typically it takes 5 years for buying a house to be a better investment than renting. I haven’t lived anywhere for even a whole year since probably high-school but hopefully I can stay put for a little while now and also shorten down the time needed to make that profitable.
  • Once I have a financially “normal” month (I keep assuming this will happen), calculate my minimum monthly cost-of-living and then see if I can drive that down at all. It’s pretty hard to make good financial decisions without knowing this number.
  • Get some passive income other than interest. This is primarily an experiment.

Fitness

I feel kind of weird sharing this section, it’s almost too personal.

  • Get an unambiguous six-pack with obliques. Abs are hard to measure, but by my measurements I’ve been waffling between 4 and 6 for a while (with most of the time spent at 4). The goal is to make it so that I’m consistently in a state where they’re recognizable to any measurement as being a six-pack.
  • Make my legs match my body (figure out a diameter for my quads & calves). I’ve always had runner’s legs in part because I’m so paranoid about my knees that I’ve slacked off when it comes to strength-training on my legs. I’ve finally found a set of workouts that I’m comfortable with (even with the knee-paranoia) so it’s time to stop looking like Jack The Pumpkin King.
  • Get 16″ biceps (I think). I’m assuming they’re 15″ right now but I’m actually not positive. While writing this I just ordered one of those diameter tape measures (for $6 shipped – not bad) to make sure I have the numbers right.
  • Weigh 180lbs. minimum. My weight fluctuates about 5lbs from when I wake up until I go to sleep. I’d like to wake up weighing 180 lbs. This should be a gimme if I hit the goal for having reasonably sized legs – I’m at about 174 lbs. in the morning right now.
  • There’s one more but it’s beyond the comfort level of what I want to say on this blog. I’ll still tell you if I finish it or not though.

Health

  • Find a doctor. I haven’t been to a doctor since I gave myself tendinitis training for the Pittsburgh Half Marathon and before that, not since my caffeine-induced ulcer (which was 2006?). Before that, the last time I saw a doctor was my pediatrician. Since I have no family out here in California, I’d really better get on finding one now while I’m healthy in case I need one.
  • Remove Vitamin-D deficiency. My diet is decent, but my main sources of vitamins (cereal and protein shakes) don’t contain Vitamin D. Also, you’re supposed to get about 15 minutes of unprotected sunlight per day at least twice a week. That’s certainly not happening. Vitamin-D deficiency doesn’t show up easily but has a lot of published research suggesting it is dangerous and linked to all kinds of bad things from osteoporosis to a number of cancers. I’m actually not positive I have a deficiency, so I’m planning to have a blood-test to find out my initial level – this will also act as a forcing function to finding a doctor out here. Fixing this is simple with inexpensive supplements (about $10 per year). This idea was completely stolen from one of Kevin Rose’s resolutions.
  • Make my own meals most of the time. I have no problems eating well when I make the food myself, but I find it challenging to have a somewhat diverse and healthy diet and eat out. The problem is more extreme at the moment because I’m new to San Francisco and don’t know all of the places to go. This was also in the “Finance” goals.

Self-awareness:

Most of this section will just be about metrics. Biases are always the strongest when evaluating yourself, so I find that what works for me is to have either external feedback or raw data (yay science!).

  • Track how much I actually work per week. Also, split this up between conventional work (“day-job”?) and side-projects. This will let me see how changes in these numbers affect my morale, energy-levels, productivity, and happiness.
  • Fix my todo widget. That thing was money.

Professional

Conventional

  • Double the traffic on LyricWiki. Technically measuring unique US visitors per month even though that’s not the most interesting metric in my opinion.
  • Finish the Utopia project. Sorry that’s vague, but I can’t be too detailed about unreleased projects. As things happen, I’ll try to blog as much as I can about them.

Entrepreneurial

  • Create a passive income product. I have a specific idea. Although I don’t want to share it (more out of embarrassment for talking about something that doesn’t exist yet than secrecy), the goal is to finish this product and release it and see what happens.
  • Prototype an affordable computer. This is something I think really needs to be done since OLPC didn’t live up to its original goals and is a specialty product focused on developing nations (and thus having higher requirements that the product work in low-electricity, low-connectivity places with sandstorms and the like). I’m sure I’ll proselytize more on this later. To be clear, I think OLPC is a great project which is making good progress, but I think there is more to be done in tangential areas.
  • Release at least one new software product. Oddly, this isn’t a duplicate of the first bullet point (that isn’t software). I need to release software regularly to feel good about life and the universe.

Home-front

  • Make an emergency-preparedness stash. It’s in my nature to be a little over-prepared for extremely horrible-case scenarios (for the economic reasons mentioned below). Also, I’ll bet reading Neil Strauss’ “Emergency didn’t help any! Now that I live in San Francisco which shakes like a bowl of Jell-O it’s kind of negligent of me to not make sure I’m taken care of. When something like Katrina or the Haitian quake happens, you’re not supposed to expect FEMA to be there for a few days. Almost every major natural disaster leads to looting. I’d like to have just enough supplies (and protection measures) so that I don’t have to contribute to the problem or become a victim of it. It’s highly unlikely that I’ll ever need to use this stuff, but it’s one of those things where the economics seems to make sense. It’s a small investment which will have a rather small chance of being used but would have near-infinite value (ie: saving my life and/or lives of loved ones) if needed. This isn’t overly time-consuming or something I’ll have to do regularly, but it’s the kind of task that keeps on being pushed to the back-burner so I’ve really got to get on it. We’ve had 15 quakes in Northern California in the first two weeks of 2010 – there were 37 in all of 2009. That’s just a reminder that Mother Nature isn’t going to wait for me to be ready.
  • Finish unpacking. It’s a good thing I have all year to do this. It’s definitely an 80/20 problem. I’m unpacked enough to have guests over, but I’m not actually done.

Organizational / Time-management

  • Finish most of the books I’ve started before starting others. They’re loose-ends and that’s distracting. It adds stress every time I think about reading and prevents me from buying new books.
  • Get a system for email management. I get a ton of mail and since I’ve moved, the queue of un-handled mail has been growing at a frightfully steep rate to the highest it’s ever been. I’m over 215 unread messages in my inbox right now. Since the only part of my todo widget that’s working at the moment is the unread-email metric, this steep line shows how bad it’s gotten (please note that since the widget doesn’t have functionality for historical data, that link will only be relevant near the time that this post was written).
  • Use my feed-reader only 2 hours per week. My biggest time-sink. I have a really hard time separating what I need to read from what I don’t.
  • Move my “idea graveyard” into my private wiki. I have this concept where I put all of the ideas that I don’t have time to work on yet. The only idea that I put into the graveyard that ever came back out of it was LyricWiki. That worked out pretty well ;) Right now the ideas are on several scraps of paper which is ghetto and keeps me from adding to them.
  • Get my sites up-to-date. My blog, my facebook account, etc. should have links to the current projects I’m working on and retire the old or boring links. Some of my sites are down temporarily, this blog’s about page is out of date, and this skin doesn’t have any of the widgets in it that it should. My online presence is a mess!
  • Make my desks always organized. For some reason, my desks tend to pile up with things that I’m leaving in my way so that I remember to do them. I may need to use some GTD principles, but regardless my workspace needs to be free of these distractions & clutter.
  • Become almost completely cloud-based. This means that everything I need should be accessible from anywhere I have an internet connection and it shouldn’t matter if one (or all) of my computers crash. I’m fairly cloud-based already, but I want to get to the point that the only thing I have only on my hard-drives are personal photos (that I don’t feel like sharing on Flickr or Facebook). In addition, I need a system to get my music collections from various computers combined. iTunes makes it a royal pain (many of my songs were bought before they removed the DRM) and my Amazon purchases are intertwined in weird ways with them. My music library is scattered across 5 computers right now.

Other

  • Blog more! I’m aiming for at least once every two weeks. I’ve been keeping a list (in the cloud no-less) of things I think I should blog about (meaning that I think I have something of value to say) and it’s at over 100 items now. They don’t do any good in that list, so I’ll have to force myself to actually write them. Since this personal blog has no definite theme it will probably never have a regular readership by people who don’t know me personally, but single posts like this random tip on how to modify or delete macros in Notepad++ still get indexed by search engines and help dozens of people per day.
  • Conquer a huge challenge. I definitely need a huge challenge to keep me going and nothing seems to beat the thrill of victory for me (especially in positive-sum games where there are no losers). Last year I ran a half-marathon because I just really needed to. It accomplished its purpose but in the future I’d like to do something which is more productive in itself. The challenge should in some way help change the world. Releasing new sites or products, etc. would be valid. Any suggestions?
  • Have 4 different guests visit. When it became clear I was moving to California, many people said they planned to visit. That’s one of those things that just tends to slip though. I really have to get going with this if I’m going to be living across the country from most of my family and friends. If you’re reading this and you want to visit, let’s make that happen!

Any other suggestions? Feel free to leave me a comment if you think there is something I need to improve upon that I didn’t cover here (seriously).

Happy 4th Birthday, Motive Force!

Today marks 4 years since Motive Force LLC was officially founded. I’m proud of my baby growing up! There are various stats about survival-rates for nascent companies, but in general they say that about 50% die off in the first year, and then 50% of the remaining companies die each year after. If those stats are true, that puts Motive Force at about the 94th percentile so far. Way-to-go, kiddo!

It’s been a blast running it all this time, and by any measure they’ve certainly been four of the most eventful years of my life.

LyricWiki's last year and a half of growth

LyricWiki's last year and a half of growth*
(click thumbnail for large pic)

Although it has released numerous sites and products, Motive Force’s most visible success so far has been LyricWiki. I felt this would be an appropriate time to share a graph of some of the traffic growth since I don’t often get a chance to do so – and we all like to show how our progeny have progressed!

Happy Birthday Motive Force!

* For the curious and/or mathematically inclined: an exponential trend-line has a slightly better R-squared value than a linear trend line for the current data (0.89 versus 0.86). This implies that it’s likely that the growth is exponential, but it isn’t quite enough data to be sure in my unprofessional opinion.

“What gets measured gets managed”

That quote is a relatively common business adage which is attributed to a ton of different people – so many that I’ll just consider it public domain. The reason for this post is just that I’d like to draw attention to it and maybe as you read this post, you can think of how this can be used to help your own productivity and success.

As with any business advice, this tends to be more digestible with some anecdotes so I’ll give a couple of examples of how this has helped me lately with running LyricWiki.org.

Example Uno: Server Uptime

Without a doubt, the biggest problem with LyricWiki up until recently had been uptime. The site was constantly slow or completely unavailable from its inception. The reason is that we were always short on servers since the company had minimal capital, and setting up new servers took a great deal of time and fell on my shoulders during a time in my life where I always had at least one fulltime responsibility other than LyricWiki.

When I cut back my other job a bit to give me more time to devote to LyricWiki, one of the first things I set out to fix was the reliability of the site. In order to know if it was improving, I would need to know how long the site was down each month so I could track whether the number of minutes was going up or down.

I created a small spreadsheet to track outages, and each time the site went down I logged when the outage was, the duration (in minutes) of the outage, which server(s) had the problems, the apparent cause and whether or not the cause was resolved. Much to my surprise, I didn’t really need to graph this over the months. After the first couple of days, it became very apparent that there was one huge problem still lingering and it would be worth my time to automate a fix to it instead of responding ad-hoc each time the problem cropped up.

I whipped up the code to solve the problem while I was on a layover in Philadelphia, uploaded it when I got home – and the site stayed up for almost a month straight! That’s pretty huge. I don’t think that had ever happened in LyricWiki history until just now. Very cool.

Example Dos: Intractable To-do Lists

A major personal time-management problem I had recently was that I couldn’t tell if I was just spinning my wheels or if I was actually making progress on my backlog of LyricWiki tasks. It felt as though I was getting emailed so much work that I barely ever got to break out into the tasks on my talk page let alone the “Mid-term Actions” list I made which was my conscious plan of how to make LyricWiki rock your socks off in the mid-term.

To solve this problem of not having a grasp on my tasks, I whipped up a little widget which you can see in the side-column of the blog, near the bottom. The results were much better than I expected: I actually instantly felt like I was in more control, I felt comfortable removing tasks that were duplicated across lists, and I can finally tell when I’m moving fast enough to make forward progress.

The widget tracks the size of all of my various to-do lists and updates that number hourly. There are two reasons for the caching: 1) checking the lists requires hitting the sites and that takes at least 3 seconds total 2) if it updated in real-time, I’d sit there refreshing the thing all day!

The widget actually has some neat hidden features. Here is the to-do list widget on its own page which also tracks the number of tasks I’ve had at the end of each day and charts my progress (using the Google Charts API). If anyone is interested, maybe I’ll write another post where I give out the source-code to the widget.

Conveniently, the widget is narrow enough to both fit in a blog sidebar and be displayed on a smartphone. It’s currently the homepage on my blackberry and I don’t see that changing any time soon!

Conclusion

The quote “what gets measured gets managed” always seems to ring true for me. I think of it again and again – usually after-the-fact when I’ve just saved time by being OCD about something. I strongly recommend that you take a second (right now) and think of an area of your life or your work which you feel isn’t getting sufficient attention and consider tracking meaningful statistics about it. Please share any similar successful experiences in the comments!