Pokémon GO

John Gruber:

I’ve been advocating for Nintendo to fully commit to making games for mobile since 2013 (parts one and two). I just re-read both pieces and they both hold up really well. I hate to say it (OK, I love to say it), but it looks like I was right.

That kind of remains to be seen.

Pokémon GO isn’t really a Nintendo game.1 It’s not even made by Game Freak, the people who usually do Pokémon games.2 It’s made by Niantic, and it’s closely based on their previous game, Ingress.

In fact, it’s possible that Apple makes more money on Pokémon GO than Nintendo does.3

The real Nintendo mobile games - Fire Emblem and Animal Crossing - should come out later this year.

But there are three other points to be made here.

Nintendo is profitable without mobile games

Much of the argument for Nintendo to create mobile games was based on the idea that Nintendo could not survive just selling its own consoles. I think it’s fair to say that the last few years have shown this to be false. Even with the Wii U being an abysmal failure, Nintendo is consistently profitable.

Mobile might not be a clear win for Nintendo

Pokémon GO is doing very well right now, apparently making $1.6 million a day. But this shows the problem with the App Store: Pokémon GO is a lottery win. It’s the game everybody4 is playing right now.

There’s a good chance that Animal Crossing will do similarly well. But will other Nintendo franchises? Will Fire Emblem?

And I think it’s worth comparing Pokémon GO’s success to Nintendo’s current console games. As of right now, the Wii U game Splatoon has sold 4.5 million copies. Nintendo usually doesn’t discount games much, so it’s still listed at 50$ on Amazon. Let’s say the average selling price of a copy was 50$. That’s 225 million in sales, a large part of which is pure profit for Nintendo - if it’s sold in Nintendo’s own online store, it’s 100% profit.

For Pokémon GO to achieve the same kinds of numbers, it will have to continue doing this well for quite a while, particularly given that Nintendo will see very little of the money Pokémon GO is currently raking in.

That’s not to say that Pokémon GO can’t achieve those numbers - but how many of Nintendo’s other games will be lottery wins the size of Pokémon GO? Granted, not every Nintendo game is as successful as Splatoon, either, but the fact that Nintendo made this much money on a game released for a console that is universally (and rightly) seen as a complete failure is telling.

Nintendo on mobile is not a clear win for us

One final point: it feels a little bit disheartening to see the adulation Nintendo is currently getting for moving towards the same kind of manipulative, free-to-play, IAP-monetized games we get from tons of other rather questionable mobile gaming companies. It really took a very short amount of time for us to accept these games as the new normal.

Sure, Pokémon GO is not the worst offender.5 But if we eventually end up with a Nintendo that’s producing the same kinds of games that everybody else is doing on mobile platforms, what have we really gained? Is there a reason to celebrate Nintendo games on iOS at all?6

If Pokémon GO is the Nintendo of the future, why do we need Nintendo at all?

When people originally started talking about Nintendo games on iOS, it was because many were hoping that Nintendo would change the economics of mobile game development for the better. Surely, if only Nintendo released a Mario game for the iPhone, people would see that it was possible to make money on iOS with real games that didn’t rely on gambling mechanics to get whales to spend disproportionate amounts of money?7

It’s still possible that Nintendo will do exactly that when they release games like Fire Emblem.

But Pokémon GO is not that game.


  1. Aaaand… a week later, looks like investors have now caught onback

  2. Game Freak, Nintendo, and Creatures jointly own The Pokémon Company, who actually owns the Pokémon IP. back

  3. Most cross-platform mobile games make the majority of their sales on iOS. Apple makes 30%. Nintendo owns 33% of The Pokémon Company. Do the math.
    This probably explains why Apple bloggers are so happy about mobile games from Nintendo: they benefit Apple way more than they do Nintendo. back

  4. Yeah, even though it’s not officially released over here yet, people are playing it. back

  5. «Congratulations! You’re not the worst!» back

  6. Well, I guess there is if you own Apple stock. back

  7. By the way, I’m not saying that non-manipulative games that make money on mobile don’t exist, just that, looking at the top selling apps, they’re the rare exception. back

If you require a short url to link to this article, please use http://ignco.de/753

Input Masks: Violating User Expectations

When designing forms, there’s a pretty deep chasm between the needs of the developer, and the needs of the user. Developers want structured, normalized data. Users want to enter data in whatever format suits them best.

Forcing people to enter structured data causes usability problems.

Validation Error

What do you mean, it’s not a valid phone number? Looks valid to me - except that the backend wants just numbers, no special characters, and isn’t smart enough to strip out all of the characters that the user has entered.

Commonly, designers try to solve this by telling people what kind of format data needs to be in. This can be done using placeholders that show example data in the correct format.

Field with a placeholder

The problem here is that the placeholder disappears as soon as people start typing, so exactly when they actually need this information, it’s no longer visible.

Field, partially filled in, placeholder no longer visible

Another approach is to try to be as liberal as possible when accepting input values. So maybe the backend strips out all special characters, and only retains the numbers. But that’s difficult to do; what if I enter an international phone number?

International phone number with + prefix

Stripping out the plus sign results in an invalid phone number. So getting the backend right can be hard, and getting it wrong means that the form accepts (or produces) invalid data, which is never a good idea.

Worse, people have become so accustomed to inconsiderate text fields that they may be confused when they encounter a text field that doesn’t offer any guidance about how its contents should be formatted.

Yet another attempt at solving this problem is to use input masks. Instead of showing a simple text field, the field is split up into multiple fields, or contains logic that applies correct formatting while the user is entering text.

Empty field with input mask

As the user starts entering text, that text is automatically formatted correctly, and the mask is changed to indicate what kind of text remains to be typed.

Partially filled in field with input mask

This satisfies the needs of backend developers by forcing people into entering data in a very specific format, and also help users by providing clear, interactive guidance.

These fields are quite common on web forms. Because they are not part of many widely used UI libraries, but are implemented with custom JS code, there are few commonly accepted UI guidelines. There are no standards outlining how they should work, and as a result, most of these input masks work differently in slightly perfidious ways.

In order to implement input masks, designers have to make a lot of small interaction design decisions that don’t have universally accepted correct answers. Regardless of which decisions designers make, there will be users who will be surprised by these decisions.

So whatever you do, you’ll end up annoying or confusing some of your users.

In fact, I think I’ve never encountered an input mask that didn’t annoy me.

Let’s take a look at some examples.

Input masks for serial numbers often split the one field up into multiple fields.

Four text fields that make up an input mask for a serial number

Once the user has entered the first four letters, focus is automatically shifted to the next field:

Four text fields, first filled in, focus on second

Unfortunately, no other text field works like this. If you do usability tests on these fields, you’ll find that a large portion of your users won’t notice that the caret was moved to the next field, possibly because they’re typing a serial number that’s printed on a physical card, and aren’t paying much attention to what’s happening on the screen. They’ll hit tab…

Four text fields, first filled in, focus on third

…enter the next four characters, and end up with this:

Four text fields, first and third filled in, focus on fourth

Clearly, that’s not the intended outcome.

A similar problem occurs with single-field input masks. Let’s go back to the phone number example. Let’s say the user enters the first six letters. At this point, the input mask will automatically type the dash, so that the user doesn’t have to.

Phone input mask with the first six numbers and the dash filled in

However, the user might not notice that the dash was typed automatically, and might type the dash, resulting in this:

Phone number with two dashes after each other

Now think about deleting. Let’s go back to the previous situation:

Phone input mask with the first six numbers and the dash filled in

If the user hits the delete key, what should happen? The field (probably) filled in the dash, so a lot of input fields ignore the dash, and delete the character before the dash.

Phone input mask with five numbers filled in

