Marco.org • About ▾

I’m : a programmer, writer, podcaster, geek, and coffee enthusiast.

I’ll Never Fly Amazon Again

If you swear off an airline every time you have a poor experience, you’ll be out of airlines in five years.

This isn’t because everyone who runs an airline is an idiot: it’s mostly because being an airline is a terrible business. No matter what logo you put on the plane, most people don’t care what airline they fly — since it hardly matters to the overall function of flying, and airline tickets are a significant expense to most people, they just buy the cheapest tickets that they can find. An undifferentiated commodity competing mostly on price with little customer loyalty is a terrible business.

As I was complaining yesterday about Amazon’s sleazy tactics in the Hachette ebook-pricing negotiations,1 @mareMtl said:

@marcoarment So no more amazon links on your blog?

This gave me pause. I’ve been an Amazon Prime customer since 2005, I buy almost all of my physical-item purchases from Amazon, I use some Amazon Web Services, and Amazon affiliate links provide almost half of this site’s income.2 It’s worth questioning whether I can be so disgusted by some of Amazon’s actions, yet continue to buy from them and earn income from directing other people to buy from them in good conscience. For some reason, that doesn’t feel wrong to me.

Physical retail is similar to the airline business. If you want a pair of Beats, well, stop there and rethink your choices. But if you still want them, it doesn’t really matter whether you get them from Apple, Amazon, B&H, Best Buy, Wal-Mart, Beats’ online store, or any other retailer. Some let you try them in person somewhere, some make returns easier, but the main value of the retailer to you is simply selling you what you want. Most people just buy it from wherever’s cheapest that’s reputable at all and will get it to them reasonably soon.

Like airlines, retail is an undifferentiated commodity competing mostly on price with little customer loyalty. And a terrible business.

Very few general-purpose retailers aren’t run by terrible people. We just know a lot about Amazon. But ask anyone who’s worked in retail, and you’ll learn that the others aren’t meaningfully better, ethically — and they’re usually worse than Amazon for customers. (If an online retailer for a substantial market is good, Amazon has probably bought them anyway.)

When it’s easy to support a better-behaving alternative with little downside, do so. I hardly ever buy Kindle ebooks, but that’s easy because I hardly ever buy or read any books. I don’t use Amazon Prime Video because I don’t like how much Amazon spams me about it, but that’s mostly because Apple TV and Netflix cover my needs well. I haven’t bought gas from a BP station since 2010, but that’s easy because there aren’t any BP stations near me, and when I see them on road trips, there’s always another gas station across the street. If the best or only gas stations close to my house were all BPs, I’d probably go there. (It’s not like the other oil companies are awesome.)

But in a market where everyone’s terrible, or where the non-terrible alternatives are much worse for customers, pragmatism wins over minor ethical debates and personal preferences. (Major ethical breaches are another story, but Amazon doesn’t have major ethical problems that I’m aware of.)

That’s why I use Google search and Maps despite not liking Google much, why I still use Instagram and haven’t deleted my Facebook account despite not liking Facebook, why I still use Twitter heavily despite their many dick moves, and why I even recently bought a Samsung SSD because the alternatives weren’t competitive.

And that’s why I’ll keep buying from and linking to Amazon for physical products. It’s usually the best retailer for customers by a mile, its occasional ethical issues are minor, and there are no alternatives that are significantly ethically better and anywhere close to Amazon’s quality for customers.


  1. Amazon will win. They have enough power in the ebook market (and the Department of Justice) to dictate their terms, no matter how unfair or abusive, and the publishers must follow. Amazon believes that they deserve most of the money in digital media sales and unbounded control over pricing, and they’ll eventually get both. 

  2. This is why I can justify buying, for instance, more headphones than one person really needs: people often come here looking for headphone reviews, then buy the ones I’ve reviewed and recommended over the years. All in, I’ve made a net profit on my headphone hobby. It’s therefore important for me, both ethically and financially, to try to keep those recommendations relevant, accurate, and up-to-date. 

Fancy Ice Kits From Kickstarter


Left: Neat Ice Kit. Right: Wintersmiths Ice Baller. The ice appears slightly cloudy here from condensation, but it’s clear when properly installed in a drink.

