Registration morningscene 7 / 15~3 min
The two halves
Where the morning's work actually happened.
Rewind the tap one more time, and notice something that happened before it: the date picker refused to let Case be born in the future.
Fat thumbs on a small wheel had spun the year forward to 2031. The form caught it instantly, before the parcel existed, before anything travelled at all. Some of the work of this morning happens on Case’s phone, and some happens far away, and the seam between those two is the most load-bearing line in this whole act.
The half you can see
Everything Case can touch, the form, the wheel, the button, the spinner, is the frontendConcept · lights on your mapfrontendThe part of an application users directly see and interact with: screens, buttons, forms, and the code responding to taps and typing. It runs on the user’s own device, in a browser or an app.. Work done there is called client-sideConcept · lights on your mapclient-sideWork performed on the user’s own device. Fast to react, and fundamentally untrustworthy for anything important: the user controls that machine, and anything running on it can be inspected or altered., and the birthdate check was client-side: instant, helpful, and enforceable by absolutely nobody.
The half you cannot
Everything on Traversal’s machines, the lottery rules, the entries, the answer, is the backendConcept · lights on your mapbackendThe part of the application operating behind the interface, on machines the company controls: the rules, the stored records, the permissions, and the answers the frontend depends on., and work done there is server-sideConcept · lights on your mapserver-sideWork performed on the machines the company controls. Farther away and slower to reach than the user’s device, and for exactly that reason the only place where rules can actually be enforced.. One entry per person lives there. It has to. A rule that ran only on Case’s phone would be a rule enforced by Case’s phone, and a determined person with two phones would beat it by lunchtime.
Checked twice, on purpose
So the birthdate is checked twice, and this is not waste. Checking information before a system accepts it is input validationConcept · lights on your mapinput validationChecking information before a system accepts or uses it. Present, the right type, within range, in the required format. Done client-side for fast feedback and done again server-side before anything is trusted.. The client-side check is a courtesy, catching the fat thumb in the moment. The server-side check is the law, and the law assumes the courtesy never happened.
People who work on both sides of the seam are called full-stackConcept · lights on your mapfull-stackAn engineer who works across frontend and backend both. The “stack” is the whole pile of technologies a product is built from, top to bottom.. Finn is one, mostly, on a good day, and would say so with a small qualifying gesture of the hand.
Two halves, one seam, everything important on the far side of it. Hold that shape. It is the architecture of nearly everything you will ever be in a meeting about.
End of scene
This scene covers: frontend, backend, full-stack, client-side, server-side, input validation