Hacker News new | past | comments | ask | show | jobs | submit login
Why Shitty Products Survive and Thrive (deap.co)
237 points by deapu on Jan 29, 2016 | hide | past | favorite | 177 comments



This is a really, really, important point. How many times have you gotten an app or a tool, used it a few times, and then not ever used it again? If you are an early adopter type you probably have many times. Whether it is todo lists or pizza delivery, if you don't do it enough to ingrain the habit it doesn't stick. And once your head is filled with the cognitive load of day to day stuff you revert to your habits (which are not 'the new thing').

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.


For me, this is Twitter. I'm mostly a reader. Writing tweets was incredibly unsatisfying so far and I never got into any kind of habit with it.

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.


Some years ago I came up with a system which I still use extensively. I added these lines to my .bashrc file:

  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. ;)


> So either the file already exists and I thus add to it or a new file is created instantly.

If you want the same thing but want to do it in an app instead of manually in the terminal you should check out Notational Velocity (http://notational.net).


Looks interesting.

But only MacOS? No Linux?

Encrypted database? I once tried a password keeper. I think it was called xpassword or something like that. After having a corrupted database twice within days, I pass.

I you want privacy your HDD should be encrypted anyway.


nvpy is a functional but admitedly very ugly linux clone. Both can use Simplenote, which works similarly if you're fine with a webapp.

For the windows crowd there is the also ugly-but-functional ResophNotes.


Encryption is optional. Online syncing (w/ Simplenote) is optional.


In the same vein, I have various org-mode files that I can switch buffer to whenever a thought needs to be noted. org-twbs outputs a nice html rendering with a couple of keystrokes.


You can replace cat in show() with tail -n +0 which will also output each file's name as a heading.


I should do this. Thanks for the idea! I've found that a lot of the time, when I'm on any sort of social media (including here on HN), I will open the reply box, type in a reply, read it, then discard 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.


Fellow comment discarder here. You wouldn't guess by some of the long-winded replies I've made across various sites but that's a big part of it I think. I often write comments as if I'm having a conversation in my head so there's not a clear structure like you'd find in an essay or "proper" written piece. Then I start thinking of all the ways someone could miss the point and end up rambling.

See? Almost doing it now.


Yeah. I find that I usually don't submit my comments (despite writing them out and over-editing them, typically in a JOURNAL.TXT style file, as well) because I start thinking about how they'll be perceived or interpreted, how they'll be judged. Which is also essentially why I've been 'shy' my entire life around strangers. That and I genuinely feel like 90% of the time I'm not adding much substance to the topics (which is exacerbated on HN).


As Clive James once said, "No amount of careful writing can overcome careless reading" ;-)



I'm glad you posted :) I also use it as a devlog. If I want to remember some commands for example. Sometimes, I even plan entire days in my JOURNAL.TXT. For longer thoughts, I use a journaling app.

But the nice thing about a textfile is: You can search in it very easily, you can make backups, and there's never any regret for having written something in it.


I can strongly recommend Notation Velocity for these use cases (or rather, nvALT[1]). It's perfect for creating massive amounts of short snippets, stores them as plain text files, has a pretty novel full-text search and navigation interface (using basic vim bindings even!), and a whole bunch of other features that doesn't clutter things up (markdown, for one, as well as basic wiki-like linking between notes).

My current NV 'library' contains more than 1600 files, ranging from command snippets to journal entries to on-the-go wifi passwords to project meeting notes and lists and whatnot. On top of that I have two separate libraries that contain more sensitive data.

Oh, and using Dropbox or the like, you can sync the notes between computers, and with SimpleNote (as well as some other apps) you can access all of it on your mobile device.

[1]: http://brettterpstra.com/projects/nvalt/


I'm more of the "edit it 30 times in the next 15 minutes" persuasion. Not because I post quickly, but because there's always something else I think I need to tweak.


Start a blog! It's so easy those days. Most even have mobile apps so you can write blog posts on the go!


I'm actually about to do this. I have a bunch of first posts so far. But with a blog, the expectation is very similar: If I put in the effort to write (elaborate) blog posts, I expect some kind of return (views, maybe even comments).

I don't want to put private thoughts in my blog. And not all thoughts are thought through.

I want to use this blog as a recycling container for comments and ideas I post in communities. But it's far less personal than my journal.


I dunno, I have a blog, but I have no stats and no comment box, and I'm pretty sure my most frequent reader is myself.

But it really does help to write down all the things, even if the only audience is future-you.


future-you, I like this. I recently stumbled upon futureme.org It's a service you can use to send yourself an email in, say, 5 years. Around christmas, I wrote myself an email* to read in 10 years. There's something quite intriguing about making a bunch of predictions.

[*]: That email actually only contains a sentence: "Hey, here's something you need to read today. Search your journal for $RANDOM_UNIQUE_STRING and you'll find an entry written 10 years ago for you by your former self."

Do you put in any effort to make it readable for others? I imagine this is a significant part of blogging.


My personal blog gets very little traffic but I love going back and reading my old posts from 10 years ago. To me it is a very similar behavior to looking back at old photos I have taken.

Posts don't have to be well-written to mean something in the future in the same way that mediocre photos can carry quite a bit of feeling and emotion when you look at them after some years.


Some systems allow you to have user groups and to limit your posts to those groups.

Make a group "private thoughts" and only put yourself and your mom/wife/cats in it.


Twitter is an interesting product. Many "users" of Twitter consume tweets second-hand via the news, rather than their website or app.

Hope your JOURNAL.TXT serves you well. I actually have a private sub-reddit that I use for similar purposes :)


> 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.

That's funny. I chose Twitter for that purpose specifically because I had no followers.


There's also the carrot vs. stick approach for the games industry.

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


Feels like for institutional tools (where end users are mandated to just use that one system) it's not even the retention that is the problem.

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.


I think perhaps the writer is using some cognitive dissonance to unfairly dismiss the market leaders as being "shitty". Any time I have used OpenTable (as a user) it has been a really great experience. It does exactly what you expect it to do, and it's always a very smooth experience.

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".


My experiences with it are that it is extremely shitty. I often go to it to see if there are any tables at my desired time, and if there are, I manually call the place and book the reservation directly. Whenever I go to it, it tries to push a bunch of unrelated crap to me. No, I don't want to get daily emails about this restaurant I'm eating at once while on vacation. (Does anyone want that?) The UI is horrible and confusing. I avoid it if possible, and only grudgingly use it when I don't have another choice (near wifi, but no cell signal, for example).


>No, I don't want to get daily emails about this restaurant I'm eating at once while on vacation

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 the writer is referring to the restaurant facing side of the software and not the user app/website. Those are much nicer.


Yes this has nothing to do with the customer. This has to do with the waiters, hostesses etc who know how to use the system and to get them to us another system would take time to learn.


So what issues are there on the restaurant side?


Its not issues its just what people are used to?


But the article says it is "shitty" and that "most hate it". I think it might be due to:

[1] There are issues in all software (bugs, lacking your pet feature, etc), and people like to complain.

[2] The article's author has developed a product in the same space (although it seems to be more of a restaurant website template, rather than a reservation system), so there might be some jealousy there.


Imagine facebook is a spherical magnet with ten thousand small lead balls clung to it. If you're trying to create a better magnet it can't just be the same as facebook's. Putting the same magnet near facebook's will only collect a small handful of peripheral users. If you want to capture the critical mass you have to energize a magnet with an attractive force so great that it will begin to vibrate users close to the facebook core and attract them through the empty space between to you.


I found a better analogy to be a fire.

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 am generally not a fan of analogies but I think yours is a good one.


Pretty good analogy but magnetic fields don't discriminate whereas one enduring reason for Facebook's success is that a large portion of that critical mass is particularly adverse to change.

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.


... why lead though? I don't think lead generally sticks to magnets?

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?


My guess is he just wasn't thinking about that, so he made an error.


> Imagine facebook is a spherical magnet with ten thousand small lead balls clung to it.

It'd be pretty impressive to get lead to exhibit magnetism…


I've just learned this lesson the hard way. I had my own terminology for it, so it's helpful and educational to learn words and phrases that others will understand and use.

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?


Without knowing anything about your product or market it's really hard to say, but my gut reaction is to be skeptical that the incremental improvement strategy would work out better.

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.


It reminds me of the GoT dialogue " Chaos is a ladder, my friend" : What I mean is the products that are 'shitty' and are thriving is because probably each one of them were created to solve a problem where absolutely nothing like that product existed before and the original product founders were sharp enough to notice a market and business opportunity. This shitty product was so good when it came out, it changed the way ppl did business and led to its mass adoption with little marketing. The other better products that came later on, however usable they are, are probably providing marginal ( as per the product users) value over the previous product hence lower adoption rate and requires huge marketing $. That is why if you notice a new market/business opportunity it is most lucrative path.


This is a great article. So true at all the levels.

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).


MS Office, which to this day has features its competitors don't, isn't really a great example.


Indeed MS Office can be a pain the neck, but I haven't found a better product in the same market category (i.e. desktop WYSIWYG office suites)


That's not because MS Office is great. It's because it's really capital-intensive to build an office suite, and no VC is going to fund you to compete with MS.


There are competitors today and there were others in the past.


"Broken gets fixed; crappy lasts forever" http://dandreamsofcoding.com/2013/05/06/broke-gets-fixed-cra...


Designers often describe the terms convention and intuition as contributing to good user experience. Convention is the "institutional knowledge" described in the article. Intuition is how easy something is to use without prior experience or convention. For instance, a car steering wheel is not intuitive but is rather conventional. If you make a car without a steering wheel, it may be better, but it won't be as popular.

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.


Ctrl F quickly revealed that you're the first poster to mention "convention" ("institutional knowledge" decoded) and emphasize its importance...

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...


Perhaps a litte off topic but does anyone here hate open table, if so can you share why? I've always found making a reservation a very plesant experience. To see all the availble times and make a reservation only takes a couple clicks.


From the article:

"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.


The article is from the point of view of the restaurant, claiming the backend tooling sucks, which wouldn't surprise me. Optimizing the front end consumer experience while neglecting the back office is not uncommon.


Ok, this makes sense now. I read "restaurant customers" as the customers of the restaurant (i.e. people wanting to reserve a table) not the restaurants themselves. Makes sense now. Thanks.


This article seems a little tech-centric. Products don't tend to flourish based purely on technical merit, and there could be many reasons why that product has thrived other than network effects, e.g. aggressive pricing strategies, good sales team, good marketing, brand awareness from customers, switching costs for the restaurant, the health of the food service industry, or perhaps it doesn't bring in enough customers for it to be a priority for restaurateurs, etc etc.

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


Can you not just clone the shitty product so existing training is still useful? Do software companies enforce copyrights on things like the location of buttons and the names of menu items?


Patents are probably the most powerful tool for entrenched players here. Adobe patented several GUI conventions including their most common shortcut key commands in Photoshop, so that competitors would always have a slight learning curve for new users.

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.


A clone of a crappy product is at best a crappy clone.

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).


Why change to the clone?

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.


Sometimes that institutional knowledge is knowing how to work around bugs or deal with a crappy UI efficiently. Sometimes that is where a worker's own perception of where their greatest value lies so they'll gladly resist or sabotage anything that may be better (on top of a general resistance to change).


This article makes a good point. Any switch to a new product has to exceed the cost / benefit ratio of the old one, and familiarity of staff in high turnover industries certainly factors in to that CBR. So, you don't need to make a product that's just "better" to compete in these industries, it needs to be _spectacularly_ better in order to convince business owners to invest the time in educating existing and new hires. An important point.


Bad software survives because major investments by large organizations were made in tools that had closed (and even platform-specific) file formats. At the time, maybe no one fully understood the gravity of the investment they were making. Since the data is hard to interpret consistently, competition is practically impossible.

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.


I love the thrust of your argument, but I think we all know how pragmatically, this will never happen any time soon. Could you imagine a "Bureau of Software Fidelity" or somesuch? We can't even get the post office to deliver mail regularly in some parts of the country, and that's been their primary function for over 100 years.


Because 'economics'. Switching costs, network effects, etc...

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

https://en.wikipedia.org/wiki/Switching_barriers

https://en.wikipedia.org/wiki/Network_effect


Also craigslist.org.

That site looks like 1995 called and wants its web page back. It's a triumph of non-engineering.

But that network effect. Man oh man.


What features would make craigslist better? I like it not in spite of its bareness but because of it.


I would add some minimal responsive css so its easier to click on the form elements on a mobile phone


Every new product needs to overcome the formula "product value >> adoption cost".

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.


This resonates with me with regard to software projects.

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.


Can anyone with startup experience talk about the effectiveness of the method that Simon Sinek promotes [1] as a way to break through a market filled with "shitty" products?

[1]: https://www.ted.com/talks/simon_sinek_how_great_leaders_insp...


What Simon says is actually marketing 101.. they teach this in undergrad intro marketing (without all the bs about 'greatness', etc). The problem with it when it comes to startups/small businesses, is that it's expensive. If you want to go that route, you need to get out the entire message - A + B + C. Whereas, the sales-based approach he's criticizing, you only need to get out C and part of B.

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.]


Are you sure about it being marketing 101 and not 901? I can clearly see 100% of ads I've seen over the past month from established or younger companies doing exactly what Simon is criticizing.


While yes, I do use OpenTable for places at which I am already an existing customer, it's not that simple. I'm usually not willing to visit a restaurant that I might not get into. OT is the most painless way to make the reservation, and I far prefer this over calling. Without a restaurant being accessible on OT, I would not be going there nearly as often.


This goes equally well for all these new languages popping up. Even if it is better at everything it does that is not enough. Legacy code and developer community consists of huge amounts of institutional knowledge. Its asking a lot of anyone to make the change.

I think about the only new languages that have a chance are domain specific languages in a brand new domain.


the book Hooked does a good job talking about what makes a product habit forming. I almost think its all hindsight in the examples they use.

Positioning something in your mind is so difficult in this day and age with so much information overload.


Also explains why shitty code thrives.


MS Office (specifically Excel) is not a shitty product. There's a reason why it has a larger monopoly with finance types Wall Street than Google does with search. Power users can quickly build powerful financial models with it.


Excel is not perfect but it is best in class. I've built and maintained a time-series statistics research database for one of the largest trade associations in the world for over 10 years which heavily integrates with Excel. In so doing I've become intimately familiar with its quarks and shortcomings but ultimately it always provides a path to accomplish your goals, including high-performance automation https://msdn.microsoft.com/EN-US/library/office/bb687829.asp...


As a mechanical engineer, excel has been a wonderful tool. Engineers in our department get to have a smooth transition into programming competency in VBA, which has found itself extremely useful in many mechanical engineering analyses.

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.


you seem to be talking about php...


Php is the first thing that came to my mind when I saw the title.


iOS and OS X were the first things that came to my mind.


In a past life, I made (very expensive) spreadsheets for a living. And though I don't like most Microsoft products, I'm pretty sure that Excel was built by God himself (or at least He was the lead dev or the PM).


What makes you say that?


It was very well made. It's easy to use and yet but also has great features and shortcuts for power users. There's lots of genius little features not available elsewhere, like grouping columns or formulas over columns or rows (e.g. sum(A:A)). I often abused it with 50mb spreadsheets (a bad practice fyi) and it could often take it. The version I used rarely crashed.

For most software I use, I see lots of things that need improvement. With Excel, I can only think of a few. (If anyone from Microsoft is reading this, please add matchifs, it's desperately needed).


Let's start a list:

Opening a csv triggers a full recalc even if your calcs are on manual. That's absurd given that csv files by definition have no formulas

Come on Microsoft. 18 years without updating the scripting abilities. Can't we have a .net version of VBA?? And NO JAVASCRIPT.

The fx button still opens a tiny old non resizable windows with a broken search feature, which is impractical if you have hundreds of UDF.

High levels of nesting in the UI making it really slow to repeat certain actions (try drawing something). I still miss Excel 2003's customizable UI.

They could provide at least a function to pull end of day FX rates.

Integration with powerpoint pretty much non existant. A huge amount of users prepare decks based on a model in Excel. The process to link them is unstable / stone age.

We should be able to transform a sheet into an excel formula, so that a non programmer can apply a complex logic to lots of data without a script.

Xlsm files get corrupted regularly when excel is running low on memory.

Adopt apple's idea of a sheet being a canvas on which you can drag tables or charts instead of having this antique model of a single grid which becomes annoying as soon as you have two tables on the same tab.

I am sure I can pull more if popular demand!


They've had an HTML / JS Add-in model for a few years now: http://dev.office.com/getting-started/addins?product=excel

It's not the exact same as VBA macro extensibility, but you can do some pretty interesting stuff with it - build task panes, build embedded charts that leverage web content, etc.


Swapping VBA for javascript is not exactly an upgrade. But you can't do any in-session scripting or UDF so that's of very limited use.

And for automation I would rather use .net + ExcelDNA than javascript.

I can understand why they went the javascript route but that's clearly hearing developers, not users.


> That's absurd given that csv files by definition have no formulas

I have some scripts that generate CSV files with formulas and for the record they work fine in both Excel and LibreOffice Calc.


I wouldn't recommend most of these ideas to Microsoft.

For example, I've done work where I've needed a recalc based on an updated csv so your suggestion would have broken Excel for some of my use cases. There's plenty of changes to recalc rules I would have liked, but I'm not sure any of them were unambiguously good ideas.

Also, scripting in spreadsheets is bad practice (besides maybe formatting or simple data fetching and even those are questionable). It's not what spreadsheets are for.


If calculations are on automatic, a recalc is fair enough. If calculations on manual, Excel should not initiate an unsolicited full recalc.

Scripting is extremely useful in Excel. In fact the productivity gain of this single feature is just off the chart. You have to think about business users, who barely know how to code. They can automate in a couple of hours some of their tasks, that would otherwise require to discuss with the IT team prioritisation, specs, testings, etc, and get something at best after 6 months.

I appreciate that IT depts hate seeing users coding stuff themselves but there is much to be said about the productivity of IT in large corporations.

And from a user point of view, I don't see why it would be bad practice. The only problem with scripting is viruses. But otherwise every application should be scriptable. There is always something that you would save time with a loop instead of having to do dozens of clicks.


he never used openoffice or libreoffice...


I think the PM was Joel Spolsky.


Actually I think he was the PM for VBA for Excel, not Excel itself.


So in essence the Devil.


My Jesus. Well, an old Jesus. VBA is in need for a refresh. They haven't even changed the color of a single icon.


Are you serious? Excel is complete and utter trash. Check out some "quirks" from the Wikipedia page: https://en.wikipedia.org/wiki/Microsoft_Excel#Quirks.

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.


>In addition, it is completely useless for handling any type of delimited file. By default it supports csv. If you want to view 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.

Totally wrong, Excel has the ability to import using Data -> From Text that opens a wizard that will step you through opening any type of delimited file, formatting columns, header rows, etc.


That doesn't help you edit the file, though. It only helps you convert it to an Excel file. You still can't save as anything other than comma-separated without changing the language settings.


First, you're wrong again, you can also save as tab delimited text or just text. Also, Access has some more Excel export options. http://superuser.com/a/107124

Secondly, Excel is not designed for round trip editing in plain text formats. You shouldn't use Word as a text editor either :-)

There are specialized editors if you want to directly edit a csv file etc. I use them sometimes. That's not what Excel is for.


The purpose of software isn't to be correct or even predictable. It's to satisfy the needs of the user. The user in this case, isn't you. It's corporate clients who make decisions for tens of thousands of employees. They have various needs, however esoteric and strange. I promise you that all of the behavior you cited was implemented at the request of a client.

Ideally Microsoft should craft custom versions for specific clients, but that is its own nightmare. They tried that with Windows and it didn't go too well.


When I am doing multi million dollar financial models, I like correct and predictable.


I use Excel nearly every day at work. How am I not the user? My company has needs too, one of which is correctly editing spreadsheets and delimited files. Excel is insufficient for this.


OP probably should have said _purchaser_.


For the 14 years during which I used excel daily, the first 4 items you listed didn't affect me and the last two never mattered. I used text-to-columns to very nicely parse pipe-delimited files. The leading zeros issue I bumped into several times and was a minor irritation to fix.


>I used text-to-columns to very nicely parse pipe-delimited files.

Sure, but you still can't edit it and save it without losing data. I use Excel nearly every day as well, and I get more and more frustrated the more I use it. My coworkers hate it as well. Just because you haven't personally experienced any problems doesn't mean they don't exist.


Word certainly is, at least on OS X. Within an hour of my first time using it in a decade last week, I caused it to beachball for five minutes straight by clicking a single button (select all text of a given style). It then took me over an hour to figure out why my TOC entries had no spacing between their numbers and titles (hint: it wasn't the spacing setting), and another hour to figure out why, after I "fixed" the spacing issue, why my chapter numbering was all messed up (the "solution" was to reformat each chapter heading with the same format it already had).

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 wouldn't call Word's features obscure. They may not be relevant to you, but it is an extremely powerful publishing tool.


Publishing? Are you sure? I know people who do book layouts, and they're all using InDesign, which is a completely different tool.


For real publishing, I think TeX is still the state-of-the-art. It still produces the best-looking documents put on paper (granted, one needs to give it a decent font to do so…).

Pity that it's so difficult to do, say, bilingual books with one language on one side and the other on the other, with page elements lined up neatly. For that, Word is probably the easiest — but it looks terrible.


"Obscure" does not mean "useless". I wager that most of Word's features are not used by the majority of its users, and are difficult to find in menus if you don't know what you're looking for. They are then, by definition, obscure.


In defense of Word: The vast majority of people don't realize just how massive Word is in terms of it's feature set and it's complexity, Word is a fully furnished publishing program and most people treat it like a rich text editor.

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.


It may be incredibly powerful (for what use case?) and everything. But it's an incredibly bad rich text editor.

Word can't keep a list straight.


That's akin to saying "this screwdriver sucks as a hammer." You're using it wrong.


When you go to the hardware store and ask for something to pound nails, they give it to you. When you ask people what they use to pound nails, they say they use this. When you're hired to pound nails, they often insist that you pound nails with this. 99.9% of the people who use this on a regular basis use it exclusively to pound nails.

Given that context, it makes little sense to say, that's unfair, it's really a screwdriver.


If 99% of the contractors on the planet were using screwdrivers as hammers, the 1% are the ones using the proper tool for their job.

Consensus =/= Fact in every scenario.


My point is that not only do roughly all the users use it that way, but the make agrees with that usage.

At some point you just have to say, this hammer, while apparently designed as a screwdriver, is clearly labeled, sold, purchased, and used as a hammer and is not very good at it.


So would you say that your description and expectation of how people use Word matches Microsoft's marketing materials for it?


Who cares? I thought we were talking about the quality of the tool and not the marketing.


Nope, read all the comments above to understand why you're drawing a false distinction and missing the point here.


To stay with wacky imagery, using Word to do high-quality publishing work is like carving wood with a spoon. It's kinda possible, but takes unnecessarily long, you'll break your tool a few times and the end result doesn't look all that great.

(It's actually used in many publishing workflows, but for the early stages, where all you want is a rich text editor with the ability to do diffs. Typography and layout is done later with different tools)


I've seen numerous examples to the contrary, I'm willing to grant it isn't the best publishing tool out there (far from it) but if you get someone who's properly trained, you can get some very good looking documents out of it.

Also very useful for smaller mass mailers and the like, where you don't have the budget for a full feature publishing suite (or the need).


You are right, I was thinking more in a direction of books, magazines and other more complex works. "high-quality" should probably read "high-complexity" or something


I completely agree. Word is like the Emacs of natural language documents.


> Word is a fully furnished publishing program and most people treat it like a rich text editor.

"Oh, I need to change the format of headings? Well, I guess I'll have to go through all 1536 instances!"

-- someone with very good Office skills


Very good? Hm. That doesn't sound anything like the very good answer of "Styles & Formatting > Heading 2 > Modify > Update All.


Microsoft Office (by the way 2016 is a pretty solid software suite) is not thriving because of institutional knowledge. Office is great because users in most business settings can quickly pick up any of its applications (learn how to use it) and apply the same learnings to the rest of the suite, personal knowledge with a small learning curve. Also, tools like Excel are malleable and useable for most users in a company. If I create a unique data set in R, but would like to share it to everyone and have them play - its not going to spread very far. If I do the same in Excel, everyone can take a look and manipulate the data. I like to think of Office is a practical solution for most business with a wide range of users who are "generalists."


> Office is great because users in most business settings can quickly pick up any of its applications

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.


Absolutely; no one uses Office because they can "quickly pick up any of its applications". People use Office because they already "picked up" its applications. LibreOffice? Lemmee see here, I'm a bookkeeper/lab research assistant/factory supervisor that just wants to get my shit done and go home. There's this FOSS thing that mostly works but sometimes doesn't, or this Microsoft thing that I already know how to use and "works" perfectly (because it for sure can read its own format), and I don't give two poops about "Freedom!". I'm going to send a requisition to the boss for another Excel license.

For a lot of people, they don't want to learn alternatives ('cuz that's on my time, since they boss ain't training me), and the cost of the license isn't coming out of their pocket. Of course they use Office. That's not an unreasonable choice.


LibreOffice is also nowhere near as good as Office.


I do see more and more people using Google Docs instead of MS office. The online instant sharing is extremely compelling, and while the features of Docs and Sheets are pale compared to Word and Excel, they are good enough for what most people need.


Word is the perfect example of a lazy, mediocre product dominating a space through sheer inertia.

The current Mac version can't even keep track of recently opened files. Working with styles is torture. (You can't search them, you can't group them, you can't sort them, the ribbon selection seems to be random.)

The ribbon itself is an unusually eccentric example of software design.

A competitor could easily produce a leaner, better product. But it would never sell, because Word has so many corporate users that anyone who exchanges files with them has to use it too.

Locked-in products do sometimes fail, but they usually only fail to competing products from large companies. The textbook example is the move from QuarkXpress to InDesign, which only became possible because Quark were so famously greedy and lazy about Xpress they literally pissed off the entire print design industry.

Adobe not only had a better product, they also had the sales team and industry relationships to push it. Without those, it's likely Xpress would still be Number 1.


> A competitor could easily produce a leaner, better product.

There are several competitors in this space. Pages, LibreOffice, and Google docs come to mind. The only one I've ever heard described as better is Google docs. I'm not sure reality supports your statement.


LibreOffice doesn't support stuff Office does; Latex and InDesign are intended for different purposes.


>Latex and InDesign are intended for different purposes

Page layout is what LaTeX and InDesign are intended to do, and that's what Microsoft Word does too. Do you think Word users are only using it for a text editor?


Your argument is that Microsoft Office is not thriving because of institutional knowledge, then you proceed to prove that it is institutional knowledge that makes it a valuable tool.

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.


I stand corrected.


Doing complex modelling in Excel is not a good idea. There is no way to do proper software engineering, so bugs are common and hard to find. For examples, see

http://www.eusprig.org/horror-stories.htm


Except "proper software engineering" would mean whatever is being built simply never gets built.

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.


Just like I wouldn't want to live in a house built from LEGO, I'm somewhat wary of Excel models as the basis for investment strategies in major banks. The problem with the quick and hacky solution is that it's never replaced, because that would cost money, and the current solution "looks like it works".


However the excel solution has a lot of things going for it :

1) applications/reports built by the people designing and understanding the underlying needs and inner workings of whatever they're offering. Whilst very good programmers can match this (given enough - that's a lot - time), average programmers won't even try.

2) excel sheets require nowhere near the manpower required for your alternative. That factors into a cost-benefit analysis that may not favor real development.

3) Speed of development. Markets change. Investments change. Sometimes literally in minutes. Anything involving more than 1-2 people who are intimately involved in the strategy itself cannot possibly keep up.

4) Excel is in fact a pure functional programming language [1]. Unless you deeply understand excel I wouldn't be so quick to call it stupid. There are entire classes of bugs that simply can't exist in excel spreadsheets that are regularly found in programs.

[1] http://ndc-london.com/talk/pure-functional-programming-in-ex...

These sheets are pretty good. You can really get nice app ideas from some of them: http://www.exinfm.com/free_spreadsheets.html


1) is priceless. In banks I've seen many traders build pricing and risk solutions in Excel that would take weeks or months for developers who don't understand the products and/or maths to build. In some games, time to market is everything.


"excel sheets require nowhere near the manpower required for your alternative. That factors into a cost-benefit analysis that may not favor real development."

Not to build, but to maintain and constantly clean up the errors by using the wrong tool for the job. I know form experience having wasted countless hours because my organisation insisted on using it as a tool to upload data to our database, and using it as the database before that.


The errors they invariably introduce are also very expensive. Not just fixing them, but actions on incorrect data can be very very expensive. I've seen it, and in my experience its almost universal.

I'm not saying Excel is always the wrong solution, I am saying Excel is not always the right solution but it can appear to be. That makes it very dangerous.


In the past I've made a lot of money converting organization's mammoth mess of spreadsheets into a proper solution. I've done this for more than one organization.

The problem is Excel is easy to abuse, thats the way people know how to to solve problems so it doesn't occur to them they may need proper software to do what they need to do, not that they don't have the funds. All the companies I've worked for have had the funds.

Most organizations don't audit their spreadsheets nor keep backups or have a method of keeping track of them - the spreadsheet you get emailed may not be the current version. Its par for the course for spreadsheets to be done in a completely ad hoc manner with no controls whatsoever.

From my experience fixing spreadsheet messes, they usually waste person-hours like crazy and end up costing more than paying an engineer for custom software or getting an off the self solution. This has been my experience.

Spreadsheet abuse was a factor in JPMorgan losing 2 billion dollars in 2012, for example.


There's actually an interesting gap between 'building some model in Excel' and 'moving on into a programming model where code and data are separated'. Like generating model code in some normal programming language from a spreadsheet.


Does VBA fill that gap? I once worked on a system where one of the more important parts of the business was a system of VBA modules in an access file.

One of my more important contributions as a fresh graduate entering the workplace was to get people to copy the file from the network share to a local drive before running. Run-times went from "leave overnight" to ~15 minutes.


