Drink Buddy

A tab bar is a map. A check-in is an errand.

The obvious layout is six tabs, and it would have been wrong for four separate reasons that all reduce to one: navigation state and creation-flow state are different concerns, and an interface that mixes them has to keep answering an awkward question about half-finished work.

Places and errands

A tab bar is a map of where you can be. Home, Map, Stats, Games, Me — each is somewhere you go, look around, and leave from. Nothing about any of them is half-finished when you walk away.

A check-in is not a place. It is a short, stateful, interruptible transaction with a beginning and an end: two photographs, a drink, optionally a caption and a location, then publish. Putting that in a tab bar tells the user they may wander off mid-way — and then forces the app to answer what happens when they do, usually badly.

The four reasons it stayed a button

Recorded at the time, in this order.

Tabs are destinations; a check-in is a task.
A transaction in a tab bar implies wandering away is supported, which turns every abandoned attempt into a question the interface has to answer.
Navigation state and creation-flow state are different concerns.
Mixed together, every camera retake and every abandoned draft becomes a navigation problem. Kept apart, they are just two pieces of state with different lifetimes.
It has to be reachable from everywhere with equal weight.
A tab is one of five equals. The check-in is the single privileged action in the product and is drawn to look like it, from whichever surface you happen to be on.
Returning has to be lossless.
After publishing you land exactly where you were, rather than inside a Check In tab you now have to navigate out of.

Two kinds of state that must not mix

This is the engineering half of the argument, and it is the reason the decision holds up under pressure.

Navigation stateCreation-flow state
What it isWhich tab you are looking atA half-built check-in
LifetimeDisposableSurvives rotation, dismissal, backgrounding and app kill
If it is lostNothing of value is goneThe user lost work they had already done
Where it livesThe tab structureAbove it, in the modal that owns the flow

Where the five tabs actually go

The ordering is not alphabetical and not by expected traffic. Games sits between Stats and Me on the reasoning that it is used least often but most intensely — and that burying it inside the profile would make it effectively invisible on the evenings it is wanted.

Each tab also carries a named trap it is meant to avoid, which is a clearer way of specifying a surface than describing what it contains. Home is reverse-chronological and finite so it cannot drift into being a discovery feed. Map is a record of where the year happened rather than a presence product. Stats refuses to become a scoreboard for alcohol volume.

What this page does not answer

Each of these belongs somewhere else, or deliberately nowhere.

  • What the check-in flow actually asks you for, step by step.
  • Why the daily allowance is five, and how the two ceilings interact.
  • What the Games tab does today. A library and a mode picker exist; there is no engine behind them yet and nothing here implies otherwise.
  • Whether the tab bar will ever gain or lose a tab. No such change is recorded, so none is suggested.

Questions

Where is the Check In button?

Above the tab structure rather than inside it, reachable from every surface with the same weight. It is deliberately not drawn as one of five equal destinations.

If I leave a check-in halfway, do I lose it?

No. Creation-flow state is kept separately from navigation and is expected to survive rotation, switching tabs, dismissing the modal, backgrounding and even the app being killed.

Is there a drafts folder for check-ins I did not finish?

No. A flow you walk away from leaves nothing behind, and nothing partial was ever visible to anyone else.

Where do I end up after publishing?

Exactly where you were before you started. That is the point of keeping creation out of the tab bar — there is no Check In tab to navigate back out of.