This week, I quit Twitter.

I had an 11-year old, verified account with over 30,000 followers, I’ve been to the Twitter offices twice, once when they were a 30-people company for a meeting with Ev Williams.

Last week was the last straw. Their hostile stance towards their early users is breathtaking in just how openly they try to fuck us over.

Instead of properly fighting their harrassment problem, they’re openly siding with Nazis, conspiracy theorists and anyone else really who brings them “engagement”.

Instead of widening the options for access, despite their dwindling user numbers, they axe access for third…


As I’m sitting down here on a NeXT computer (in honor of the machine the web was born on!) to write this—I admit, yes, computers are faster now. But the basics haven’t changed.

My NeXTstation color, yes that’s this article being edited

There’s still a bunch of companies trying to make things incompatible and pushing proprietary stuff on us (hi, AMP!).

You still need to test in every browser, though it’s been easier than it used to be, as there’s fewer bugs and decent debugging tools.

People still try to fix the perceived shortcomings of the client/server model by trying to make the client do everything.

Hello Java! Hello…


These are words you should never write in a support email. Why? Because it’s dishonest and reeks of A/B-optimized corporate technobabble.

It’s a lot like saying “my thoughts and prayers are with you” to people that you don’t know that are victims of crimes that have nothing to do with you.

You feel like you need to say something, so you say the acceptable middle-of-the-road default.

This is wrong, and you’re wrong for doing it. You’re saying these things to make yourself feel better; not to actually express genuine support for those you’re addressing.

Reverse these situations for a moment…


The old saying goes, “Time Tracking ain’t easy”. All you want is accurate and on-time data so you can plan your resources, bill your customers and find those pesky projects that just take longer than they should.

But instead you’re fighting with your software, eventually not using anymore and then blaming yourself for being “undisciplined”. Well, it’s not you, it’s your software.

You can’t just automate it

Sure, there’s apps that track which other apps you have open on your computer, and maybe even phone calls — but there’s a lot of work that’s done that happens away from keyboard. Meetings, conversations at the water…


#5minutechallenge — I gave myself 5 minutes to look for problems with Medium’s text editor, and here’s the first 5 issues I found (I’m on a Mac on Safari, YMMV).

  1. Selecting an image via the keyboard (Shift+Cursor keys) shows two context toolbars on top of each other:
  1. Inserting an image just under an item in an ordered list makes following list items lose their position and start numbering at 1 again. More annoyingly, I can’t find a way to keep the numbering correct, because the ultra-minimalist UI doesn’t have any options to configure this.
  2. Can’t copy or cut + paste…


Supporting multiple screen densities (Retina screen laptops, hi-res phones, etc.) doesn’t have to be complicated. Unfortunately, there’s (still) a lot of bad information out there.

Here’s a quick flowchart for you, based on creating high resolution graphics for real, existing web applications, both on the web and in mobile web wrappers:

If you’d like to learn more about the techniques shown here, grab a copy my ebook.


Many websites and apps have a “help”, “support” or “feedback” tab somewhere on the side of the window. And often the user experience is awful, and geared only towards avoiding getting emails.

It’s such a big missed opportunity for many businesses to get to know their customers, and make them feel amazing that they made the right choice buying from you.

Here’s what you can do to make your “Help & Support” tab awesome.

  1. Make it easy to find. Use a bright color (yay, pink)! Make it clear that it’s something that opens when clicked. You can do this by…


That’s the Melk Benedictine Abbey Library (source)

Over the last few years the “authorities” of the JavaScript world concentrated on adding ever more features to the language and building a sprawling library of modules and packages.

As of right now (9:52 AM ET on March 26, 2016) there are 259,191 packages on NPM. Yes, that’s more than a quarter million packages.

Imagine a library with no books, instead being filled to the gills with fortune cookie fortunes. That are tied with strings to each other.


You run a business, and your business runs on time. Whether your need to bill your customers, or knowing which projects use up precious resources — you rely on accurate and timely time tracking: who did what when, and for how long.

In the minds of your team members time tracking probably is far down the list of what they think is important. That’s not necessarily a bad thing — they are more interested in getting their work done than in administrative processes. …


The Internet is awesome. Information is right at your fingertips. Always-available help from people all over the world is one of humanity’s dreams come true.

I’m not sure if the philosophers of antiquity included copy and pasting of code snippets in this dream, but hey, it’s a fact of daily developer life.

Copy and pasting is awesome, and so very convenient.

But this is not how you learn and become great at thinking for yourself, finding solutions for solving programming problems and most importantly how to be creative.

Over-using sites like Stack Overflow will not make you a better developer

Thomas Fuchs

I make and run web apps: pep.cards and nokotime.com. I made Zepto.js and script.aculo.us and am a Ruby on Rails core alumni. Started web dev in '94.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store