Tuesday, July 22, 2008

OSCON: An Open Source Startup in Three Hours

The second day of OSCON, and this morning I'm sitting in "An Open Source Startup in Three Hours" given by Gavin Doughtie and Andrew Hyde.

It's an odd choice for an academic like me, but considering the current funding crisis perhaps not as inexplicable as all that...

Update: The trick to running a successful company is to work half a day, work the first twelve hours or the second twelve hours it doesn't matter. It's not about getting rich quick, or about pyramids. Andrew is talking about his startup weekends...

Our company was built in 3 hours, the rest was marketing bullshit - Bill Gates
Amazing product are never built in a long time. Just short, simple acid trips - Steve Jobs

He's talking about deliverables and paper prototyping. Obviously they're not going to code it up, launch a project and get acquired by lunch time, but hopefully they're going to give us the tools to think about how to do that.

Update: Paper prototyping allows you to see things quickly, and avoid those six month mistakes and to fail really fast. Startups succeed with the right team and a solid idea. But it comes down to timing and luck and good design. But good designers are hard to find.

Update: A startup has to solve problems, but it has to solve more than just your problem. You need to float your idea to as many people as possible, and as smart as people as you can find. Unlike a lot of people Andrew is arguing that if people tell you your going to fail, either your pitching your idea wrong, or you're working on the wrong thing.

Update: What not to do; think your idea is worth anything, build anything that is "neat" or "cute", define development or design early on, or pick a domain. If you pick up a domain before you talk to people you probably haven't developed your idea well enough. You have to define your goals, build stuff, launch it quickly and see what people think.

Update: Define what your idea is and isn't, define the problem and outline your solution to it. Andrew is really hitting on paper prototyping you idea, design and interface. I'm pretty surprised, while I've never heard it called that before this is something I always do for a project, he's also hitting on what he's calling 'moleskinning' which seems to be the equivalent of the good old laboratory note book. You write down ideas, steps you've taken, that sort of thing. Maybe a rigorous science background is a good thing for a startup?

Update: Design is important, and a lot of people get it wrong. Go to someplace like CSS Beauty and find out what's hot and what's not.

Update: Over to Gavin and implementation. Things you need before launch; source control, a sever, some programming and you need to deploy something. You might want to think about a 'light engineering' process. The lightest engineering Gavin can think of is '1-click installs' and content based startups.

Update: He's now talking about Amazon EC2. If anyone is sitting in a startup tutorial and doesn't know about EC2 (and S3) then they're in trouble. He's walking us through building an EC2 image though, which is quite interesting. I've played with S3, but not EC2 in any depth. He's pointing out that you when you're doing development you don't have to keep the instances running, Amazon will charge you for those running instances, just shut them down. However when you do shut them down, or they crash, any data in the instance is gone, so you have to push it off to long term storage like S3.

Update: Lighter weight than EC2 is Google App Engine, which (as we all know?) is a sandbox Python runtime... and now we're getting a demo. App Engine is actually something I've started to play with as I managed to pick up an invite...

Update: He's pointed us towards opendesigns.org for (free) design templates, and encouraging us to put real design into your startup as soon as possible because it'll help you think about it more seriously.

Update: Gavin's talking about Django,

The Django guys will say 'Don't say it's like rails,' but it is like rails.
Which reminds me, I must take a serious look at Catalyst at some point...

Update: After fiddling around with CSS templates and Dojo, which looks pretty cool by the way, Gavin is back deploying his prototype App Engine project and showing how the group development stuff works...

Update: Back to talking about startups. What you don't need is; scalability, performance or industrial strength anything, unless of course that's what your startup is about. Technological pitfalls; Java, no local expertise and being overambitious. No really, he's telling us not to use Java. There is lots of complexity in Java land, and he really would recommend looking at the LAMP stacks.

Update: Even though it's really obvious stuff a simple application may have some technical depth to it. So don't be overambitious...

Update: Remember your team is your technology. Don't be afraid to have a single point of failure if that gives you leverage. Spend a bit of time looking for leverage in your technology.

Update: Marketing is a big thing. If you build it, they won't necessarily come...

Update: Andrew is back and talking about feature creep, which is the number two killer of startups, right after running out of money. You need a kerbside pitch, and an elevator pitch. A kerbside pitch is real fast, essentially "I work at etc company, which is like foo except for bar". Every one on the team should be able to do the elevator pitch, the longer (slightly more involved) pitch.

Update: Back to tools, pointing us at JumpBox which isn't something I'd run across before...

Update: Over to talking about legal stuff. You need to get everyone that you've ever talked to about the project, that has ever given any input to it, to sign bits of paper and state their intent.

If you can't make it good, at least make it look good - Bill Gates
Intellectual property has the shelf life of a banana - Bill Gates

...and software patents are evil if you don't have them!

Update: We're breaking for coffee, I think I'm going to jump out of this tutorial and try and slip into the second half of Damian's Perl Worst Practices after coffee. This stuff is interesting, but they're really talking about startups as websites, which while okay wasn't really what I was here for...

Update: Jumped over into Damian's talk.