A few weeks ago, Heidi Roizen, a well known venture capitalist with DFJ and longtime entrepreneur in Silicon Valley, called me a cockroach.
Usually, it would be offensive to be branded as a cockroach. But in this case, it was awesome. Heidi's exact quote was this:
So there you have it. Great entrepreneurs are like cockroaches, doing whatever they have to do to survive.
Those of you who know me well know I call myself a "lifehacker" which basically means I hack & use technology to be as efficient as possible. For example, I strongly recommend that those who are in front of computers all day learn to play them like instruments.
I've had people ask me how I use technology to be efficient when I'm in sales mode (which, really, any entrepreneur is most of the time). Here's a screenshot of what my email client looks like, with the tools I rely on below that:
Rapportive: This Gmail Plugin is an absolute necessity for anyone even remotely in a sales type of role. It lets you learn about the person you're emailing with, and connect with them via LinkedIn right from the email client. It also lets you manage their Highrise CRM profile without having to go to Highrise, which is a godsend. I can't recommend Rapportive highly enough.
Boomerang: Lets you schedule email to be sent later, but more importantly, will "boomerang" an email back to your inbox a specified amount of time after you've sent it. It's a great way to have a soft reminder to follow up with someone. You can also have it only boomerang the email back to you if the person you're emailing doesn't respond.
Those of you who know me well know I call myself a "lifehacker" which basically means I hack & use technology to be as efficient as possible. For example, I strongly recommend that those who are in front of computers all day learn to play them like instruments. I've had people ask me how I use technology to be efficient when I'm in sales mode (which, really, any entrepreneur is most of the time). Here's a screenshot of what my email client looks like, with the tools I rely on below that: Rapportive: This Gmail Plugin is an absolute necessity for anyone even remotely in a sales type of role. It lets you learn about the person you're emailing with, and connect with them via LinkedIn right from the email client. It also lets you manage their Highrise CRM profile without having to go to Highrise, which is a godsend. I can't recommend Rapportive highly enough. Boomerang: Lets you schedule email to be sent later, but more importantly, will "boomerang" an email back to your inbox a specified amount of time after you've sent it. It's a great way to have a soft reminder to follow up with someone. You can also have it only boomerang the email back to you if the person you're emailing doesn't respond. I can go into more detail on how I use these services (and especially how I use Rapportive to create tags in Highrise right from the email, which I then export to Mailchimp for monthly marketing newsletter blasts) if you'd like. Just make a comment below asking for whatever detail you'd like me to delve into. If I get enough interest, I'll spend the time to do a more in-depth demo.
Back in January of 2010, my co-founders Sean, Isaac and I created one of the first mobile app creation platforms, AppMakr.
At the time, we had a thriving mobile app consulting business called PointAbout, and we were building high-end (and expensive) apps for large brands. Our team made the iPhone app for The Washington Post and Cars.com. We built the Newsweek iPad app and an iPad app for Disney, along with apps for clients like General Motors, US Army, the Entertainment Software Rating Board and others.
Making custom apps was really expensive -- especially in those early days. We had a dream of democratizing app creation so it was accessible to anyone. From that idea, AppMakr was born.
The day before we launched AppMakr, our team took bets on how many apps would be made in AppMakr's first month. Some people guessed 10, others 100. We had no idea what were about to unleash: In AppMakr's first 3 months, users made many thousands of apps. We had to scramble to support the growth. We even got angry calls from Apple's app review team who were overwhelmed by the number of apps being submitted; that's how our App Quality Index came to be, as a way to turn their frown upside down.
I've moderated and participated on a bunch of panels where the topic was something like "HTML5 vs. Native apps, which will win?" And I've always said that native apps aren't going away, and my co-founder Sean has often pointed out that HTML5 won't be replacing complied apps so long as mobile hardware is changing drastically every 6 months (HTML is a trailing standard that can't keep up with innovation on the hardware side).
But here's the real smoking gun:
The Facebook engineering team, in a blog post, writes, "we realized that when it comes to platforms like iOS, people expect a fast, reliable experience and our iOS app [that was heaving leveraging HTML5] was falling short."
This is really significant. Facebook has a lot of incredibly good reasons not to rebuild its app natively. Facebook doesn't want to be beholden to Apple for its distribution channel and access to its users. Facebook doesn't want to have to create and maintain completely different and incompatible codebases for various distribution channels. Facebook arguably has the very best web engineers on the planet. And yet they've moved away from a heavily dependent HTML5 strategy in mobile.
6/26/11 Update: Our company internal "How To Basecamp" instructions now posted by user request.
We've been power Basecamp users for several years. Basecamp is a minimalist-style project management system created by 37 Signals. While Basecamp has had its shortfalls, my view has traditionally been that Basecamp is much like democracy: It may not be perfect, but it's the best thing out there.
Recently, though, our company's internal communication needs have been causing Basecamp to creak and groan under the weight of larger-scale use. Employees have started to complain, and they're right: The way we're using Basecamp hasn't been ideal.
I've taken the initiative of evaluating Basecamp vs. other tools for our company, and as part of that role I'm going to publicize the main gripes we have about Basecamp to see if anyone out there has suggestions or best-practices to help us make good decisions for growth.
6/26/11 Update: Our company internal "How To Basecamp" instructions now posted by user request. We've been power Basecamp users for several years. Basecamp is a minimalist-style project management system created by 37 Signals. While Basecamp has had its shortfalls, my view has traditionally been that Basecamp is much like democracy: It may not be perfect, but it's the best thing out there. Recently, though, our company's internal communication needs have been causing Basecamp to creak and groan under the weight of larger-scale use. Employees have started to complain, and they're right: The way we're using Basecamp hasn't been ideal. I've taken the initiative of evaluating Basecamp vs. other tools for our company, and as part of that role I'm going to publicize the main gripes we have about Basecamp to see if anyone out there has suggestions or best-practices to help us make good decisions for growth. I'll also send this blog directly to the folks at Basecamp, but I'm not expecting much: 37 Signals is typically not super interested in listening to customer feedback unless it's on their terms. If I do get any responses from them, I'll post them in the comments section below. In this post I'll lay out several main points: What we love about Basecamp Problems we're seeing with our use of Basecamp What we're doing to mitigate these problems What we love about Basecamp: Basecamp is in many ways a magical tool. We first fell in love with it when doing projects with external partners. We've used it with partners ranging from Microsoft and other Fortune 500 clients to local design firms. The main thing Basecamp does well is offer relief from email-based project management: Everything gets put into a web app with "just enough" functionality without being overbearing, and email can still be used to get alerts and respond to threads. It balances the use of email well, while removing the main problems email presents, like the lack of a threaded history across all participants over multiple messages, the lack of accountability and tasking and difficulty creating knowledge repositories. Jason Fried and the other folks at 37 Signals also obviously put just as much thought into what features not to include as those they do include. For example, back in 2005 Jason wrote on a blog "We all have ideologies. Yours includes an absolute necessity for Gantt charts. Ours doesn't. We just have different opinions of what is required for good project management." And that's fine with me -- most software is so feature rich users have no idea where to start and never use most of the functionality. 37 Signals definitely does a great job of revealing functionality over time when the user is ready to utilize it. I'm also a heavy Highrise user and this is apparent in Highrise as well. So let me be clear: What I am asking for is not necessarily an increase in features. In fact, I don't know what the answers are to the issues we're having. What I do hope, however, is that folks at companies like 37 Signals can re-think their systems based on some of the frustrations we're having and present solutions to these problems. Problems we're seeing with our use of Basecamp I am wording the issues we're having with Basecamp as "our use of Basecamp" on purpose: It's become obvious to me that our company staff (myself included) are not well trained on the use of Basecamp. We're not disciplined with the tool, and that's causing problems. Some might argue that users shouldn't need to be trained if the tool is good, and at some level that's probably true, but at this point I'm expecting that no matter what tool we end up using, we're going to have to implement a "best practices" guide at the very least, and possibly institutionalize a level of discipline in using the tool that we don't have today. So with that in mind, here's our list of specific issues, ordered by pain level: Searching for content is difficult and inconsistent. As you can see from the screenshot at left, we are putting a lot of content into basecamp. Each bubble shows the number of comments attached to that task. We're often getting to the point where items have 30+ comments in them, with some topping 100. Basecamp's search functionality is very limited -- it's picky about how search terms are entered, and when it returns results, it vomits up a long list of items, with messages, to-do's, milestones, comments and media all intermingled. We've resulted to trying to memorize keywords from posts to find them later, and in some cases even putting nonsensical words into the post so we can do keyword searches for that content later. (what does the word "flamingo" have to do with the project? Nothing, except that it's an easy word to search for later!) There is an option box on the right side where a user can search for items only assigned to them (or find tasks that are assigned to, say, anyone) but get this: If you want to search across all projects for tasks assigned to anyone, you can't do it. In Basecamp's Dashboard view, the search for "anyone" is only for tasks not assigned to anyone, i.e., unassigned tasks, while in a project view it's what you'd expect: Anyone means anyone. Not being able to see a macro view of all tasks assigned to all users is a vexing issue with Basecamp. No auto-save. This is another issue that just drives me up the wall. When you type content into text boxes in Basecamp, you lose it if you close the page. There have been many times I've written notes in a to-do and then lost the content. This is especially difficult because Firefox's private-browsing keyboard shortcut is just one key away from the "switch between tabs" keyboard shortcut, and Firefox closes and re-opens all tabs when you enter private browsing, so whenever I accidentally hit that key, I lose everything I've written but not saved in Basecamp. Messages and To-Do's work differently. I don't know why Basecamp implemented messages and to-do's differently, but the fact that they did has made messages unusable for us. For example, when I write a message the image at left is what I see. I can checkmark certain user's names to decide who should receive an email notification about the message. So far, so good. But get this: If I want to post a follow-up comment about the message, I can't change who gets pinged! Here's what it looks like. (Really astute Basecamp users might point out that technically you can hit an "edit" button in the message to change who gets pinged, but that doesn't count: Most users will never find that, and it's kludgy to use even if you do know about it). To-do's, on the other hand, work differently. Every time you make a comment, you can check off the names of the people you want to receive that comment. This is critical. Being able to select people for email notifications cuts down on "email comment spam." This difference in message vs. comment functionality has caused us to hack Basecamp: We have a specific to-do list for messages, so we can use the to-do system to post messages to each other. But this hack is sub-optimal because it clutters up our to-do's, and we lose the value of the to-do list bucket naming convention. There's a related issue here, too: When users get an email comment notification and hit 'reply,' every user who was originally pinged gets that reply. It's like hitting the 'reply to all' button with a bunch of people in the cc line, which I've blogged about before as being an indication of terrible email etiquette. The only way around this issue currently is to log into the Basecamp page and un-check certain names when you reply with a comment. I'm not sure exactly how this behavior can be improved, but what I do know for sure is that when someone hits reply in an email comment notification, it shouldn't automatically go back out to everyone who was originally pinged. No logging history in to-do's. We have one employee that consistently re-dates to-do's. I wish I had a trail of when the task was originally due so we could have conversations around that issue. Currently, there's no history of due date changes in the task. This would be a very easy problem to fix -- any changes could just be logged as a comment in the task history, or shown on the right side of the task, or similar. It would be really handy to know who changed a due date, when the change was made, and what the previous due date was. While we're on the topic of logging, I'd really like the ability to see who was notified of each comment made. It's hard to move tasks between projects, and impossible to move comments between tasks. Basecamp allows us to create separate projects. The way we use this is to create a project in Basecamp anytime we begin a new initiative. But oftentimes, an employee will create a task in the wrong project. Currently, the only way to move that task is via an itsy-bitsy little button titled "move". The problem is, you can only move an entire to-do bucket list. So if you want to move a task to a different project, first you have to make a throw-away to-do bucket list, then move that task into the bucket, the move the bucket over to the other project, then move the task out of that bucket into the correct bucket, and then delete the throw-away bucket. Yuck. While we're on the topic of tasks, here are two other big gripes: The task owner, task description and due date cannot be changed while in the detail view of the task. Strangely, you have to exit the task to edit the task owner, description or due date. Secondly, in the dashboard to-do view across all projects, the task owner, due date and description cannot be changed. In fact, you can't even click on the task. Instead, you can only click on the to-do bucket list name. Then, you have to find the task in the bucket (which can be daunting in its own right if you have dozens upon dozens of tasks in a bucket) and only then can you edit those items. What we're doing to mitigate these problems Basecamp is growing long in the tooth. It hasn't had a major update in years, and I have to think (hope?) the folks at 37 Signals are aware of most or all of the issues above and are hard at work on an upgrade, like we recently saw for Highrise. Still, I can't base our company's strategy on hope -- especially from a vendor that doesn't communicate with its users on when to expect an update and what functionality it will contain. So, we're starting to explore other options. One very promising one is a new startup called Asana. You can watch a great 51 minute demo video on Asana showcasing its approach to project management. (One note to the Asana folks if you see this: The inability to choose who gets pinged in a "reply" email comment notification appears to be an issue in Asana as well). Overall, the Asana approach looked good. If you know of other Basecamp-like systems, I'd love to hear about them in the comments section. I'm also creating a best-practices and training document for our company's use of Basecamp. Things like "don't just reply to an email alert. Instead, log into the system and choose who gets pinged in your response" type stuff. I'll also note that internal company communication has been a difficult issue that even major corporations with huge budgets haven't been able to solve. I used to work at GE, one of the best run big companies in the world, and these issues were much worse there than it is at our 30 employee company. As social media matures in the b2b space, I'm very interested to see what companies like Yammer roll out. And I've written before that lack of communication between people creates some of the world's biggest problems. We're not mind readers, and technology hasn't yet figured out how to help our analog brains leverage digital benefits (although in this blog post I write about how mobile will be way bigger than people think, and will mitigate the analog/digital differences). I'd love to hear any tips from you in the comments section below, especially if you have best practices, pragmatic tips, or software you've successfully used to improve communication at your company. But wait, there's more: Feedback from employees. I also asked our employees for their list of gripes with Basecamp, which are as follows for anyone who really wants to dig into this: Christine writes, "Most of my issues tend to be with navigation and feeling like the experience is not very intuitive. A project management tool designed to keep things organized, laid out, and easy to see should not require so much user training. It should make sense to the user,otherwise it takes up more time than it saves. Here are some screenshots that illustrate a few of my frustrations, but I will follow up with a video later to further explain my navigation gripes." "OK, here are two more screenshots that illustrate the same point: that Basecamp doesn't let me see who's been notified of/included in the conversation or original message." Jerry writes: 1) What do you love about Basecamp? - Information is recorded and archived for retrieval. 2) What do you hate about Basecamp? - It takes time to throw information and action items into Basecamp after meetings, this isn't always diligently attended to. - Search sometimes doesn't return desired results. - Previously the way projects were organized weren't intuitive, this is getting better with the re-org of Buzz, Branding & Marketing. 3) What tools do you use to stay organized personally? Stickies, OmniFocus, email 4) How would you suggest using Basecamp differently? N/A 5) Are there other tools besides Basecamp you've used before for group communication? If so, what are they and what did you like/dislike about them? IRC, Email, Campfire 6) What have you read about other companies that have tackled these problems? (Pls share any links here to best-practices you're aware of) A lot of engineering-focused startups use IRC for group chats. Even without participating and just hanging around the chat room can get a better grasp of what's going on internally for all departments/groups. Jason writes: 1. I like that a conversation and tasks can be made and tracked in BC 2. I hate the search functionality of BC, it's very hard to find a thread that you know is out there somewhere if you haven't actually been tasked on it. The lack of unselect all, and having to manually uncheck the people who don't need to be on the thread is a lil pain. 3. I currently use OmniFocus for my daily tasks and notes My biggest headache right now is finding out from customers that we have a new feature (they see it on the web, and sometimes it doesn't even work) before I even know about it, and then when I ask some of dev team they don't even know about it. I would love a single location where I can always go to see what is being worked on and when that release is tentatively scheduled. We were doing pretty good up until when we started hiring a bunch of new people and the general time of SXSW, then after it seems everything just went chaotic. Will writes: I tend to think if you don't have a solution for the problem you shouldn't really complain about it but my main gripes w/ Basecamp are: - Message chains can be confusing/overlong - sometimes people that should be copied on a message aren't, or someone thinks they've responded to something that they haven't, so a chain will essentially die on the vine for weeks or months. - Can be difficult to find messages/threads that you want to respond to. Have been using the search tool much more recently and have found it to be a pretty effective way to find things quickly. - This isn't really a Basecamp-specific complaint, more of a general one, but there are so many tools we use throughout the course of any one day that it feels very ADD. B/w Basecamp, Highrise, Unfuddle, PA Mail, Google Docs, etc., not to mention whatever actual applications are running on the computer, I feel like I spend an inordinate amount of time navigating the matrix of communications we have set up. But maybe that's more a 21st century thing than a company or product-specific one. Nick writes: 1) What do you love about Basecamp? It's kinda pretty. It's nice to have a record of the conversations on a topic 2) What do you hate about Basecamp? pretty much everything. Some of this may be because I don't know a ton about basecamp and I have not used it a ton. DASHBOARD 90% of the information on the dashboard is useless for me. I don't care about activity in projects I am in. I care about what pertains to me. While it would be great to follow every post, I just don't have the time to do that and get my work done. TODOS I can't just click on a todo, I have to do mental gymnastics to remember that I have to click on the group and then the little icon thing to actually see the todo. And then it's a pain to get back to the overall todo list across all projects. Messages Formatting messages is a pain and options are pretty limited. Perhaps this is by design, but I find it difficult to format things. Even in this post I am struggling a bit to get the formatting how I want it. I end up tracking my basecamp threads in email because there is no way to start messages or any way to indicate that I need to follow a specific thread. This leads to me using 2 systems to track stuff, my email and basecamp. General Every time I go to basecamp I feel like I have to gear up for battle to find what I am looking for. I feel like I shouldn't have to think, but instead I think more than almost any tool I use. It's yet another way to track things. Add it to the list of google docs, google sites, unfuddle, and email. None of them solve the whole problem and I am not suggesting we use unfuddle for everything but I find I end up tracking tasks in both places 3) What tools do you use to stay organized personally? OmniFocus (LOVE THIS), unfuddle, project plan 4) How would you suggest using Basecamp differently? I honestly don't know. For me I think most of the trouble comes from milestones not seeming relevant to me and already having milestones in unfuddle and being spread across multiple projects. But I don't know if this can be solved by just using it differently. 5) Are there other tools besides Basecamp you've used before for group communication? If so, what are they and what did you like/dislike about them? I have used IRC and jabber chat rooms which worked really well to aid in quick communication. Other than that, I don't know of much. Jabber chat rooms / IRC aren't necessarily good for having permanent records of things. 6) What have you read about other companies that have tackled these problems? (Pls share any links here to best-practices you're aware of) This has been a big problem everywhere I have worked and I don't think anyone has solved it.
I come from a world of project deadlines. Until two years ago, I swore by them.
When you're in business school, you're taught that every project needs a deadline to even have a chance of being successful.
But what I've learned in my time out here in the Valley is that the reality of the situation is much more nuanced than that. Deadlines often hinder the achievement of objectives much more than the help. I'm going to try to explain why.
In a nutshell, the issue revolves around the arbitrary nature of deadlines. None of us can predict the future, and so by setting a deadline out in the future, we've put an arbitrary stake an the ground indicating that a certain result has to be achieved by a specific date.
My wife and I have been making an effort to eat unprocessed foods as a part of a healthier lifestyle. Simply told, that means if there's a label on the food (or if it's in a box), we try not to eat it. I'll write a more comprehensive blog soon about the thinking behind this approach.
Part of this initiative is to buy organic fruits and vegetables (Rainbow grocery in San Francisco is just amazing) and consume them over other foods as often as possible. We try to juice every morning and most evenings, replacing evening meals with juice as often as scheduling permits.
We've gone through three juicers looking for the exact right one, and finally we've found it. Here's a review of the ones we tried, so you don't have to.
The Jack Lalanne high-speed juicer: This was our first juicer. (The link at left is for Amazon, although you can also purchase it at Costco for $89). It actually worked quite well. It has a large opening and consumed all types of fruits and vegetables we could throw at it. Cleanup was simple enough, although there were a number of large parts to be cleaned. But there were two things about this juicer that made it a non-starter for us:
Paul Sherman, the editor of Pototmac Tech Wire, puts on an awesome Mobile Outlook panel every year. I participated in 2010 and 2011 and again this year at USA Today's Gannett HQ in McLean, VA. It's funny to go back and watch the older panels when we asked for a show of hands -- back then, everyone was using Blackberry phones and only a few early adopters had Android phones. Oh, how quickly things change -- at this year's panel the ratio was reversed. And interestingly, nobody was using a WindowsPhone device.
As I get into angel investing, I'm creating a framework with which to evaluate potential opportunities, which I presented as a keynote at the event. My main message: Find the good ideas that are masquerading as bad ideas -- therein lie the billion dollar exits. This is a tip I picked up from Paul Graham's excellent Black Swan Farming essay. Here's a Venn diagram of what these "good ideas in hiding" look like:
This is super counter-intuitive, because we all tend to look for the good ideas, both as entrepreneurs and as investors. In the slides below, you'll see that the framework I'm developing focuses on teams that can prototype & iterate quickly, are doing something in a meaningfully large market, and can "dump the poop," or pivot quickly when it turns out that a bad idea is actually just that: A bad idea, and not a good idea in hiding.
Vinod Khosla is a legend in Silicon Valley. He's the powerhouse behind Khosla Ventures. Way before that, he was one of the founders of Sun Microsystems, and then became a general partner at Kleiner Perkins. He's also done many other amazing things. Vinod gave the keynote at Stanford's recent Graduate Business School event. Afterwards, I gave a breakout session talk with Heidi Roizen, where she called me a cockroach.
Vinod's keynote contained all the stuff you'd expect to hear from a super successful entrepreneur and VC. For most people, I'd imagine it was underwhelming in its obviousness, but only because hearing someone talk about what it takes to be successful is so different from actually doing it. Vinod offered no magic bullets. Just a solid list of advice that any current or want-to-be entrepreneur has heard and internalized. Things like, "Be a risk taker." "Be a good listener."
That's the entire point of why I'm writing a blog about his talk. There are no silver bullets. The key is to execute flawlessly on the basics. And that's so incredibly hard that most people don't do it.
Vinod highlighted the importance of perseverance in his talk. But the actual example of how he got into Stanford business school is what makes it shine, and what separates him from so many others.
Today at the Mobile Marketing Association's NYC Forum, the CMO of The Home Depot, Trish Mueller, gave a gangbusters presentation on the impact mobile has had to her company.
As she was showing off what The Home Depot's mobile app can do, she mentioned that users of the app can literally place a physical bolt onto the screen of an app to correctly size the bolt, making it easier to find the bolt in the store:
You can find more fascinating stats from Trish's presentation below, but to zoom out and be more macro for a bit: The app's bolt functionality is an awesome example of something that my co-founder Isaac and I have been discussing a lot recently: