Improvements that don't matter

January 03, 2020

When you’re building a product, it’s easy to over-prioritize certain improvements – from your UI to your tech stack. This post shines a light on some of the tasks that you probably don’t need to worry about.

If you have a reason for violating these improvements, you might justified in doing so. It’s the people who don’t have good reasons for doing these that should think twice about implementing them.1

  1. Beautifully designed emails. Most people don’t want to receive a three-column branded welcome email with custom images and a high-res logo. The content matters more than anything.
  2. What your confirmation popup looks like. confirm() does the job and it’s a single line of JavaScript. (It’s probably more accessible, too.)
  3. If you’re using WordPress or a no-code solution. Most users won’t know the difference. If they do, they won’t care.
  4. Arranging everything above the fold. Anyway, everything that you cram above the fold degrades the value of everything else.
  5. Your custom <select> menus. Just let the browser handle this. Again, it’ll be more accessible.
  6. Your custom I/O switches. Again, they’re more trouble than they’re worth. Custom form elements can be a time suck. Just use a checkbox.
  7. If your app works on outdated browsers. Unless you’re developing for a certain type of market, build for modern browsers. Don’t delay a launch because you might get an Internet Explorer user someday.
  8. If it’s a progressive web app. Focus on solving the core problem at hand, and save this for later… if ever.
  9. If you’re using premium fonts. Just use something readable like a system font. Again, the content matters more than the beautiful design.
  10. Your logo. Logos only matter in specific scenarios – mobile app icons, Chrome extensions, etc. If you’re developing a web app, you can just write the name of your product in the upper left. The only person who cares about your logo is you.
  11. The sticky navigation bar. People don’t need your menu to follow them all the way down the page. They know where it is.
  12. Nearly all of your animations. Users aren’t going to buy your product because they saw a cool animation on the landing page. Sometimes, animations can give context to a certain action, but usually, you’re just trying to make your product look cool to build your ego.
  13. If you have a blog for your product. People will understand if you haven’t gotten around to making one yet.
  14. If you have lots of followers. When I launched MageTools about a month ago, I had ~30 Twitter followers. Now I’m starting to get more. You can build your audience any time – including after you launch.
  15. The cartoon illustrations on your homepage. Cartoon people with comically out-of-proportion limbs don’t help you sell things.
  16. That you have a media kit. Just ask people to email you for it – and create it then. Once it’s done, you can add it to your footer.
  17. That you’re using React, Vue, or [insert popular new framework]. Just choose the option you know best.
  18. Or that you even have a frontend framework. Vanilla JavaScript (and jQuery) are still great choices. Or maybe you don’t even need them!
  19. If your application is perfectly scalable. Focus on making a solid core product instead of obsessing about scalability. You probably won’t need to scale, but if you do, it’s a good problem to have.
  20. If you write beautiful code. Sure, don’t write bad code. But don’t be a perfectionist either. Your time is better spent elsewhere.
  21. If you have a mobile app. A responsive site is fine for now.
  22. Your choice of payment processor. You don’t need to support every payment method.
  23. That you have an about page. You don’t need to worry about having a mission statement, team headshots, etc.
  24. That you’re using separate email addresses. You don’t need press@x.com, billing@x.com, yourname@x.com, and so on. If you’re the one managing all of them, just use one email address. Separate them when it becomes a headache.

Good design is important.2 Good engineering is important.3 And developer happiness is important.4 But don’t confuse nice-to-haves with need-to-haves. If you’re trying to launch something, most of this stuff can come later, if ever.

  1. For the record, I’ve violated most of these. That’s why I’m writing about them now. ↩︎

  2. The Medium editor versus WordPress’s TinyMCE. ↩︎

  3. Choosing the right tool for the right job. ↩︎

  4. Nobody would want to build modern-day AirBnb with vanilla JavaScript. ↩︎