Back to blog

The best of Marco Arment

But I’m not about to drop everything to start making apps with this new platform. It’s brand new and technically still in beta, which means it’ll be at least 3 years until I can consider using it for something important. Until a certain age and saturation level, I can’t assume that my audience will have Silverlight installed in their browsers.

The best web designs aren’t huge, pixel-perfect monstrosities based on some insane PSD designed by someone who doesn’t know what implementation will require. They’re simple, flowing, and resilient. They won’t break if the content-length changes and the right column is longer than the left. They won’t break when someone over age 40 views the site and magnifies the text to 150% because they can’t read your trendy 11px Verdana. And they certainly won’t break if IE slips a few pixels into the margin somewhere. Instead of wasting hours upon hours to hammer out every little browser difference in an overly complex design, just design it to accommodate browser differences in the first place.

This is something most people forget. Sure, you won’t be the next Adobe with your one-man shop... but you can earn a great living even if a fraction of a percentage of their userbase decides to give you $30.

It also builds a healthy appreciation for well-executed details. (There’s a reason why detail-appreciative people tend to use Apple products.) When I come across something that’s subtly polished in one of these ways, I can recognize and appreciate the amount of effort that went into it. Hardly anyone else cares, but I get excited by minutia.

I don’t feel comfortable trusting my business’ success to a private third party over whom I have zero control.

[Craigslist] looks like a “mess” by modern web-trend standards, but it works. It’s run by a very small staff of just 30 people, serving 47 million unique visitors and making an estimated $100 million per year. The web-business world has a lot to learn from Craig Newmark and Jim Buckmaster.

I don’t want to be a part of any company that’s so poorly managed, or simply so cheap, that employees are expected to forego a healthy lifestyle. No job is worth that.

It’s ridiculous, incorrect, and insulting to those (like me) who have chosen the traditional business model — charge money, spend less than you make — for this author to suggest that giving away your product for free and paying your expenses with VC money is the “first step” to make your app development “a profitable business”.

For something as important as email, I’ve never trusted everything to a proprietary provider. My email address has never ended in someone else’s domain name, and has never been hosted in any way that would preclude me from easily switching to another provider

I don’t need every customer. I’m primarily in the business of selling a product for money. How much effort do I really want to devote to satisfying people who are unable or extremely unlikely to pay for anything?

If you care about your online presence, you must own it. I do, and that’s why my email address has always been at my own domain, not the domain of any employer or webmail service.

I never make technology-buying decisions based on future promises, rumors, or potential. I let other people be the bleeding-edge extremely early adopters, and I stick with what I know will work and stay out of my way. I don’t buy things that are “getting better”, because they usually don’t. Whatever caused them to be lacking in their current release will usually prevent them from being great in future releases.

Instapaper is one person and no funding. I work completely from home. I don’t even put an unhealthy amount of hours into it, and it’s very low-needs (and therefore, low-stress) to keep the service running. This is a lifestyle that I’m not willing to give up for the promise of taking VC money, hiring a bunch of people, making everything free, and hoping to cash out after a few years of nonstop “crunch mode” by selling it to a big company so they can ruin and “sunset” it a year later.

Taste in product creation overlaps a lot with design: doing it well requires it to be valued, rewarded, and embedded in the company’s culture and upper leadership. If it’s not, great taste can’t guide product decisions, and great designers leave.

The most important design goal for most apps should be that they’re usable. And then, further down the list — maybe second, maybe tenth, depending — should be attractiveness or adherence to a particular aesthetic.

The best thing we can do isn’t necessarily to try to pay for [every internet service we use], which is unrealistic and often not an option. Our best option is to avoid supporting and using proprietary monocultures.

This is why it’s so important to keep as much of your data as possible in the most common, widespread, open-if-possible formats, in local files that you can move, copy, and back up yourself. And if you care about developing a long-lasting online audience or presence, you’re best served by owning your identity as much as possible.

