7 Tips To Hosting an Awesome Hackathon

No Comments

So you are thinking of hosting a hackathon but you’ve never done it before or could use some tips. I’ve been a part of many hackathons as both participant, spectator and judge. Some hackathons were great, some were so so and some were just awful. Here are some things to consider when holding a hackathon.

  1. Connectivity One thing we NEVER want to worry about at a hackathon is connectivity and bandwidth. That’s a given. We should only have to worry about our hackathon project, not trying to find a wifi signal or futzing around with the Wifi password. Along with that, there should be plenty of outlets. We really hate going to hackathons and having to fight for power outlets.
  2. Clear schedule / agenda We want to know when things begin, when code freeze occurs and judging takes place. When lunch and dinner is served is also very important.
  3. Prizes What’s going to motivate a developer to give up his weekend to code on your API? I would venture developers who come to hackathons already have side projects. They probably command a decent salary or consulting rate. Prizes have to be compelling or worthwhile. Having multiple prizes also helps so it’s not a winner take all situation.
  4. Multiple categories/judging criteria Having multiple categories for prizes is another great motivator. There could be different prizes for Best Overall, Best Design, Best Mobile, etc etc. This way someone might feel like they might have a shot at winning if one of the categories matches their strong suit.
  5. Make sure it works If you are holding a hackathon where developers use your API or code library works. The hackathon is NOT the place to be debugging it. The developers are not there to find your bugs. It should just work. Along with that, make sure that the API key and whatnot are readily available.
  6. Good food Pizza and red bull are great but many people I run into have special dietary needs. Some are vegan, some are vegetarian. Often times these developers are totally neglected when it comes to their dietary restrictions. Make sure you take care of these folks. Make sure you also have enough food. On especially long hackathons, snacks are always welcome.
  7. Clear/accessible location People hate getting lost. Make sure to provide adequate instructions to finding the location. It also helps to have signs saying “Hackathon” pointing in the right direction. If the location is locked down because it’s the weekend (as hackathons are often held on weekends), then make sure that there’s someone to let people in.

Popularity: 9% [?]

Pinterest + Instagram = Pinstagram


So what do you get when you combine a billion dollar company (Instagram) with a $500 million company (Pinterest)?

I love using Instagram. The problem with Instagram however is their web experience is non-existent. I’ve been frustrated that the only way to consume Instagram is through my iPhone. Lately, Pinterest and Instagram have been getting a lot of press because of Instagram’s 1 billion dollar purchase by Facebook and Pinterest’s hypergrowth.

My cofounder Brandon and I were having a discussion on startup pitches, especially the ones that go “we’re an X for Y” and thought a hilarious VC pitch would be “we’re a Pinterest for Instagram”. The more I thought about it, the more I liked the idea. I liked Instagram, and this was a real need for me. There was nothing like it out there that I would use. So last weekend I decided I would make it a weekend project.

I spent a few hours putting something together using my design and front end skills. I was able to show the popular Instagram feed using their API in a Pinterest-like UI. I showed this to Brandon which quickly convinced him this was a good idea and together we started clobbering together the project. By the end of the weekend we had something that basically worked. You could log in with your Instagram id and view your feeds, your photos, what’s popular and search.

We found that Pinstagram was really useful. I actually consume Instagram a lot more through this. It was an easier experience and I can see a lot more photos faster. Brandon told someone the idea and they wondered why anyone would want to use such a service but as soon as they tried it, they immediately realized that it was very useful.

So without further ado, it is my pleasure to present you:


The site does integrate with Instagram and will require that you have a valid Instagram account.

For those of you interested in how it was made. It’s a very simple Ruby and Sinatra app. It doesn’t even have a database. The front end was built on Twitter Bootstrap. Haters can hate me for not building the html from scratch but I prefer to build my house using off-the-shelf tools instead of having to go and chop wood in the forest. The Pinterest style layout was built using Masonry, a very useful jQuery plugin. All this of course was also made possible using the Instagram API which was very well documented and easy to use.

Some details of the controls and what happens when you hover over a photo

Popularity: 16% [?]

Why Software Development Projects Fail

No Comments

I’m sure you’ve all seen it. Well meaning software projects where everyone seems competent, but at the end, the project is a failure. After seeing over a decade and a half worth of software development, I see a few recurring patterns.

Client doesn’t know what they want. This is a pretty common problem with inexperienced clients or ones that haven’t dealt with a lot of software development shops or consulting firms. This is exacerbated by firms that don’t know how to manage clients and projects properly. The combination is disastrous because clients have a vague idea of what they want and consultants don’t know how to get it out of them.

Client doesn’t know how to articulate what they want. This is very similar to the first problem but not nearly as bad. They know what they want, but don’t have the vocabulary to describe it or the breadth of experience to point you to what they want. It’s up to the consulting firm to be able to guess and point to existing examples in the real world that might be close to the client’s vision.

Clients want the wrong thing. I’ve had potential clients come to me who know exactly what they want and that’s great. However, sometimes the thing they want, you know it’s just a bad idea. By that I mean, they want stuff you know to be bad weather it’s a flash site with tons of music or a social network that bombards you with ads because they think that’s what people want to do: click on ads. I try to convince them that it’s a bad idea but this rarely works because you are basically attacking their ego. That’s their idea and you are saying it’s dumb. I usually just turn these clients down.

Lack of communication. Software development is a collaborative process. Consultants rarely know everything about the business of the client and relies heavily on the client to bring their domain expertise. It’s not like going to a car dealership and just picking out the car you like and agreeing on the price. The software firm will need a lot of information from you. A lot of times, getting content, feedback from clients is like pulling teeth. This usually holds up the project and adds needless delays.

Client doesn’t know what customers want. This is a common problem among startup clients. The fledgling company may have a clear vision of what they want, however, that doesn’t mean that it will work. It’s merely a hypothesis. Even if everything is executed as the vision, there’s no guarantee that users will flock to it. Color comes to mind. Clients may think they know what users want, but that is not always the case.

Trying to finish a project by throwing more people at it. You can’t just throw more people at it. Nine women can’t give birth in 1 month. Software development is problem solving. It’s not a simple application of force like adding more people to move a boulder. Thus just throwing more people at it without understanding how to apply them doesn’t necessarily lead to project completion or success. I highly recommend this book “The Mythical Man Month” regarding this topic.

Software as a checklist. This occurs more at big organizations. Software is treated as little more than a feature list to be checked off. Little thought is given on usability, whether or not it actually solves any problem, or if people end up actually using it. When software doesn’t solve the problem or is so hard and unintuitive to use, even if it was delivered on budget and on time, it’s not a success.

Popularity: 8% [?]

Great Quotes from Steve Jobs Book

No Comments

I recently read the beast that is Walter Isaacson’s biography on Steve Jobs, creatively titled “Steve Jobs”. For those of you who have never followed or read about Steve, this book may be a shocker. He was not a nice man, but he did get things done and was very successful. CEOs view him as a visionary business leader. I found some really great quotes that I like to highlight and share.

On motivation:

(Y)ou should never start a company with the goal of getting rich. Your goal should be making something you believe in and making a company that will last.

On impressions:

People DO judge a book by its cover. We may have the best product, the highest quality, the most useful software etc.; if we present them in a slipshod manner, they will be perceived as slipshod; if we present them in a creative, professional manner, we will impute the desired qualities.

A great Jonny Ive quote:

Steve and I care about things like that, which ruin the purity and detract from the essence of something like a utensil, and we think alike about how products should be made to look pure and seamless.

On Apple stores:

Jobs decided that Apple stores should have only one entrance, which would make it easier to control the experience.

On problems:

If something isn’t right, you can’t just ignore it and say you’ll fix it later,” he said. “That’s what other companies do.

On how ruthlessly focused he was:

“What are the ten things we should be doing next?” People would fight to get their suggestions on the list. Jobs would write them down, and then cross off the ones he decreed dumb. After much jockeying, the group would come up with a list of ten. Then Jobs would slash the bottom seven and announce, “We can only do three.”

On the simplicity of the iPod:

In order to make the iPod really easy to use—and this took a lot of arguing on my part—we needed to limit what the device itself would do. Instead we put that functionality in iTunes on the computer.

On creativity:

There’s a temptation in our networked age to think that ideas can be developed by email and iChat,” he said. “That’s crazy. Creativity comes from spontaneous meetings, from random discussions. You run into someone, you ask what they’re doing, you say ‘Wow,’ and soon you’re cooking up all sorts of ideas.

On Apple’s approach to building great products:

We believe that it’s technology married with the humanities that yields us the result that makes our heart sing.

On focus:

Deciding what not to do is as important as deciding what to do,” he said. “That’s true for companies, and it’s true for products.

These quotes are courtesy of Isaacson, Walter (2011). Steve Jobs (Kindle Location 1601). Simon & Schuster, Inc.. Kindle Edition.

Popularity: 22% [?]

How to Become More Productive

1 Comment

I feel like there’s just not enough time to do everything I want to do. I think many of you can relate. People want to be more productive in general. However much of the day is wasted in such unnoticeable ways. Also, some work rituals we cling to because of pure dogma not realizing it can be improved or streamlined.

For example, for years I clung to the ritual of paying my bills by writing physical checks. I liked going through the process because it felt like I was paying more attention to my finances by doing so. When I finally awakened to paying my bills online and even setting the recurring payments to autopay – it was amazing. You don’t have to pay attention to it anymore. It’s always good to every once in a while make sure you are not being billed for anything you didn’t want but in general, setting this and forgetting this task is an overal productivity plus.

As part of my work, I design a lot. I can spend hours on Photoshop. One thing I started to finally notice after years of using Photoshop was that I kept doing a certain task a lot. I would copy a Layer Style of one design element and apply it to another. This would take several clicks – Right clicking on the element I liked and click on the menu item. Then I had to right click the new element and apply that style. There weren’t any shortcut keys, or at least none that I saw. It dawned on me that it was so inefficient and time consuming and that there had to be a better way.

I finally started researching this and found that you can create your own shortcut keys and I did so. Now I can do the same set of routine tasks that would take at least 4 steps and reduced them to 2.

Of course not everyone uses Photoshop but if you generalize this lesson, you have to be aware of the things you do. You have to be critical of all the steps you take to accomplish a task. Ask yourself, can this be simplified, reduced or automated in any way. Can you systematize this. Even better, can you remove yourself from the steps. I’ve really started to think about this and it has helped streamline my day and focus on the things I have to focus on.

Popularity: 9% [?]

Older Entries