As users gain more experience, their needs become slightly more complex. They start to understand the simple product completely, and then they have the cognitive ability to understand more fancy bells 'n' whistles. For users who have been doing project management for a long time with any software product, they will have a long list of things that they know -- from experience! -- that they need.
That is why there's a market for simple and there's a market for full-featured. Both are discrete markets, usually. Obviously every software designer strives for "power made easy" -- it seems easy at first, but there is power under the hood when you need it.
What if there were a product that is exposed to you first in the simplest form. It's clean, elegant and simple. Easy and not intimidating to use.
As you use the product, your needs begin to increase and suddenly you need a new feature. As it turns out, the product actually supports this feature and so you turn it on. Now, you are turning on feature X, not feature package premium--just feature X.
In fact, the product actually has several additional features and functionality that can be enabled and disabled one at a time. None of these "extra" features cost "extra". They are all included in the base price of the package.
What if your product has a training module, where users can be guided through test use case scenarios that expose and demonstrate new feature modules. And what if we make it so that when you enable a new feature on the product, that feature only shows up to users who have completed the training guide for the new feature in the module.
In other words, in order for any specific extra feature to show up it needs to be:
1) Turned on by the administrator.
2) Flagged as "trained" on a per agent basis.
I worked with a large personal finance software company at a time when they were enraptured with re-use. They had visions of doing things like sharing contact and project management modules across customer relationship management (CRM) and invoicing applications. I had a large stake in making sure they thought through these issues clearly, as the very form of the product I was leading the creation of was at stake.
We think about an invoice or a project or a task or a contact as something that's fairly self-evident, but they're not. More precisely, an application needs to create a model of these things, and that model is a useful simplification.
It is likely that "a product that grows with you" is one that fundamentally changes the model of the entities that your product works with. So, for example, a simple invoicing tool might have a client or a customer field, and that works in let's say ninety-five percent of the cases, but for some people, they want a full-on contact manager where you need to know that an invoice is for ABC Co., that the client contact is John Smith, that invoices should be sent to firstname.lastname@example.org. Pretty soon you're going down the contact management slash engagement business process analysis rabbit hole.
And going down that rabbit hole is fine, but you're never going to be able to create 1. a simple, novice-friendly view of that industrial strength application that 2. stores data in a way that is semantically correct so that 3. when the user decides to upgrade from Invoicr Lite to Invoicr Enterprise Platinum their data isn't a nightmarish state.
This is one of the reasons why it took Windows user experience so long to approach anything even remotely as pleasant as the Mac: Windows had to support a much — let us say out of politeness — richer model computing than the Mac did. The Mac user was never exposed to certain details — like whether your filesystem was "really" hierarchical (the original Mac didn't have this feature) — but instead shown a simplified view of the world that Apple and developers had the freedom (and obligation) to implement by any means necessary.
/noob rant about the magic, magic!, of using emacs.
* Scripts such as keywiz let you incrementally improve your knowledge.
* Having a REPL in scratch means you can interactively tweak things.
IELM is more of a proper REPL, however.
However, I think a piece of software that evolves is what most people intend when they start with a minimum viable product. What you don't see too often are benchmarks to "grade" users and automatically move them up to more advanced features. I'd have to think more about it to see how it could be implemented and how beneficial it would be but I think its interesting none the less. It would be similar to a game in which you "unlock" certain maps/levels/etc.
Thats a fine objective for _some_ software. Twitter clients should be like that, the majority of what email clients or web browsers can be like that.
It's possible (probable?) that fully featured project management software can't be like that. There's too much external system level understanding required to expose everything the user needs to know about how and why to use the system in optimal ways to be able to encode it all in beautiful UX/UI.
Try and work out, as an exercise, how you design a UX/UI for a git client that'll allow a cvs or subversion user to "pick it up with ease". Some things "just don't work that way", and I'm reasonably sure project management, at least at medium and large scale, require user training (whether formal or self-trained-via-google, or through many iterations of trial and error).
_The Humane Interface_ discusses the balance between delivering something with "optimal usability" from an objective and scientifically validated standpoint vs. delivering a product the target audience can quickly familiarize themselves with and transfer their existing domain knowledge to.
So, while the Canon Cat may be a revolution in word processors, the average user will do better with something similar to Microsoft Word because they know it and can apply what they already know rather than learn a whole new way of word processing.
If you're performing a complicated task, it's reasonable to ask that the software not make the task harder, but it's also reasonable to expect to have to learn how to use a new tool.
I suspect that project management (at least for some large projects) may be such a problem domain, where the tools are unavoidably complex.
The spreadsheet is a great example of something that is ridiculously intuitive when you first use it, and grows with you. From inserting values in cells, to formulae and UI features like freezing, to advanced constructs like pivot tables, and ultimately to programming.
I would call that a smooth UX trajectory from novice to expert.
From experience, I think mandatory training is necessary otherwise you end up with your agents using fields as they _think_ they should be used instead of how they should be used.
this approach was tried by Gnome's Nautilus for a while, a few years back... and it failed miserably. It feels to me like a bad excuse for not designing a good UI in the first place...
"So, the minimum viable product is that product which has just those features (and no more) that allows you to ship a product that resonates with early adopters; some of whom will pay you money or give you feedback."
While you could argue that some products appeal to certain segments (unexperienced users vs more experienced users), there still is no reason why you couldn't use that customer group and refine your existing product, create a secondary product (addition), or a new one entirely focused to that 'other' customer group. In this example, a new product focused to the more experienced user might be easier as that is exactly who you focus on for an early adopter group.
 Eric Ries "Harnessing the Power of Early Adopters"
It seems that Pro Am and Pro are separate market segments that marketeers have difficulty positioning.
The reason is that people fancy themselves as being more competent than they actually are, and would go out and buy the souped up version that has features they could not possibly need (like 12 simulataneous cameras) and look like a space shuttle cockpit instead of something simpler.
This is an interesting problem. I wonder what could be done about this? You'd virtually be forced to name the actual professional edition as something rather staid, like "Final Cut Classic" in order to properly sell your product.
Adding features is hard work, risky, expensive, and sometimes counterproductive (!).
It's hard work, because you need to change an existing, working piece of software with new code, and deploy it. Including possible database changes.
It's risky. Deploying a new version of your software might introduce nasty bugs, huge usability problems, or you might change the way things worked before, actually displeasing a lot of users.
It's expensive. Programmers aren't cheap. Then you need testing, QA, ticket triage... all things that cost a lot of time, and money.
Counterproductive. Your new features might only benefit a tiny portion of your userbase, and might not attract new customers. They might break your existing model. And so on.
Once you've reached a good feature set, doing continuous development is more of a life choice, rather than a business decision that makes sense.
Perhaps the OP developed a core competency in project management, which requires a different app. Spool implies that it is hard to have an app that can meet the needs of both core and ring users, since they have different needs.
It's not novice vs expert in the app that matters, but novice vs expert in the domain area.
In addition to "Say no by default," one of their other points of advice has been: "Let your users outgrow you."
37signals has found that there's more people to sell to at the bottom, and when customers need/want more, they're free to find it elsewhere.
Today Basecamp is 7 years old. Signups are stronger than ever.
Whenever we survey customers asking them what they love most about Basecamp, the top response by a mile is: it's simple, easy, and their co-workers and clients actually use it. It's not multiple choice either - the words "simple" "easy" "intuitive" show up more than any others in the open ended textarea.
We've made Basecamp a lot better over the years. Some people still ask for more. Others say it's too complicated and they wish it was even simpler.
Software development is a challenge. Everyone wants something different. So you do what you can to thread the needle and make as many of the right customers as happy as possible. Not everyone is the right customer.
It sucks to lose a customer because we did something wrong, but it's OK to lose a customer if we just aren't the right fit anymore. People move on from all sorts of things. Clothes, houses, cars, jobs, relationships... Why not software? As circumstances change, one product may not fit someone forever. That's OK as long as it fits plenty of other people at the same time.
Some customers stick with you forever. Others come and go. Many who go come back after trying other tools that promise them more but that no one actually used. In the end, the tool that actually gets used is the one that's the right fit for someone. It's really really hard to get people to actually use things.
We've found that the simplest stuff is what actually gets used. It's why email is still the world's most popular project management tool.
Still, it's a painful transition to outgrow a tool you've become dependent on and need additional functionality to do your job.
I think you need to walk the line on this one. That's what we do with Apollo... We managed to include a CRM in there, and still keep the UI very simple.
How else would you have it provided to you? That's pretty well the most versatile form of the data you could get, I'd think.
No matter what the niche, or the market, there is always room for the simplest solution. Always.
It seems to me that the people who are attracted to the most basic set of features will also have the least amount of pain shifting to a new product while having the lowest price elasticity.
Most software engineers are prosumers, so you either target them or the enterprise.
Now, "onion" products are better - they let the user grow from a simple base. But a simple product is a lot easier to make, which frees up resources for marketing or other products.
If Apple did this - raised their prices while also taking a 'less is more' approach wrt features, many of their most ardent supporters would eventually defect.
re: basecamp - I knew several orgs in 2008-2009 that had paid versions of it. none of them liked it, but used it because it was something, and they were paying for it so it must be OK. I suspect that over time, BC will bleed enough paying users to the point where they'll reinvigorate the team and start adding more value. Then again, they may just raise the price and ride out their name brand making boatload of money for many more years to come.
If I make the world's simplest todo list, I have not made an Apple product. I have made a toy. If I make a phone into a tablet computer that is immediately understandable to a child, I have made an Apple product.
Can't we have a bit of cooling down on this Apple fan thing? The first and last Apple computer I booted myself did crash hard and there was no way to recover, go into BIOS, "hack" it if you will. Ok it was 10 years ago but still, when I see an Iphone owner I ask: show me your files, your music and pic files. Don't you /own/ these?
How can you hack something if you don't have access to its files? When I mount my Ipod, I always wonder why tf they did rename all my music to F01.mp3, F02.mp3, etc. And because of this renaming there is a silly upper limit on the number of tracks I can hold on this said wonderful gadget (I use it because it has a 80G sized belly).
We should be hackers here (and defend the positive meaning of this word given by pg, particularly now). I understand why a CEO would love to use a nice looking toy as their phone, even in a tech startup. But I feel any true hacker should/would feel imprisoned with any device that you cannot mount and scp to, right?
Why do you think we see the rise of different "clouds"? Because they hide another layer of details. And yes, they move files you love so much further away from us. For the best, in most cases.
The times when hackers and users were the same people a over. Hackers today must understand, that the users of their products are no longer other hackers (with exceptions, of course) so different rules applies. Normal user will not care about implementation details. They may scare him. What the user want is to pick your product up and just use it.
Failing to understand that you fail as a hacker. On the other hand, succeeding to hide implementation from the users is a great hack.
Well, have you never been in need of opening a .doc with a simple text editor like vim and fix some issues? Really?
> The times when hackers and users were the same people a over.
That not my point. I reacted to the false claim that prosumer (ie power users / hackers / hn readers) prefer Apple.
As a matter of fact, most geekest geeks I meet in my job are all having Nexuses. Maybe because I live in China, but it was about the same in France and in Germany.
When really what I wanted to do was just listen to music while I'm walking around, and have a limited amount of worrying when it comes to getting music onto the device. (IE, it Just Works territory)
My behaviour is now circumscribed in other ways - my attention is split between things I really want to work on and this malaise of I ought to be crafting better tools to work with my music player.
"You can just set up rsync once!" is kind of a non-argument response to this - an Apple gadget, in this case, I set up nonce. Plug it in, it initializes, and syncs everything. Now I can listen to music where-ever I happen to be, and I don't have those circumscriptions to my attention.
If my Apple device annoys me sufficiently that I really want to have that level of control, there's a myriad of devices out there that automount as USB devices, that I could set up all sorts of nifty on-insert rules and script to high-heaven.
This look like an orwellian paradox to me, like "thinking less makes you free". Having low-level access don't mean you /need/ to use this power, it means that you /can/. Not having this power means you gave the keys to someone else. I'd rather keep most of the keys on my side, personaly.
The first time I saw an Ipod, it was at a party, in a friend of mine's hands, looked good, he had nice music, then I asked him to give me a few mp3, and it was "impossible right now". My god...
--> Never bought an Apple product myself (the Ipod I use is my wife's).
I have a feeling the author will write a similar piece in a year or two after using Podio -- no software is perfect.
Being very deliberate about making sweeping changes to an application with an extremely large number of very satisfied users is not the same as allowing it to stagnate. Having spent 4 years of my life working at 37signals I know first hand the incredible amount of energy that is devoted to it by an extremely talented team.
That said, it's certainly not for everyone. And if you outgrow it, fantastic, feel free to move onto a new product that suits you better. We do this with many other aspects of our lives, why should software be any different?
We're trying to be very open with our own product, but often very small fixes or changes don't make sense as an announcement on the blog.
Does anyone know where Basecamp links to this change history page? The only link to it so far I can find is from their blog: http://productblog.37signals.com/products/2009/10/basecamp-a...
1. Apollo has great customer service, and listens.
2. Apollo's interface doesn't look like Windows NT
3. Apollo is moving forward, while Basecamp seems to have stagnated/rested on its laurels.
I think Basecamp is a good product, but it's not that good.
It's like Basecamp under active development with CRM integrated! It looks friendlier for external users/clients too!
Things I found missing on BC and I did implement on Teambox: a single account (37s got this right later), a real activity stream (Facebook style, reply to anything from the feed), an open-source codebase so others could extend it and tight integration of first level elements: Conversations, Tasks, Pages.
GitHub's nice if you're focused on building software. Project wikis, home pages, code review, huge open source community.
DHH was fundamentally right, even if the details were wrong. For 99.9% of apps there is a replacement app available on any of the mainstream phone platforms. The long tail maybe gets you a bit more polish, but its polish on non-core scenarios. Most people will decide based on the polish for their core scenario, not on Textalyzer.
If you run a full time consulting business, $24/month is a negligible expense for software that supports the core function of your business.
I'd argue that all the prices are negligible as they scale with the size of the business. Even the Max plan ($149/month) is only $1788 per year, which is equivalent to less than 2 weeks worth of man hours. Logically, if using the Max plan of Basecamp saves you and your team 80 hours over the course of a year it should be a no brainer.
I have to admire the way 37signals has grown over the last few years. Sure, they clearly don't integrate every feature. The user interface certainly works but has no iGloss about it at all. Pricing is steep and they hide the lower-priced plans. But it works: people still use the service.
If you're a coffee shop you concentrate on your coffee. If you're an electrician, you concentrate on the quality of your work. Adding extras like "nice cable ties" are irrelevant. 37signals are concentrating on their core functionality. When the day comes that the majority of their users require X feature and that feature becomes a norm in Project Management, Contact Management, Collaboration, etc then I'm almost sure they will react: why wouldn't they?
We are of the mindset that software should fit the way you work, not necessarily the other way around. We're building a Force.com-like platform that allows you to create custom business workflow apps in minutes to handle not just tasks, but also lightweight crm, recruiting, and other business functions involving a relatively defined process. We provide a fast UI to access these records, so all you do is specify the schema and callbacks.
We're still in beta, but happy to release some invites and work with members of the HN community -- http://www.devcomb.com
Most (all?) of us developers / product guys fight with feature creep. I'm glad 37signals is there to remind us, by example, that it's OK for a software business to focus on a specific solution, sans bloat. There are users that will appreciate your vision - and gladly pay.
However, within days I came to hate Basecamp intensely. Not so much because it imposed certain structures and ways of working -- discomfort is to be expected when you learn a new tool. And, of course, sometimes, it turns out you can learn better ways to work from tools that force you into certain ways.
No, what made me hate Basecamp with a passion is that the thing is slow. It is unacceptably slow. And the UI, be it the web UI or the various apps that existed for it at the time (late last year), did not manage to meaningfully mask the fact that the system was slow as molasses.
The fact that 37signals, a much lauded company, would allow an important product to have such a glaring fault now means that I see anything that 37signals say or anything that is said about them in a different light. I am now thoroughly biased to think that they have no business telling anyone how you make good software. I can't help this, though I will acknowledge that this is an emotional response rather than a rational one.
It also means that anyone singing the praise of 37signals now also seems suspect. Do they even form their _own_ opinions or do people just parrot the praise that people they look up to heap on the company.
Slow apps are not cool. Companies that make slow apps without visible embarrassment are not cool. Basecamp is dead slow and it is perfectly okay to point out that the monarch appears before the court sans clothing.
Worse, it hasn't been papered over well either. I can't load a Writeboard from Basecamp without some weird 1990s-style "we're loading your Writeboard" page hanging around for a couple of seconds. UI-wise, I'd be satisfied with it being separate if it weren't for the extra page coming up wasting time and making me think something happened.
For example, I don't consider Jira as in the same arena as Basecamp (and I've used both a good amount). I see Jira as a programming/development specific management tool, to be used by programming teams and maybe the managers of those teams.
I see Basecamp as a far more flexible project management tool that can fit a wide variety of needs. It works great for organizing our Entrepreneurs Unpluggd events. It works well for some web dev projects and design projects, but not others.
Basecamp isn't always THE solution. For some types of projects, it is. For others, it isn't.
At the end of the day, the right answer is the project management software that helps you more efficiently organize your specific projects. Because Basecamp doesn't work for Joe and his projects doesn't mean it can't work amazingly for Sally and hers.
A few years back, when I was working for an IT analyst firm, I headed a project to find us new task/project management software. (Our existing application for this was old and homegrown and pretty bad.)
The issue is that the significant majority of our tasks/projects were very small: Take a briefing with a client, write up notes, attach presentation, possibly include a followup note for sales, done. So project management software that was organized around the principle of a modest number of projects with milestones, actions, sub-tasks, etc. didn't really work for us. (Including the 37signals options.)
We eventually settled on trac which worked pretty well for the purpose. And we'd probably have supplemented that with something more like Basecamp if we got into some more complex projects and simply handled them as a separate case.
My broader point though is that I found that the "best" project management software depended on what you were trying to track.
I've, since, moved away from Basecamp and am almost completely on Jira now.