Both the Neat Ice Kit (Kickstarter) and Wintersmiths Ice Baller (Kickstarter) have the same goal: make big, cool-looking, crystal-clear ice cubes at home for fancy cocktails.

Both work on the same principle. The cloudy flaws in ice cubes are in the part that freezes last — usually, that’s the middle. These products use insulated tubes that are only uninsulated on top, forcing the ice to freeze directionally (top to bottom). This pushes the cloudy flaws to the bottom, leaving the top clear. (It also makes a complete freeze extremely slow and inefficient, taking about 36 hours for me with both kits.)

The Wintersmiths kit is fancier: its insulator is double-walled stainless steel, and inside is a two-layer silicone mold to form the clear portion of the ice into a sphere with a little raised “W” symbol. After it’s frozen, you need to remove the mold from the metal cup (the bottom half of which is now full of cloudy ice), then remove the outer sleeve from the inner mold, then separate the inner mold halves, then finally remove your clear ice sphere.

This removal process is extremely, frustratingly difficult, especially separating the outer sleeve from the inner mold. This alone is enough to make me never want to use it again. I’ve now frozen about 6 spheres with different removal attempts, some involving strategic application of hot water, and it’s frustratingly difficult every time.

The Neat Ice Kit is a much simpler design: a rectangular foam surround with a silicone insert. After it’s frozen, you need to push the silicone sleeve out of the foam surround, then peel it down to access the ice rectangle. This takes substantial force, but it’s not nearly as difficult and frustrating as the Wintersmiths kit.

Split the ice rectangle in half (with the supplied tool) to get one cloudy and one clear cube, then throw away the rejected half, use it for crushed ice, or serve it to less-demanding drinkers.


Hops did not judge the cloudy half of the Neat Ice Kit’s rectangular output.

Casey’s review of the Neat Ice Kit is much more detailed.

After you go through the hassle, you do indeed get mostly-clear ice. None of my attempts so far with either have been perfectly clear, but they’ve been very close.

The Wintersmiths sphere is cooler-looking once you get past the more frustrating extraction process, but I actually find it clumsy in a glass: it bounces around weirdly and hits my nose a lot. The Neat Ice Kit’s cubes are much easier to extract and actually use in a drink.

The Neat kit is simpler, more practical, and easier to use. If you’re going to get one of these, get that one.

But in practice, I find both to be much bigger hassles than they’re worth. The Tovolo King cube tray and sphere molds produce cloudy-in-the-middle ice, but they also do it with far less time, freezer space, and effort.

App Rot

Look around your iPad for a minute. How are its third-party apps doing?

Are they all being actively updated? Are they all built for iOS 7 yet? You never see any non-Retina graphics, iOS 6 keyboards, or old-style controls anymore, right?

Have you looked for any great new iPad apps recently? Did the market seem vibrant, with multiple good choices?

New iOS apps you care about are still launching with iPad versions, and they seem well-cared-for, right?1

Are you confident that they’ll be updated to take advantage of iOS 8 shortly after its release?

I hope you’ve said yes to everything, and I’m the anomaly. Because while I’m not the most devoted or frequent iPad user, the software landscape on mine has become alarmingly stagnant.

*   *   *

Apple’s App Store design is a big part of the problem. The dominance and prominence of “top lists” stratifies the top 0.02% so far above everyone else that the entire ecosystem is encouraged to design for a theoretical top-list placement that, by definition, won’t happen to 99.98% of them. Top lists reward apps that get people to download them, regardless of quality or long-term use, so that’s what most developers optimize for. Profits at the top are so massive that the promise alone attracts vast floods of spam, sleaziness, clones, and ripoffs.

Quality, sustainability, and updates are almost irrelevant to App Store success and usually aren’t rewarded as much as we think they should be, and that’s mostly the fault of Apple’s lazy reliance on top lists instead of more editorial selections and better search.

The best thing Apple could do to increase the quality of apps is remove every top list from the App Store.

I hope Apple realizes how important it is to everyone — developers, customers, and Apple — that they make changes to encourage more high-quality apps. If they’re trying to boost iPad sales and increase differentiation between iOS and Android devices, that’s the first place to start.

But that won’t solve the biggest problem. (Neither will upgrade pricing, trials, or any other theoretical panacea.)

