Archive for November, 2008

Using a virtual machine for development

When I joined Increo it was an entirely Mac shop. I was the only one who would be developing on a PC. Rather than worrying about potential compatibility issues and setting a development stack up from scratch, it seemed that the best approach would be to use a Virtual Machine running Ubuntu as my development platform.

The Pros of Virtualization:

1) Develop on the same stack as the production

This means that you can avoid running into issues with line endings, cross-platform quirks in parsers, etc. You know that you’re getting the same behavior locally that we will get on the server.

2) Portability: Single setup run from multiple locations

The VM is just a small set of files. You can pick up these files and copy them to another machine (or run them from an external drive) and always have access to your development environment. If you want to work at home on another computer, no problem.

3) Saved state

When you shut your computer down you normally have to close all open windows losing any state (unless the program itself saves it). You can simply shut down the VM and it will save the entire state of the guest OS, meaning next time you open it up, it’s exactly where you left off.

4) Don’t pollute the host OS with dev tools

Your computer stays clean. It doesn’t need a local web server or a local SQL server for development since that’s all on the VM.

5) Cross platform testing on a single computer

You can launch the product and test on either the host OS or the guest OS with a few simple clicks.

The Cons of Virtualization:

1) Lots of RAM needed

You should allocate at least 1GB to the guest OS if you are going to be developing on it. This means you’ll probably want 2GB or more in your computer.

2) Speed, some lag since not running natively

The guest OS isn’t quite as snappy as the host and you always notice a little bit of lag.

3) Mouse support

The back button on the mouse doesn’t work and it took a couple tries at editing config files to get the mouse wheel to be recognized. The mouse doesn’t behave the same way in the host and guest (although tracking speeds are thankfully the same) which can sometimes be frustrating.

4) The VM can’t use multiple monitors

There just isn’t a clean way to have the guest OS occupy two monitors, especially if your monitors aren’t identical. You can avoid this by running a browser, email, and other non-programming tasks on the host OS (on the second monitor) and leave the guest OS to use one screen for coding.

5) Focus can be confusing

Every one in awhile while working in the browser on the host, you’ll probably look over at the VM and see the cursor flashing in a text document and think that it is active. Then you try to type something only to realize that the host OS has focus and the VM does not.

Comments

The Official Increo Vacation Policy (OIVP)

In Increo’s early days, we didn’t need a vacation policy.  We left when we needed to, came back as soon as we could, and worked while we were gone.

As the team began growing and changing, people started asking me if they could take Friday off or if a working week at home was acceptable.  Eventually came a call for a vacation policy so there were clear guidelines for time away from the office.  We debated — 2 weeks, 3 weeks, working holidays, etc.  Realizing we were splitting hairs, we went back to the most important thing for Increo–that we have an energetic environment and that people make decisions to work when they are most productive and take some time off when they need a recharge.

With that in mind, we made the decision to have the Official Increo Vacation Policy be to use your best judgment.  In other words, there is no “policy” per se.  Let the team know in advance, get your stuff done, and take the time you need to ensure you can contribute daily to Increo’s sense of energy and excitement.  Turns out, given two weeks of vacation time, most people take two weeks.  Given unlimited vacation time, we’ll almost always take just the time we need.

We’re certainly not the first to have no vacation policy–companies before us have tried; some failed, some succeeded.  But for right now, it works for us, makes Increo an exciting place to work and demonstrates an invaluable trust in the team.

Comments

Five reasons to get involved in entrepreneurship as a student

Starting your own company right out of college is not for everyone. It requires the willingness to gain experience in many different areas of business (marketing, law, finance, product development, and others), a supreme passion for what you are building, the resolve to keep on trying in the face of monstrous challenges, and the acceptance of the very real possibility that your endeavor will fail. On the flip side, it provides a unique learning experience, the opportunity to work with a tight-knit team of rock stars, and the potential to change the world.

If you’re fortunate enough to still be a student, here are 5 reasons why you should strongly consider jumping right in:

Read the rest of this entry »

Comments

Recently on twitter.com/increo

Comments

The elevator pitch and the bar pitch

The elevator pitch is something Silicon Valley entrepreneurs have come to know and love: your entire mission, your entire raison d’être all wrapped up in 150 words that can be delivered in under a minute. Venture capitalists and people like Michael Arrington and Om Malik can’t get through an hour without hearing one, and those looking for funding or press seemingly can’t pass up the opportunity to give one.

Coming from a world of strictly making software and leaving the pitch to an already-built community of tens of millions of users, it took a while to adjust to the idea of having to always explain what the product is when you start talking about it. Whether you’re at a roundtable with VCs, at a job fair, or just talking to somebody socially, it’s always useful to have that quick pitch crystallized in your head.

In addition to the elevator pitch, you also need its slightly more difficult cousin, the bar pitch. It’s similar in nature, except given the noisy environment of a bar, you have to refine it even further to include only short, clear words that will still make sense when the other party misses half of what you say. You have to phrase it to intrigue people who overhear you instead of focusing on a single listener. You have the opportunity to add wild gesticulations and other physical means of making yourself memorable when those would come across as completely inappropriate in an office setting.

For example, the following elevator pitch that I’ve used recently:

Read the rest of this entry »

Comments (1)

Widget Wednesday

