So, I don't have time to work on TaskSmash, but I think it has a lot of potential. Months ago I wrote a blog post offering accounts on it, and despite not linking to it since, there are more than 100 tasks posted every day. People really love it and email me about it all the time.
The PHP code is a bit of a mess. I was a really bad coder when I wrote it, so it's basically just one big disaster of a php file. It's all functional, just not organized or documented. So you'd probably want to clean that up. The big feature that needs to be implemented (that would seriously only take a day) would be to have recurring tasks. There's an API for it that I never made public, and someone is making an android app for it right now.
If this sounds like something you'd like to put time into, you can have 49% of it for $1. I'm keeping 51% not because I actually want to control it, but because I want to be able to look out for the best interest of the users on it, since they trusted me when they signed up. If you decide that you want to sell all the email addresses to a marketer, I need to be able to override that.
You can keep it free, you can make a premium version and charge for it, or you can try to charge a small amount for the existing functionality to NEW users (I'd like existing users to get it free for life). I don't care whether we make money on it or just keep it free. If you make money, you have to give me 51%, if you don't make money, that's fine, too.
I can keep TaskSmash running forever as-is, and obviously don't need help with that. So if you do take it on, I will expect you to actually work on it, both making it better and getting more people using it. Your 49% will vest monthly with a one year cliff. In other words, if you say you're going to take it over and give up within the first year, I get the project back. Not trying to screw you, just trying to make sure that the person who takes it over actually cares about working on it (not full time, just as a hobby is fine).
Let me know if you're interested.
I never got around to letting you know, but thanks a lot for creating TaskSmash. I literally use it every day; it's the first thing I check in the morning on the internet and the last thing before I go to bed. It really has given me a boost to my productivity, mostly because of the accountability because my friends use it as well and because of the layout which makes it easy for me to see how I've been doing.
Taking over TaskSmash sounds really interesting, but I'm just starting out coding and currently couldn't do anything with it. Besides, I don't think I'll have the time to be working on this project in the near future.
However, I'd really appreaciate it if the basic functionality stays the same and freely accessible. Any improvements would be welcomed, and I appreciate the effort f whoever will be working on it.
Thanks for building it, Tynan. Love it.
If you're still looking for someone to partner with, I would be very interested in talking with you. I have many years of PHP experience (including scalability and high availability), and have written a project/task management application before. Please let me know.
If the current arrangement doesn't work out, just let me know. I'd love to play with it, and I love using TaskSmash. Even started cheating the system to get more accounts for all my friends - any friend who wanted an account, I'd make an account for them with a premade password and then login and steal their invite code to invite a fake email and then repeat the process, to make sure I could always invite more friends ;).
As long as you're not opposed to my potential overhauling of the backend to Django or Rails
I'm quite interested. I'm currently doing a lot with web dev and I have a couple cool ideas for it that I think would be neat to test out. Let me know!
I'd be interested. I'm looking at ways to brush up on my code outside of work. I'm not sure I'd be able to devote enough time though. Or if the code is really bad I might bail. I do asp.net webforms and mvc at work but did some php in school. If you send me some code I could probably make a better call.
It's surprisingly rare for me to get emails with suggestions for posts, but since posting last week about my startup, I've gotten several requests for a post about programming. Good idea-I should have thought of this before.
Now is a particularly good time to talk about programming, because now is a particularly good time to start a tech business. Every two weeks I go to Startup Poker, where I play poker with a bunch of startup employees and owners. We don't talk about startups all that much, but when we do, a recurring theme is this: there has never been an easier time to start a startup.
The process of starting up a tech company has almost become standardized: two founders join together with an idea, they start building it, take funding, and change the idea along the way as necessary. Amongst the two founders, there are only two configurations that you'll see: either both are "technical" or one is "technical". Technical meaning that they can program and will actually build the product.
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.