Evernote’s 5% problem offers a cautionary lesson to tech companies
venturebeat.com
venturebeat.com
The problem is the crap architecture behind its synchronization model that leads to a sub-par user experience.
Often times on iPhone it only syncs new hyperlinks added after I explicitly open the app.
The thing has no proper handling of simultaneous edits on different devices - leading to conflicts - after all these years with so many programmers there's still no merging algorithm.
The versioning is based on taking snapshots every couple of hours last time I checked. For real??!
Is this the best a billion dollar company can do?
There monetization strategy is not coherently supported by their product implementation.
If business use and collaboration is what they aim to monetize - why such weak and limited features for that? (Sharing notes are very basic, again the poor handling of simultaneous edits...)
Apple is mentioned as another company with many products - but the overwhelming majority of both specific products and specific features work really well.
The same goes for Google.
These companies don't have to cover up for poor 5-10 strategy by pretending they are working of some mystical 100 year plan.
When I first saw Workflowy's synchronization, coming from Evernote, it seemed almost magical.
One 'bug' that's been present since I started using Evernote: Create a new note, paste content, start typing a title, pause, and have it wipe out the title with part of the content or move your cursor to the start of the title.
Evernote has shoved so many features into the product that they haven't been able to sufficiently hone individual features. This leaves them open to competitors who focus on a subset of features but do a much better job of implementing those features.
Apple and Google get around this in different ways. While Apple has a broad set of products and features, they're pretty conservative in their pace of releasing new features. So they have plenty of time to hone and integrate new ones.
Google seems to have solved this through radical decentralization. They don't really require that different products form an integrated whole. This allows individual teams to focus on delivering high-quality products without the architectural overhead of bundling everything into one product.
I want to love Evernote because having a centralized, cross-platform, easily searchable repository for both binary content and text is hugely powerful, and there aren't really any viable competitors in this space. But, I don't trust the company and I don't trust the product, so I won't use it, and I'll stick with several different other products that together mostly fill the same use cases for me. One of those is Google Drive, but it's even clunkier than Evernote (although sync works great!).
Developers want the default answer to "abandon the old mess and write a new one" (snarkiness fully on purpose); Joel's point is that the default answer ought to be incremental improvement. Not that it's always the right answer, but other answers ought to be scrutinized more closely than developers might like.
From a professional point of view, it's actually perfectly fair to consider that greenfielding a new project with hot new tech (or even "newer"-but-established tech, my personal favorite choice) is more fun than trudging through old code. Human factors matter a lot. But we are also professionally obligated not to overprivilege it.
Besides, if you treat it as a serious project instead of a series of hack jobs, in my experience, very serious incremental improvement still offers a lot of engineering challenge and fun. I think one of the biggest mistakes people make is to prejudge incremental improvements as a hack job, when it becomes a self-fulfilling prophecy.
Consider a COBOL codebase on a mainframe where you cannot find developers interested in learning the language and developing against the mainframe is convoluted -- you may not be able to pay talented people enough to toil in those coal mines, and you have to have to overpay subpar talent (or chase after the handful of expert mainframe COBOL developers.)
Eventually, everything will be on the new services, and you can shut down the legacy COBOL system and just keep the API gateway there to pretend. (If you can get clients switched over to consuming the new APIs directly, you can shut down the API gateway too—but good luck with that; their side probably has mainframes too.)
It also assumes that you have a proper API to start. It assumes that you have the organizational maturity to handle synchronizing two separate systems and the distributed transactions that entails.
The other problem not mentioned in the rewrite/refactor conversation is that the most common reason for rewrites is that the business has backed itself into a corner and the assumptions under the first system do not apply to where the business wants to go.
Well, to be honest, when we're talking about proper maintenance and advancement techniques, we must by definition be discussing the topic only for those with the discipline to correctly implement relevant techniques and policies. If your developers or management choose not to, be it for whatever reason up to and including total lack of requisite talent or experience somewhere, you've already lost and the only thing that can possibly save you is to address that problem first, and if that's not possible for whatever reason, you've simply already lost.
As a result, it turns out not to be an interesting case to discuss. Even if it is, probably, the dominant case in the field....
In some markets, the talent to handle this type of project doesn't exist. In other markets, the cost to acquire that talent is more than the marginal cost of rewriting the system.
Lost opportunity does suck. It would be nice if the first system was written in an extensible way with lots of tests and correct documentation, but it rarely is. All software needs to be replaced at some point. All software has a finite useful lifespan. So, this is a common problem. But you must have a responsible plan for replacing any first system. Any sort of project plan that has a magic day where the legacy system is shutdown and the second system is turned on is reckless and absurd. I've heard of failure rates for such projects being 80%, with the rest going way over budget before completion.
The best you can do when replacing a crufty old system is to employ strangulation. You slowly, methodically kill off the legacy system one feature at a time with the equivalent features in the well-written/tested new system. You run both systems side by side, sharing the processing load until one day, years in the future, when you have replaced all the features and the legacy system has nothing to do. It's a hassle and it requires everyone to be organized from start to finish, but you eliminate the big-bang release risks.
Luckily, with all the web services and factored out componentry we've been building in software over the past 10 years, the strangulation approach has never been more feasible.
There's lots of good youtube lectures and agile community blog posts on the topic of second systems and strategies to implement the strangulation. Here's an old classic that introduces the concept better than I could:
you burn your house down, and start over.
As technology people, I agree that we lean far too heavily towards the "rewrite it" option than we should. But that doesn't mean it's never the right option.
Hell, at my last company, we have a big server product made of duct tape and spit, and about halfway through a total rebuild, we had another ball of spit and duct tape made of a slightly trendier stack. We added coders, we brought in front end guys, but guess who we didn't replace?
Strange analogy by GP, you have way more possibilities of fixing stuff in the software world than in the physical one.
Multiple code bases may be a pain, but they still produce better UIs when you support more than one OS.
I don't know if that's universally true.
Slack uses Electron for its desktop apps, yet has received a lot of acclaim for its UI and seems to be trouncing alternatives with truly native offerings (IRC, HipChat).
Slack's story is more about their service and 3rd party integrations, less so their client apps. A messaging client needs far fewer client features than a service like Evernote, and can get away with a simpler development environment. A web frame in a box works for Slack, but not for Evernote.
Evernote's client from a feature and polish perspective is as important as their service. The service need to store and sync (where they also have problems), but the client has to cover a multitude of other features. Cutting corners on the client layer to ease development has had an obvious impact on the UX.
OneNote?
...and that's a really hard problem to fix as you need management (who may not understand the root cause at all) to be on the same page as engineers working on the lowest level of the product.
I have never experienced the problem you describe, but the lack of decent search functionality bothers me.
Really I find their software to be hazardous to my health. I am okay with people liking their hardware but their software and services makes me frustrated 90% of the time.
And the other 10% is spent in Keynote.
Seriously, Keynote is excellent, but Mail is the only other Apple-made app I use, and that's only because I haven't found a better Mac mail client that works with Exchange.
I’ve been using it for years now, and it is fantastic. I do use the beta versions, but I’ve experience very few problems.
I used to keep tax numbers, the occasional bank account number, passport details and so on in it. They're now all in 1Password.
I used to keep credit card bills in it (searchable images!), but now I just download transactions in to MoneyDance.
I used to keep business receipts in it, now they just go straight in to ReceiptBank, and a human processes them, and I can import it in to my accounts.
I used to keep documents I thought I might need "on the run" in it, but now there's Dropbox.
I used to keep a diary in it, then I started using DayOne.
I used to have a shared notebook I'd clip interesting articles for my wife in, but actually Instapaper is better.
I used to take pictures of events I'd see flyers for, now I just say "Siri, remind me to research event x" and I don't even have to type - it just shows up in Things.app.
I used to write occasional notes to myself while on the go, but iCloud sync + Notes.app is better for that.
I still have a few recipes in it, but I have few enough that I'm not looking for anything specific to handle those. I tried to see what I'd uploaded recently, and it turns out I haven't installed Evernote on this machine, nor logged in to it since I got a new phone, which is a bit damning. The cost of having many specialized apps is very small, and I wonder if there's still room for generalist platforms like Evernote.
How does that work? Does Things look in the Reminders app to find new items? Or does it somehow hook into Siri?
Looks like it accesses Reminders.
Evernote is doing badly because the product isn't that good, not due to this postmodern babble.
Neither is Evernote's self-desicrption:
Evernote transforms the way you work. We design products that fuel inspiration for your projects, from start to finish.
or another one:
For everything you’ll do, Evernote is the workspace to get it done.
I think Evernote and many similar companies could start by cutting their marketing BS and moving down to software BS. Too often the two go together hand in hand.
These companies were generally fulfilling a niche which required a certain amount of complexity at the core of the application. They were also difficult to replace as they fulfilled a very specific need.
Evernote, a note taking application, has no reason to be complicated and can be easily replaced. They're trying to appeal to the masses but have overloaded the app with unnecessary features which are not core to the application.
Occam's law for software development: The simplest product will win in the consumer marketplace.
> I'm a bit annoyed about this contemporary mentality that if
> an idea can't be explained in five seconds or doesn't fit
> in a tweet, there is something wrong with the idea.
I agree that not all products should be explainable in five seconds. But their value proposition should be explainable in five seconds.And if the product can't be explained in five seconds to someone who is not a specialist in the field, or a regular user, so be it.
But if someone has been using the product for a year, they ought to be able to grasp and articulate the value proposition. If most of your long-time users can't explain what the product dos for them, you have a problem.
Finally, if each long-time user articulates what it does for them, but every explanation is different, you have a coherence problem. That's fundamentally what is being explained in the post:
Evernote itself can't explain what it does, and each happy user has a different explanation, based on the 5% of the product they happen to use.
This makes it nearly impossible to focus efforts on giving any one user an amazing experience.
On top of all that, internet software companies exist in market, where customer ability to switch to competitor is so high and barriers to competitor entry are so low.
There are exceptions, but for most the have to be The Best at one thing or see their market share evaporate.
Microsoft infact is a fine example of how to milk a complex & diverse product portfolio and how to adapt to market trends. Office itself (which is/was notorious for the “5%” complexity) is one of the healthiest business for Microsoft today.
Ami[1] was the first word processor for Windows, and Lotus 1-2-3 was available for Windows 3.0 (the first commercially successful version of Windows).
XBox (when PS existed), Azure, CRM, SQL, and many others which little bit of research would show up.
Gartner- Salesforce and Microsoft Dynamics CRM are leading the way as two of the fastest growing CRM providers based on 2013-2014 findings. http://ledgeviewpartners.com/blog/market-share-analysis-from...
XBox came in when there were very few competition to PS. PS was the platform of choice (for game developers). Microsoft created an alternative platform (it is like someone else creating an alternative to Windows today).
Evernote had all the advantages when they launched, they over took Microsoft's OneNote in no time in terms of mindshare. Infact when Evernote launched there were hardly any cross device note taking app (other than Microsoft's).
Evernote was darling of investors, had the field wide open, but they had to dig their own grave by not paying attention to product management and engineering (the fundamentals).
>During an appearance on stage last year, Snapchat CEO Evan >Spiegel said his company rejects the overwhelming majority >of things his teams build.
>“I would say we’d probably release about one percent of the >products we’re working on,” Spiegel said. “We build stuff >all the time that’s never released. It’s just terrible.”
If that is to be believed, it would seem that Snapchat is spectacularly poor in their design and planning efforts. Can you imagine Toyota discarding 99% of their R&D?
I'm not sure you can compare Snapchat to Toyota, though. Perhaps Snapchats strategy is the right one? I could imagine small groups of engineers working on small self-driven features being more effective then the "lets sit down and plan this out with gantt charts and focus groups" approach. Specifically for a company like snapchat serendipitous feature creation is valuable even when so much work is being "thrown away".
1. Because it quite bulky now. Takes too much time to load on Mac and Android. Its a note taking app. I should be able to load it in seconds 2. Lost lot of data (untitled bug..) 3. Bugs and Syncing issues... I often see 5 version of the same note.
Nowadays, I occasionally load the web version, just to load my old notes. That itself looks crazy with the latest confusing UI
Where companies develop a good product to solve a simple problem, and because they already have developers and are gaining market acceptance that they just keep adding features way beyond the point of reasonableness.
Then inevitably the company tries to recover money from all of the extra effort they put in the product that nobody wanted and end up making their userbase hate them.
Thing is, I'm not sure what to replace it with. There's lots of apps that try to tackle one piece of the puzzle each, but I really liked having on "bucket" to put almost everything into in a relatively unstructured way. I've even been thinking about building my own replacement, with the workflow tweaks and slimmed-down feature set I actually want/use.
I just installed the desktop version and wow, it's really nice.! I particularly like how the rich-text editor works. Seems to capture the spirit of Evernote quite well.
Maybe it's not designed to do what I want, which is to be a simple digital shoebox into which I can constantly shove stuff and have it searchable and available. For all its visual design polish the core functionality is frustrating and I object to being bugged to buy overpriced desk furniture by a notes app.
I call it Skypeification. A simple utility - making calls, taking notes - gets bloated in features and UI until it takes far more space and resources than it should. At it's smallest window size, Skype takes up almost half my laptop screen to display nine interface elements. There's no excuse for that.
Then, there are a bunch of features which I expect are each used by a tiny subset of users, but perhaps a larger chunk of users who would be likely to attend an Evernote conference. Things like work chat, food, hello, penultimate, scannable. I'm not saying any of these things is worthless, but they are each useful to only a small subset of users. For some incomprehensible reason, all the focus seemed to be on these types of features for quite some time. Hopefully that is now changing.
And I did become an expert, but with some help: I took a basic keyboarding class in high school which taught me how the secretary industry uses MS Word. Otherwise I don't think I could have ever become the expert that I am.
If Evernote is going to become a full productivity platform, shouldn't this bloat be a requirement? Or is it because Evernote is a "startup" bloat overhead fat should be cut? Meaning SaaS companies can't be having bloat overhead fat, aka full utility of features?
So I just couldn't see what was all that about. I'm assuming here I was just looking at 5% of the product. But I still have absolutely no idea what else could Evernote do. The UX was all confusing and messy and hard to discover new things.
When people talked about how important Evernote was to their lives I would feel myself as I imagine how my father feels regarding the importance on my mobile phone on my life. He just have no clue what I do on my smartphone, and where he have clues (like brownsing the internet), it is just not that important to him.
1. App start is slow
2. Update process. It should be silent. I dont want to read update release notes. Just update it.
3. Remove unwanted features. Have Fewer buttons.
4. Editing in mobile app is big pain. I use android.
5. In general everything must be quick, smooth and Easy.
Positives
1. Rich text editing
2. File attachment with notes
3. Plugins etc.
It's just impossible that anyone who created that experience actually used the application in a non-trivial manner.
A few years later there was a new management team, and Lotus was even more confused about Notes. That did fine too.
The key, I think, is to already have a decent business model around the core of your product-use. Then if the sizzle is 97 additional features -- well, that can be OK.
Lots of companies try to become platforms that shouldn't. Evernote IMO is in the opposite group. It's basically a database for my mind. They should package their core offering (notes + notebooks + tags, ie. a text-editor w/ dynamic file system) into a sleek, simple product. And then build an ecosystem of add-ons people can choose from that are tailored to the many different ways people can use Evernote.
This also enables experimentation, without messing with the core experience.
Everyone bitches about too features until they need something. Evernote's tagging capability and ability to capture, categorize and find information on all major platforms is best in class. They bolt on lots of features because people use that core function for lots of stuff.
Example: My sister used the Evernote web clipper to gather research for a big school project. She used tags to organized and had todo lists, etc linked to the subjects and cross-references.
Example 2: A friend did what my sister did, except the research was embedded in something like 40,000 pages of scanned paper that was OCR'd, annotated, etc. All in Evernote.
At it's most useful, Evernote is something that you use for everything. The problem is it's not reliable. It's too easy to lose data, and impossible to get data out.
So this 5% problem definitely applies to me, and with me probably many other users who had their simple notebook app (unsolicitedly) replaced with Evernote.
Since they have spent billions of dollars trying to build it already, I will go out on a limb and say that they will never improve, and that they will slowly (quickly) burn money until they either IPO (and then continue on this trajectory but with more money to waste) or run low on cash and fire-sale to Google, who will just move their users over to Google docs after a year or two. Evernote is just going to burn cash at some rate until they run out, the only question is how much cash they will be handed.
Something like the boogie board sync[1] is exactly what evernote should have made instead of the physical notebooks. It feels enough like paper and automatically uploads when in range.
IMO the sweet spot of EN is that it is a generalist app. With an email client they would become even more generalist. I hate switching apps continuosly. If they could integrate a fast & bullet-proof email platform I would be happy to ditch gmail. This could be an interesting path, Gmail doesn't have strong competition.
If Evernote supports the above features in the Premium account, I would be very glad to pay and upgrade. Now, my only reason to upgrade to Evernote Plus is for 1 GB sync quota. Other features such as PDF edit or offline access are just useless.
I like Evernote but I do hope Evernote can put more strength on their essence, i.e., note taking functions.
That tells you a lot about Evernote's feature bloat. A note taking app shouldn't require reading a 1500 word article to use
There are many different ways to organize things via tags or notebooks. A lot of people implement various paper productivity tools in sw like Evernote. At least, that’s the type of posts I've read.
Regardless, I’ve started dumping most things into a Cabinet notebook and rely on search, which is the big win for Evernote (it also integrates w/ google search to show you related items in your Evernote collection).
I think you are just forgetting all of the failures they have had like the fire phone.
I just need a structured way to store simple text & search. Yet it feels cumbersome even for that.
Adding too many features is very common on tech. I don't know what happens in the dark meeting rooms of these companies, I can just imagine they are trying to keep growing and not satisfied with what they are.
Too many features makes things complicated, the first thing you learn when are trying to open a business is to be the best solution for just a persona, and not to be a swiss knife. Swiss knife does many things but doesn't do none very well.
I like iPod shuffle, they just play music, but does so well. Apple has other versions with more features, but not killed the shuffle. Tech companies usually kill the software you like to replace with another with more and more features.
I have a simple software with some paying users, and a lot of times appeared the opportunity to add more features to get more users, this happens all the time, and I didn't do it because this would change the core idea of my software. If I want to add more features to get a new niche, I plan to create a new product based on it.
I think you are right about that. A year or two ago I was filling out a survey for some web service I use (I think it was Feedly). They were asking what features I wanted and I returned it with the comment that the product seems like it is complete and just needs to go into maintenance mode. They didn't take my advice.
I've sent that feedback to other companies as well that have excellent products.
For Evernote, I think I would resubscribe as a premium user if they offered a stripped down version of their client. Store notes, images, and pdfs, make syncing work and have excellent search. Get rid of chat, and sharing, and even notebooks and stacks (double down on tagging and make a great search UI). The problem for Evernote is that every user has a different set of features they would remove. Try to get to a place where you can shrink your team.