A few days ago, we took a break from developing our own products and participated in SocialText’s Widget Wednesday, a “distributed hackathon for widgets and mashups.” All this means is that SocialText invited companies to participate in a day of coding micro-applications that would make use of their newly released OpenSocial Widget API. SocialText Widgets are simple tools that sit on your SocialText Dashboard, a personalized homepage for your corporate life, and are analagous to Google Gadgets which sit on your iGoogle homepage — in fact, they leverage Google’s gadgets.* API.

The hackathon was “distributed” in that all the participating teams stayed at their respective company locations and communication was done via an IRC chatroom and dedicated conference calls. For goodwill, SocialText organized it as a competition in which the winning team would win a gift certificate toward kiva.org.

After the opening conference call shenanigans, we dove right into coding. Now, I love what I’m currently working on for Backboard, but getting to work on a miniature side-project was very refreshing. I got to play with technologies I hadn’t yet explored and learned how to make and deploy widgets. One of the tricky things about creating a widget is that it doesn’t sit on your site, so we had to do some refining of our own API in order to format and grab the data we wanted to display. After that, the rest was fun and easy: it turns out that making a widget is as simple as wrapping a little HTML and JavaScript in XML file.

At 4:30 pm (the “deadline” to turn in our projects) we dialed back into the conference call to join the show and tell session and presented our three completed Widgets. “My Backboards” is simply a listing of your backboards with recent activity. “Get Feedback” allows you to upload a document, set permissions, and create a backboard all within the widget. “LOLPirates,” Jim’s masterpiece, cycles through incredibly cute pictures of cats dressed up as pirates. Like Fluffy-beard here.

For young ambitious companies, it’s often hard to be the treated as the underdog, but at Increo we draw confidence from the supportive startup community and believe in giving back in any way we can. Our participation in Widget Wednesday was just one example of our philosophy — we fostered relationships with other startups and simultaneously strengthened Backboard and SocialText Dashboard.

Comments

Evidence

Other first-time entrepreneurs often come to me and tell me they have this great idea that “nobody has ever done before,” a great new approach, a new way of thinking about something.

Great.  That is awesome, it really is.  But it’s not enough, and even people who should know better often forget.

Determining whether a company is investment-worthy (for you and your time, or for someone else and their money) is certainly a complex process, a balanced combination of team, idea, market, and technology.  But you can make it easier–for both you and your investors–even in this time of economic uncertainty.

Before you go out to raise money, find concrete, indisputable evidence that your company will succeed, and succeed ahead of the curve.

Bad ideas with evidence of success will probably be able to raise a round or two, but the “next big thing” without evidence of success will look just like everybody else’s “next big thing.”  With some concrete evidence, your concept stands out from the crowd as an opportunity rather than an annoyance.

It’s against our nature as entrepreneurs.  Our job is to be stubbornly optimistic about our concepts and ideas and to push toward their adoption with everything we have.  Gathering evidence of something we know will succeed seems like an inefficient use of time, or it seems impossible until we have everything built.

What is evidence?  I think of evidence as real users, real customers, or signed deals.  With a solid (and growing) pool of users, your consumer startup looks like a compelling investment opportunity over someone else’s idea.  A couple of deals are the best proof of concept that an enterprise play will work.

Of course, this isn’t always possible.  In a pinch, evidence can be anything that can reasonably stand in for users, customers or deals.  Beta customers are a good example, as are customers on something similar you built (maybe attract people to a very small part of your product that you can launch early).  Live software helps, and so does a proven advisor or team member.  The further away you are from real customers, the harder the sell, but reasonable evidence helps you stand out from the noise.

Combine this evidence with a technology, a market, and an idea that hasn’t been over-pitched (ask a lot of people) and is consistent with someone’s view of the future (again, ask a lot of people), and you’ll position yourself most optimally.

Comments

Recently on twitter.com/increo

Comments

Getting stuff done

I started at Increo last Monday the 3rd. I’ve taken over the resident newbie position from Henry and have had many questions over the past week. The thing that has struck me the most in this short time is the ability to make decisions and move quickly.

Prior to joining Increo I was working at a large company with an established product. One of the things about having an established product is that you also have established processes and everyone has their established ways of doing things. People would say that you were ‘ahead of the curve’ if you could get to the point where you could check out the code and build it before the end of the first week. These processes and tools come in handy when you want to maintain the quality of a large codebase or facilitate interactions with other teams, however, they also can slow the development process with their overhead.

Increo, being a small company, avoids most of the overhead that one experiences in a large company. It also has the important side effect of allowing new people to come up to speed quickly since there are not a countless number of ‘standard’ tools to learn. I was able to check in more code for Backboard in my first week here at Increo than I was in the first month at my previous employer.

Please don’t mistake this as a blanket bashing of having established processes and tools since it is important to standardize the way design decisions and code changes get made to keep large projects running smoothly. I’m just saying that upon joining Increo, I was struck by the ability to move quickly by not using a strict process. Being small provides the ability to be flexible, adapt and get stuff done.

Comments

Office ergonomics on a budget

We know you’ll all be woefully disappointed to hear this, but the simple truth is that Increo does not have HermanMiller Embody chairs for its employees.

HermanMiller Embody chair

Then again, we’re also not the types to spend fourteen hours straight sitting down; there’s enough action in the office that we’ll be moving around enough to stay healthy.

In fact, while having the world’s most comfortable chair would certainly be enjoyable, we took a different tack: what was the best, most ergonomic setup we could create for six employees for less than the cost of one Embody chair?

Read the rest of this entry »

Comments