*   *   *

The app market is becoming a mature, developed industry, with vastly increased commoditization compared to its early days. Competition is ubiquitous, relentless, and often shameless, even in categories that were previously under-the-radar niches. Standing out requires more effort than ever, yet profits are harder to come by than ever.2

Full-time iOS indie developers — people who make the majority of their income from sales of their apps, rather than consulting or other related work — are increasingly rare. I thought Brent Simmons would get flooded with counterexamples when he proposed that there are very few, but he didn’t.

Consulting isn’t immune to decline, either. Clients were spending top dollar on app development in 2008 because they had to, as almost nobody could make apps. Now, mobile-app developers are everywhere. App development is no longer a specialty — it’s a commodity.

I’m not the only one seeing this. Here’s Matt Gemmell:

There’s a chill wind blowing, isn’t there? I know we don’t talk about it much, and that you’re crossing your fingers and knocking on wood right now, but you do know what I mean.

We’ve had our (latest) software Renaissance in the form of the mobile platforms and their App Stores, and I think the software biz is now starting to slide back towards consolidation and mega-corps again. It’s not a particularly great time to be an indie app developer anymore.

Small shops are closing. Three-person companies are dropping back to sole proprietorships all over the place. Products are being acquired every week, usually just for their development teams, and then discarded.

Luc Vandal:

Let’s face it, the app gold rush is well over. It is now much harder to make it into the market and it requires more planning, financial investment and time. … I have spoken with other successful developers and many told me the same: sales are generally down. They are still doing great but there are more and more competitors are also taking a slice of the same pie.

Gus Mueller:

I’m in my tenth year as a full time indie dev (so I can claim to have a bit of perspective). And I think that yes, it is much harder these days to go indie.

Why though?

I think it comes down to a handful of reasons, but the major one is that we have more potential customers than ever, but we also have more developers than ever.

Jared Sinclair’s sales figures for Unread, which launched to rave reviews from major writers in our community:

Considering the enormous amount of effort I have put into these apps over the past year, that’s a depressing figure. I try not to think about the salary I could earn if I worked for another company, with my skills and qualifications. It’s also a solid piece of evidence that shows that paid-up-front app sales are not a sustainable way to make money on the App Store.

These pressures are taking an immense toll on the quality and sustainability of iOS apps. I picked on the iPad earlier because its problem is deeper and more visible than on the iPhone today: while the iPad has most of the pricing and competitive pressure of the iPhone, the iPhone’s immense installed base can hide the problems for longer. The iPad has a much smaller installed base, so iPad development is even harder to justify.

But the iPhone app market has the same fate. It’s most of the way there already.

*   *   *

As the economics get tighter, it becomes much harder to support the lavish treatment that developers have given apps in the past, such as full-time staffs, offices, pixel-perfect custom designs of every screen, frequent free updates, and completely different iPhone and iPad interfaces.

Many will give up and leave for stable, better-paying jobs. (Many already have.) But there’s a way forward for those of us who want to stay.

When other industries mature and deal with these pressures, the survivors are those who can adapt and — to borrow a horrible phrase for corporations to justify downsizing and convince the remaining workers to accept more work without a raise — do more with less.

That’s where we are today.

Benjamin Mayo in response to the Unread numbers, emphasis mine:

You have to be efficient with your time to make good ROI’s on the App Store. … If you want to maximise your profitability, make small apps that do a few things well. The amount of effort you put into an app has very little to do with how much of the market will buy it.

Brent Simmons on standard vs. custom controls a few weeks ago:

A big problem is the cost of all this development. … It’s probably necessary for indies to make more than just one iPhone app. Do the same app on Macintosh. Maybe make a second or third app.

Not long ago this would have been very, very expensive — because we believed (rightly) that we had to do custom versions of all the things.

But now, I most emphatically suggest getting out of that mindset. Use standard components in the expected ways as much as possible. Create custom things only when absolutely needed.

Efficiency is key. And efficiency means doing more (or all) of the work yourself, writing a lot less custom code and UI, dropping support for older OSes, and providing less customer support.3

Apple is greatly helping our efficiency. Every version of iOS brings new capabilities that make previously difficult features much easier. iOS 7’s redesign gave indie developers a huge advantage by making the stock UI cool again.

iOS 8 helps even more. Extensions open up vast new markets and give our apps a lot more functionality for very little effort. CloudKit removes the need for many apps to run web services. Adaptive Layout will remove the need for most apps to code radically different UIs for their iPad and iPhone versions, instead providing a responsive-web-like method of automatically rearranging one UI to fit any size screen.

It’s not going to be an easy road, but it’s possible to adapt and keep going.


  1. Ignore my recent contribution to this problem. 

  2. It’s too early to know, but I doubt Overcast will have the financial success that Instapaper did. Instapaper rode the App Store boom because it was in the right place, at the right time, solving the right need — and Instapaper 1.0 only took three months to develop, even as my first Objective-C app and with the relatively primitive iPhone OS 2.0 SDK. Overcast has taken over a year of work to make a 1.0 that could be competitive in a much more crowded and narrower market, and there’s still a lot I need to do. 

  3. Much of Overcast’s interface, language, attitude, and abilities are intentionally designed to minimize support email. I’m trying to keep Overcast as cheap as possible to operate, and that includes doing support myself for as long as I can. 

How To Make Tilt Scrolling That Doesn’t Suck

In 2008, I added tilt scrolling to Instapaper. Today, that’s an “innovation” in Amazon’s Fire Phone, but Farhad Manjoo says they blew it:

Take Auto Scroll, which moves the text on your screen as you tilt the phone back and forth. Because Auto Scroll calibrates its scrolling speed according to how you’re holding the device when you first load up an article, your brain will struggle to find a set rule about how much to tilt to get the right speed. Often I’d scroll too fast or too slow.

This is the biggest design challenge when implementing tilt scrolling. Tilting is relative to some “zero” point — tilt forward from that angle to scroll up, and tilt back to scroll down.1 When, and how, is the zero point set?

Scroll down Scroll up Zero

You can’t just have a fixed angle be the zero point, like straight up, because nobody holds their phone in the exact same orientation all the time. The zero point needs to be relative to however the phone is being held.

My solution is to have tilt scrolling always default to off, make the user toggle it on every time they want it, and use the phone’s current orientation as the zero point when they tap the button. Critically, this means they can toggle the button off and on again to reset the zero point whenever they want, like if they change positions while sitting or in bed.

Amazon has apparently chosen instead to set this when the article is first loaded, but that will never work well enough in practice. I assumed my method was common sense, but apparently not.

The biggest problem with tilt scrolling is that doing it right requires a prominent button to toggle it on and off to make realignments easy for users, and it can never just be on by default. In most cases, it’s not a widely-used enough feature to justify a prominent, always-there button in the interface, so it’s (rightly) cut from the feature list.

I don’t have a Fire Phone to test with — thank goodness, it seems — but I wonder how they did on the other details. For tilt scrolling to be useful in practice, there needs to be a bit of a dead zone around the zero point, where no scrolling occurs, so it’s forgiving of inadvertent small motions. The dead zone should be wide enough so nobody accidentally scrolls in the wrong direction when they’re trying to keep it still, but narrow enough that neither direction is frustratingly far away:

But it’s no good if someone activates tilt scrolling, tries to scroll down (the most common action), and the first few tilt degrees do nothing because the trigger zone is too far away. It feels unresponsive. So the best thing to do is not quite to center the scrolling bands around the zero point, but offset them so that the zero point is very close to the beginning of the scroll-down zone:

This way:

I assumed all of this would be common sense to anyone implementing a tilt-scrolling feature.

More from Manjoo’s review:

Worse, if you put your phone down on a table while you’re in the middle of an article, the scrolling goes haywire and you lose your place. The best thing about Auto Scroll is that you can turn it off.

This also seems like common sense. Instapaper’s tilt scrolling always stopped if the phone was set on a flat surface. Originally, that was actually a bug — probably not wrapping around the zero angle properly — but it was so obviously useful that I left it in.


  1. These directions are non-negotiable if downward scrolling is the more common direction in your app, like almost everything. The way most people hold phones, tilting the top of the device toward you makes the screen angle slightly less readable, while there’s usually plenty of leeway in the other direction. You want the device-toward-you action to be the less-common scroll direction. 

Ads via The Deck