But this is kind of crazy. No other text field on your computer deletes two characters if you hit delete once. In fact, the user probably hit delete twice quickly in succession, thinking that it would take two deletes to get rid of the one character before the dash, and thus inadvertently deleted two characters instead of one.

Phone input mask with four numbers filled in

Clearly, not what the user wanted.

Conclusion

Avoid Magic

Because there are no standardized, widely accepted behaviors for input masks, it’s best to avoid «magical» behaviour (e.g. automatically entering characters that the user did not type), or, if you do need magical behavior, also account for user behavior that does not expect magical behavior.

For example, if the field auto-tabs to the next field, and the user also tabs right after filling in a field, it might be best to ignore the user’s tab.

If it looks like a duck, make it walk and quack like a duck

if there’s a UI element that looks pretty much like a text field, has the same function as a text field, and behaves very similarly to a text field, maybe it’s best not to change how basic features like the delete key work.

If you create a new control that kind of looks like an existing control, the new control should not violate people’s expected behavior of the existing control. In other words, text fields with input masks’ behavior should be as close to a normal text field’s behavior as possible.

Don’t be clever

Don’t be too clever for your own good; if a simple, easy to understand interaction works, it’s often better to go with that than to go with a clever, possibly hard to predict interaction.

Do no harm

Follow the principle of least harm. If there are multiple ways a user interface can behave, pick the one that does the least harm (e.g. deletes the fewest characters when the user starts a destructive action).

Test it

To find out how users actually expect your user interface to work, it’s always best not to be too smart, but to run some usability tests, and find out.

If you require a short url to link to this article, please use http://ignco.de/751

Designed for Use, Second Edition

For the last months, I’ve been working on an updated version of Designed for Use. It’s now available!

Cover picture of Designed for Use, Second Edition

Among many others, the second edition includes the following amazing changes:

  • Four totally new, never before seen chapters,1 bringing the total from 35 to 40!2
  • Fixed all of the links!3
  • When ordered directly from the publisher,4 the print version is now in full color!5
  • Fixed spelling errors and other mistakes!
  • Fixed images and updated screenshots!
  • The table of contents is now actually useful!6
  • You can now get the Kindle version directly from Amazon, and have it auto-beamed to your Kindle!

If you own the first edition of the book and bought it from the publisher, you should already have received an eBook of the second edition. If you don’t yet own the book, you can buy it directly from the publisher, or from amazon.com.

Buy it Now!

  1. Contrary to what other people have claimed, the book indeed contains a whole four new chapters! Not just three! back

  2. But Lukas, I hear you say, that sounds like five new chapters, not just four! True, but I also split one existing chapter into two, so there are four new chapter plus one chapter that turned into two chapters, which I’m not counting, because that would be cheating. back

  3. It’s amazing how many of the linked webpages have disappeared in the relatively short time this book has been out. back

  4. If you order the cheaper version from Amazon, it’s printed in black and white, though. back

  5. Technically, the first edition of the book has been available in color for about a year now, so you might already have a color version of the printed book. back

  6. It contains descriptions of all of the chapters. back

If you require a short url to link to this article, please use http://ignco.de/748

Wiim:

Samurais had only just been abolished when Nintendo started doing business. Nintendo has always been on its own track. And now that’s changing.

(…)

Take your Zelda and NX announcements, discuss them all day if you have to, but the most monumental announcement is the birth of a Nintendo that no longer marches to its own tune.

Nintendo has always been at its best and at its worst1 when it ignored what everybody else was doing, and carved out its own path. With the announcement that Nintendo will start making real mobile games, not just Pokémon spin-offs and weird experiments, and with this announcement of Nintendo’s leadership changes, we might have lost the single most important, most daring, most peculiar voice in gaming.


  1. At its worst financially — personally, I still think that Mario Tennis on the Virtual Boy is a fantastic game. back

Ash Huang:

Product design is all about edge cases. It’s trying to figure out how users will break your system, and doing your best to anticipate that. It’s helping humans be better humans and keeping them from falling through cracks.