Even at smaller scale, these lessons apply. An independent developer or small company can’t afford to waste time messing with flaky, overly complex, or high-needs server infrastructure ... Using mature, reliable, widespread tools isn’t just about scaling more easily — it’s about being as low-needs as possible so you can spend more of your time and attention on things that matter more to you.

It’s a prime [camera] lens, meaning it does not zoom: it’s fixed to one medium-distance focal length, and you can zoom with your feet.

Treat places like Medium the way you’d treat writing for someone else’s magazine, for free. It serves the same purpose: your writing gets to appear in a semi-upscale setting and you might temporarily get more readers than you would elsewhere, but you’re giving up ownership and a lot of control to get that.

Over the last few years, I’ve learned a lot about competition. The biggest lesson has been that in most cases, products and companies live and die by their own actions, not their competitors’.

Linux distributions [for web servers] are an unfortunate oversupply of paralyzing choices. The easiest path is to learn one major distribution very well and use it everywhere. You want conservative, slow-moving, and very popular: that way, updates almost never break anything and it’s all very stable (conservative), you don’t need to re-learn the basics and tools constantly (slow-moving), and there are tons of Google results and tutorials for every question you’ll have (very popular).

"Boring old" is the key to server-administration happiness. Stick to the boring and the old, and you’ll rarely need to deal with anything. The lower down the stack, the more important that becomes. This is why I still very happily use MySQL (InnoDB-only) instead of a trendier, newer database: it’s very fast when used properly, and I’ve never seen it crash, corrupt data, or perform irregularly. And I’ve run a lot of heavily-used MySQL servers. Not a single crash, ever.

I lucked out in Overcast’s market timing: I only had to hire a damn good designer for the app icon. I was able to design everything else — every screen, every in-app icon, all of the text — because what’s in fashion today is much easier for non-artists like me to do: whitespace, clean lines, and good typography.

iOS 7 shook up the market and, by pure luck, shifted high-end iOS design away from fashions I could never compete in — heavy use of textures and complex graphical widgets — into what I could actually do: simplicity, space, and typography.

The tech business is proud of its workaholism, but it really shouldn’t be. It’s a sign of immaturity and poor management, not drive.

After the self-employment penalties in taxes and benefits, I’m probably coming in under what I could get at a good full-time job in the city, but I don’t have to actually work for someone else on something I don’t care about. I can work in my nice home office, drink my fussy coffee, take a nap after lunch if I want to, and be present for my family as my kid grows up. That’s my definition of success.

I don’t know if the web’s decline in relevance can be turned around, but megabytes of Javascript frameworks and cluttered layouts full of widgets and garbage ads aren’t helping ... The entire culture dominant among web developers today is bizarrely framework-heavy, with seemingly no thought given to minimizing dependencies and page weight.

Podcasts are hot right now. Big Money is coming. Big Money isn’t going to sell nicely designed, hand-crafted, RSS-backed podcast players for $2.99 or ask you to pay what you want to support them, because that doesn’t make Big Money. They’re coming with shitty apps and fantastic business deals to dominate the market, lock down this open medium into proprietary “technology”, and build empires of middlemen to control distribution and take a cut of everyone’s revenue.

I’ve never been more proud to be operating a large podcast app that’s built on standard RSS, open access, and standard playback of podcasters’ original files directly from their servers, with no garbage ads being inserted, no behavioral tracking for advertisers, no proprietary lock-in, and absolutely no requirements that podcasters register with me, do anything differently, lose any control, agree to any terms, or even be aware of my app at all to be played, shared, and promoted in it.

You wouldn’t believe how many customers have asked me to add features that were already there, or couldn’t find basic functions like deleting episodes, because they weren’t apparent enough in the design ... A lot of people also never swipe table cells (or tap Edit buttons), therefore never finding the Delete button. I’ve gotten literally hundreds of emails since Overcast 1.0’s launch asking how to delete episodes without playing them.

Back to blog