My favorite example is for this is Evernote, which I know a lot of people tried and never got anywhere with. If you don't have the habit of just sticking stuff in Evernote, stuff won't be there when you are looking for it, and your habit of using it will never develop because there is no "reward" for using it. And few people have the stamina to force themselves to use something long enough for the habit to kick in.
That is why businesses, apps, and others need to have some mechanism that helps remind you for at least a month to repeatedly use the product, in order to train your subconscious in its availability. And it is why customer acquisition is so hard.
Sometimes, I have the urge to simply get some random thoughts out of my brain. Sounds like a perfect thing for Twitter, except with Twitter, I have the expectation that my stuff somehow gets noticed.
So instead, I use JOURNAL.TXT for that. I write the thought down, it's out of the system and the urge fades. And there's clearly no expectation for my thoughts to go anywhere. It's written for an audience of one.
log(){
pushd ~/logs;
echo >> $*;
date >> $*;
cat >> $*;
}
So whenever I have a piece of information that I'd like to keep - a thought on a project, a word from a foreign language I am learning, ideas for christmas gifts, some bash-fu and so on... - I fire up a terminal (mod+return, in my case) and enter log filename
Now I can type down that piece of information right away. File names could be "english" (for vocab) or "xmas" (for gifts) or the name of a project. So either the file already exists and I thus add to it or a new file is created instantly.It is super quick and non-distracting (i.e. I don't 'accidentally' get carried away by looking at previous thoughts or tweaking the config of a journal application etc.) What's more I find it very convenient that the function automatically adds the current date to each entry.
Btw, I've got another function called "show" which I can call whenever I feel like just briefly skimming through a file
show(){
cat ~/logs/$*;
}
For my daily todo list I enjoy abusing markdown syntax. I do this because syntax highlighting makes it easier to quickly scan through the files. (I use gedit with the monokai theme)So at the beginning the list looks something likes this:
Task 1
Task 2
<!-- some details on task 2 -->
Task3
Task4
<!-- some details on task 4 -->
(comments turn gray so that actual tasks stand out)
Whenever I begin a task I place a "-" in front of its line. Now I see this red minus and thus know that I have started a task that needs to be completed. When I've finished the task I replace the - with a # and now the whole line turns blue. I've line numbers enabled in gedit so when I want to change the status of an item I simply hit ctrl+i and enter the corresponding line number. Some tasks occur daily, at least for a while. In that case I revisit a task's line again at the end of the day and remove the "#". Similarly, when I want to delete an unnecessary task I go to its line and hit ctrl+d and thus delete it. It is super primitive but I like it. ;)
I certainly have the need to get it out of my system, but I usually don't feel like sharing (I'm quite self-conscious most of the time). A small text file is an idea I should have thought of myself, but now the seed is planted.
I almost didn't post this reply, either.
Hope your JOURNAL.TXT serves you well. I actually have a private sub-reddit that I use for similar purposes :)
That's funny. I chose Twitter for that purpose specifically because I had no followers.
I'm proud to say that I appear to have kicked my Clash of Clans habit (which I realized I'd logged into at least 1-2x daily for a couple years straight). However the notion that I'd lose a ton of progress in my ranking, all my saved up resources, etc. was a huge barrier while I still had it in my mind that I'd continue playing it.
When I crossed the threshold of internalizing that worrying about making up that progress in the future was futile since I wouldn't pick it up again, things got a lot easier
I would generalize it (perhaps ad absurdum) instead as: do not underestimate costs of user onboarding (in whichever shape or form).
I wonder if developing a competitive replacement app actually involves replicating legacy UI. As wasteful as that may seem. And only after that hurdle is nullified, there will be a chance to gradually wean users towards a new experience pattern.
OpenTable has been around since 1998, so I imagine they are the market leader because they were the first to market and their product works well. You can never please everyone, but just because a product doesn't have your pet feature doesn't mean it is "shitty".
I'm a spam nazi...if anyone spams me, I'll remember. I see I still have the opentable@mydomain.com active, which means they haven't spammed me yet.
I just had another look at their site, and I don't see any UI issues myself. You find the restaurant, choose date, and it shows you the times available. You then just confirm the details and click COMPLETE RESERVATION. Nothing too skanky about that. There are boxes you can tick in the confirmation page to subscribe to updates, but they are unticked by default (at least in Canada, where it is now illegal to sign people up automatically).
Think of products/startups as fires, they start small, can't use large logs straight away, need constant attention, you could use a lot of petrol (financing) to get it started faster, but it could also just fizzle out immediately if the large logs don't catch fire as well.
Once they get going, you don't have to watch it so closely, you can just add a log here and there, maybe remove some ash.
The goal of the fire is to get people to gather around it. The warmth in this case matters a lot, but also the people gathering around the fire.
In fact some people might pick another fire because it has people who are interested in the same things as them.
Sometimes a fire gathers TOO many people, and it gets crowded. The maker of the fire didn't make sure it grew large enought to provide warmth to many people - and so people on the outside get cold and go to another fire.
Most of the time though, if someone is by a fire that provides enough warmth for him and he likes the people around it, there is little compelling reason to go to another one.
I guess if you wanted to get ridiculous with the analogy, you could make the "balls" of different materials, some of which are very strongly attracted to the magnet and others which take a lot less force to pull away.
I mean unless you meant lead for some particular reason, that doesn't really matter and this comment just becomes useless nitpicking (and by becomes I mean always was), but I'm trying to justify making this comment to myself, and I come up with the justification that I really don't understand why you picked lead.
Is it because of the density?
It'd be pretty impressive to get lead to exhibit magnetism…
But absolutely, I'm exactly the type of person the article is talking about, I have experience and an amazing team, and our "improvements" have more or less failed spectacularly. We learned that design ideas that are "better" than the status quo often confuse and alienate customers, because they're already used to something, and everyone else does it that way. A de facto standard is a powerful force, and shouldn't be ignored or shunned.
I have to do something different! so I'm thinking the solution is to do only one "improvement" differently at a time, and to do it very slowly and deliberately, and with a lot of two-way communication along the way. That's a theory, who has evidence for or against?
Is there anything other than a "better" design that differentiates your product? Or, if not, can you acquire your customers differently, at a point where they aren't already habituated to doing things the bad old way?
Ultimately I would say your best bet is to get back to basics and spend a ton of time listening to customers and watching them use your product, and your competitors' products. You might have changed the wrong things about the design? Or maybe there's some other pain point they actually have, but no one even thinks it's possible to do things differently because they're so used to the status quo.
I would also be very mindful of incentives of various people, including both the users and the purchasers. Users in workplaces don't necessarily want something that is faster or more efficient to use (in a business setting they might have job secuirty, pay, andceven self-worth tied to knowing how to use a very complicated system). Buyers who aren't users very often buy based on specs more than design or ease of use (easier to rationally explain decision to higher ups). Consumers often buy/engage for how things make them feel, or for satisfying one of a few very basic desires (which they might not want to admit).
Not sure how applicable, or new, this is go you. These are just thoughts that come to mind.
Look at any mid to large scale company and their internal ticketing systems, HR systems, travel booking systems, time tracking systems.
The last company I worked for, did not upgrade the employee laptop OS from Windows XP for over 10 years as their legacy ticketing system wasnt supported on the newer versions. Obviously this was a cost issue of the new ticketing platform but also the unknown cost of retraining the whole company. Additionally people and organizations get comfortable with the "evil you know".
Frankly as a new entrepreneur this is also incredibly hard to test in the market. Most early customer development will give you signals that they want it, but won't act when it comes time to switch.
This is why you see SaaS services succeeding by cracking few employees or small teams at a time. Think of Yammer, Slack etc.
They don't need the whole company or department to change. Just few employees or the team can use it and slowly infect the rest of the company. That would be the only way to overcome this problem (although not all products can do this).
Regardless, I don't think the article accurately represents other forces in adoption and popularity outside of convention and intuition. There are many things such as chance, social trends, commercial backing, et al.
By definition, half the human population is below average in intelligence (half above)...average people typically go with the flow...the above average often question the flow...the gifted are constantly aware of the flow, but are often complacent if they're not in a position to force-feed change...
Resistance to change is a powerful force, especially when your business (owner), or job (employee) may be at stake in the form of risk-taking that will lead to uncertain outcomes...
"While I am happy to share data with those that request it, I will summarize by saying that most restaurant customers that use OpenTable abhor it (for a few different reasons)."
His company, TableHero, is a competitor, so "most" may be an exaggeration. He's probably identified a few weaknesses in Open Table to capitalize on.
If shitty products tend to thrive it's probably more often due to industry lifecycles, incumbent dominance, solidification of position via acquisitions etc, and the difficulties of innovating in large organisations
Occasionally more aggressive companies will come after a cloned product with a lawsuit, for instance Facebook sued a number of early competitors for various intellectual property and trademark reasons. Doesn't hold up in court publicly but I imagine there have been a lot of backroom settlements made this way over the years.
What makes bad products bad is precisely the stuff you're trying to copy. Any clone just inherits the bad parts then inevitably adds other bad parts behind the scenes or misses random features. (Hello Open Office).
Established product has staying power, network effects, etc... The new guy, with just a copy is offering what exactly?
Risk = dollars.
If it's a clone with a bunch of new features, those new features all come with a cost of change.
Regulation of software is overdue. I can think of a few rules off the bat that would make a huge difference in spurring the development of quality software:
1. New software files such as documents must be stored in a format that can be read without ambiguity by modern machines, adhering to all regulations.
2. Executable specifications for all interpretations of file formats must be provided publicly, since broadly-available cross-platform execution environments (e.g. Python) are now widely available. In other words, you're not allowed to obfuscate what your file format does by publishing a 500 page document to explain how a single spreadsheet row is interpreted; you must instead provide, for example, a short Python script to illustrate the exact behavior, that anyone on any system can inspect and run.
3. Auditors must be able to correlate your software's interpretation of files with your executable specifications. Any discrepancies require the software to be updated, for as far back as issues have been found.
4. Software is prohibited from re-saving any file in an older format that does not adhere to regulated behavior. Users are not permitted to avoid this type of auto-upgrade, any more than they are permitted to continue wiring their houses with last century's electrical codes.
5. Software may not depend on the behavior of machines or methods that are impractical to obtain (e.g. "what Windows 95 used to do here"). If existing formats have such restrictions, they must upgrade according to the step above.
Here's my favorite book on the subject: http://amzn.to/1JMtX0X
And yes, that's an affiliate link: https://news.ycombinator.com/item?id=10982630
You can simplify and call OpenTable shitty, but they met this threshold with their customers. Their customer looked at their product and said, it's new and different, but it is worth it.
If you can't displace an existing solution you haven't got it right.
If the value is significantly greater and it is only about UI familiarity there are many ways around it. One way is to emulate the UI of the product you are displacing. This famously happened in the Word vs. WordPerfect wars.
Maybe the refactoring and/or innovation aversion I've seen in many software projects has to do mostly with this institutional knowledge the article talks about.
It doesn't matter how crappy a project is or how many defects the team agrees a project has... introducing a different solution is seen as prohibitively risky or costly, given the amount of time people has spent learning and putting in place workarounds.
[1]: https://www.ted.com/talks/simon_sinek_how_great_leaders_insp...
So if you want to go the marketing route, you're going to be spending a lot more on ads, pr, etc to get your entire message out there.
Despite what he says, Apple did not follow the path he says. Apple in its early days followed the sales-based approach. It wasnt until they were making money that they turned to a marketing-based approach. This is a very normal route for companies to take.
[Edit: now that you understand this is marketing vs sales.. you can find plenty of articles on this by pg, jessica livingston and others.]
I think about the only new languages that have a chance are domain specific languages in a brand new domain.
Positioning something in your mind is so difficult in this day and age with so much information overload.
My coworkers are given the ability to crawl (simple equations in spreadsheets) then walk (user-defined functions) then run (automatic iterative solutions in UDF's, applying test data to create UDF models of machine performance). Not something a lot of mechanical folks would ever find themselves doing unless an already well-used tool has a good progression toward more complex and demanding use cases.
Some of the worst ones:
* Microsoft Excel will not open two documents with the same name and instead will display an error
* Excel includes January 0, 1900 and February 29, 1900, incorrectly treating 1900 as a leap year. The bug originated from Lotus 1-2-3, and was purposely implemented in Excel for the purpose of bug compatibility.
* Can't handle dates before 1900
* Despite the use of 15-figure precision, Excel can display many more figures (up to thirty) upon user request. But the displayed figures are not those actually used in its computations, and so, for example, the difference of two numbers may differ from the difference of their displayed values.
In addition, it is completely useless for handling any type of delimited file. By default it supports csv. If you want to edit a pipe-delimited file, you have to dig into the language settings of Windows, change the default delimiter, and open the file. Then, you cannot edit comma-separated files without changing it back first. So, there's no way to convert one to the other. Same problem with tab delimiters. EDIT: one person has mentioned the import data feature, but that doesn't solve the problem. You cannot edit and save anything other than commas without changing the Windows language settings.
It also trims off leading zeros from fields in csv files. If you open a csv file with leading zeros in some rows (say, from ZIP codes or SSNs), they won't be displayed in Excel. Then, when you save it, even without editing it, all the leading zeros will be gone.
It changes date formats. Save a csv file with a date in it in the format YYYY-MM-DD. Open in Excel: it's displayed in MM/DD/YYYY. Hit Ctrl-S. Re-open the file in a text editor and you'll see that the file has changed.
It also doesn't preserve quotes correctly in csvs.
Besides all this, there are many other stupid terrible things about it, like changing behavior based on scroll lock (can you think of one other program that does this?), making it impossible to look at many tall rows using the mouse scroll wheel, etc.
Excel is easily one of Microsoft's most egregious offenses in the world of software.
It has terrible default orphan/widow control, and editing anything graphical is a royal pain in the ass: the slightest wrong touch can throw your diagram into disarray. Those that "know" how to use it I've noticed seem to have near-infinite patience and knowledge of where all of Word's "land mines" are and how to avoid them.
People use it because it bundles in every obscure feature under the sun, so it's effectively the lowest common denominator when it comes to meeting an organizations' needs. And for those who already know how to use it, I suspect the sunk cost fallacy keeps them there.
I still have and use it irregularly for a few things, but if you just need to edit text with formatting, use TextEdit. Using Word to type up a memo is like using a jet engine to cook a TV dinner.
My experience is that 'users in business settings' absolutely refuse to consider any alternatives, mainly because of two 'fear factors': 1.) "Everyone else in my industry uses Microsoft Office products so I must as well" 2.) (Usually unstated explicitly) "Learning an alternative is going to cost me time and money and personal effort"
Sure, Excel can be a useful spreadsheet tool, but Word is a clumsy and difficult publishing tool. Many alternatives from LaTeX to LibreOffice to InDesign tend to be more portable and reliable but require the user to assume a degree of risk for learning something new and different. That seems to be enough to keep the majority of users away.
If your arguments are: 1) Most users can pick it up easily due to familiarity. 2) Excel is a general tool usable by many disparate groups in the organization. 3) Excel is the lingua franca of manipulating data within the organization.
Then it seems to me that these would fall under the category of 'institutional knowledge', and you are in effect arguing that it is thriving because of institutional knowledge.
In many cases it's better to get somewhere quickly with excel then work out if "proper software engineering" is required than never get off the ground because engineering something is too difficult.
Think of excel like lego. Someone can quickly build something out of lego. Now if someone tried to build a cathedral from lego, you might suggest that they find an architect and do some proper house building, but without lego they would never have tried.
And chances are they're not building a cathedral.
Many great projects start out as excel spreadsheets: someone has a problem, solves it with excel, then goes on to solve other problems with that spreadsheet. People use it and become dependent on it, but over time the thing becomes intractable.
At that point in time, the functionality of the spreadsheet gets implemented by actual developers into some "engineered application."
If you are suggesting to NOT start with excel, then propose another solution-- but good luck getting anyone to use it. The key thing is, no one wants to engage "software engineers $$$" to solve a problem that lands on their desk which they handle by themselves.
The degree to which it is "proper" of course, is situational.
It IS good, for sure, but let's not forget about everything done by Microsoft to ensure that nobody else could edit reliably their files while locking the world with .doc, .ppt, .xls. The competitors never stood a chance.
How does it compare with the cost of, say, one Starbucks a day?
If you employ somebody on that salary for 6 years (so add extra employment costs including taxes, insurance, office space and perks), what percentage do you save by not paying Office's shitty price?
https://chrome.google.com/webstore/detail/hacker-news-enhanc...
You can use browser extensions like hckrnews or 'Hacker news enhancement suite' to collapse comments.
http://hckrnews.com/about.html#extensions http://hckrnews.com/about.html#extensions
s/OpenTable/Microsoft Word/g;
s/Microsoft Word/Microsoft Windows/g;