Steve Jobs, via Egg Freckles:

Focusing is saying yes, right? No. Focusing is about saying no. You’ve got to say, no, no, no. The result of that focus is going to be some really great products where the total is much greater than the sum of the parts.

I think that most companies can’t be successful with one stack of system software. Rarely can they manage two.

Sara Wachter-Boettcher:

We started our research when Facebook’s Year In Review feature first juxtaposed his daughter’s face — his daughter Rebecca, who died of aggressive brain cancer on her sixth birthday — with balloons and partiers.

What we’ve found, over and over, is an industry willing to invest endless resources chasing «delight» — but when put up to the pressure of real life, the results are shallow at best, and horrifying at worst.

Via William Van Hecke.

Security

A hospital in California is infected with ransomware, and forced to pay $17,000 to decrypt their own patient information. Ransomware ships with a legitimate Mac app and is remotely installed on people’s computers using the software’s auto-update mechanism. Remote administration tools are installed on people’s computers without their knowledge, and used to spy on them. Cars can be remotely controlled by hackers. Android malware steals people’s banking information. Since more and more information is stored online, identity theft is becoming easier, particularly because governmental and private databases containing personal information are regularly breached.

I could keep adding to this list, and literally never stop, because people are exploiting security problems in computer systems faster than I can type.

For the past 20 years, we’ve lived in a world where the Internet is ubiquitous, and more and more devices connect to it. At the same time, we’re still using computer systems, and an approach to security, that was largely designed for a threat model that did not include the Internet.

At the same time, computers, from the tiny smartphones in our pockets to huge data centers in far-away countries, contain more and more of our personal data.

It is to Apple’s great credit that, more than any other company, they have invested tremendous resources into making iOS an operating system that’s designed for a world in which the Internet exists.

All of this makes it particularly disheartening to see our own governments trying to undermine the work that goes into making us more secure. Not just with the lastest attacks on Apple, but also with previous actions (like the DMCA) that made security research harder, or even illegal, that targeted security researchers directly, and that made it much more difficult—sometimes impossible—for software companies to secure their products properly.

All of this doesn’t just have a direct negative impact on our security; it also has a chilling effect on future security research and development. Why should I invest any money into fixing security problems with my software, if it will just lead to trouble with the government?

We’re all vulnerable, since we’re still mostly using software designed for a pre-Internet era. There’s very little we can personally do to make ourselves more secure.

Instead of trying to fix this problem, our own governments are fighting to make us even less secure.

Clearly, this is not helping.

If you require a short url to link to this article, please use http://ignco.de/742

I’ve written an essay for the February issue of PragPub. You can get it here.

Via Daring Fireball, Maciej Ceglowski:

To repeat a suggestion I made on Twitter, I contend that text-based websites should not exceed in size the major works of Russian literature.

(…)

If you open that tweet in a browser, you’ll see the page is 900 KB big.

That’s almost 100 KB more than the full text of The Master and Margarita, Bulgakov’s funny and enigmatic novel about the Devil visiting Moscow with his retinue (complete with a giant cat!) during the Great Purge of 1937, intercut with an odd vision of the life of Pontius Pilate, Jesus Christ, and the devoted but unreliable apostle Matthew.

For a single tweet.

On a related note, Bauke Roesink recently asked a bunch of web developers what kinds of CSS frameworks they used. If there’s any kind of bright spot in this, it’s that a quarter of people responded with «none», making «none» the third most used CSS framework.

To quote Alex Papadimoulis:

What if I were to tell you…CSS is already a framework for styling HTML, and that by actually taking the time to learn it, one can make significantly less shitty websites that are actually responsive, don’t require a quad-core with 8GB of ram just to render, and that another front-end-developer who isn’t hip on whatever flavor-of-the-month bullshit framework can actually be able to maintain it?

This also applies to JS frameworks, by the way.