Right, but why VBA? Because VBA is the only language with first class support in Excel, not because VBA is good at all. If not fon its "privilege", you'd use something like Python or JavaScript (yah it sucks, but not as bad a VB) or a purpose-built sane language, not something Joel Spolsky dashed off a spec for one Tuesday afternoon.


So?

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.


And once some devs turn it into an "engineered application" the change cycle jumps from minutes or hours to days, weeks or even months.


Shh! Your logic and practical experience is not welcomed. We like to scream with self-righteousness from our software engineering high horses here. Software engineers know best and everybody else is wrong because he doesn't know any better, since he has a limited perspective.


or years.

I often have the fantasy to write "Powered by COBOL" below the logo of my company.



A complex model in Excel is software engineering.

The degree to which it is "proper" of course, is situational.


I've known a handful of people that have become full-time programmers after achieving proficiency in Excel. It's a product that many people enjoy using and mastering.


Yeah, the MS Office comment ruined an otherwise good article.


Its a shitty database, and a shitty data entry solution, which is what it was used for in my last workplace. But people know how to use it and will use it for all sorts of things that its not particularly good for.


> There's a reason why it has a larger monopoly ...

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.


The shittiest aspect of Office is the price.


God forbid someone exchange money for software instead of offering it for free and making money through ulterior motives.


Let's say someone who earns $50,000 a year uses Office for 5 hours a day while making a living. It's also a purchased copy so it lasts at least 6 years. What's that worth?

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?


Vim, for example, makes me 10$/yr at least, but doesn't cost anywhere near that. It's better prices than Office.


Sure, but it's not a replacement for Word, Excel, PowerPoint, Outlook or any of the other Office programs.

The real question is, if vim cost $100, would you pay or would you use a product you didn't like as much, that wasn't as efficient, or as productive? How much would you pay for a Supervim that earned you an extra $5k/yr?


Too bad Excel isn't really a standalone product. Office and windows are necessary dependencies. Given that, it is a shitty product. If they broke it out, allowed me to run it on an OS I actually want to use, away from MS's gremlins, then I certainly would buy/install/use. But as of today it comes with far too much baggage.


It has been available on Mac OS since 1989 and there is a browser-based version that is freely usable with a Microsoft account. I think you should check your facts.


Yes. Neither is the Linux-compatable version I need/want. I use spreadsheets for sensitive information. Something reliant on browsers, with all their headaches, doesn't fit my security model nor that of my clients.


That's not what you were complaining about earlier. Shifting the goalposts is always fun.


While we are all going off-topic, I'd like to see a "collapse thread" feature on HN. Quite often the comments page is dominated by a tangential discussion as seen here.


Not exactly what you wanted, but this chrome extension does this.

https://chrome.google.com/webstore/detail/hacker-news-enhanc...


I agree, the author picked a really bad example(Office) to make his otherwise good point. Office certainly isn't a shitty product compared to its competition.

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


I love you.


dude, it's called first mover advantage


Seems like this should have triggered the dupe warning?


   s/OpenTable/Microsoft Word/g;
   s/Microsoft Word/Microsoft Windows/g;




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: