Én skærm ad gangen, i app og på webticket. Priser og navne er opdigtede, for tallene er ikke sat endnu. Skærmteksterne er på dansk med vilje, for det er den rigtige app-copy. Kun forklaringerne skifter sprog.
One screen at a time, in the app and on Web Tickets. Prices and names are invented, because the numbers are not set yet. The screen copy stays in Danish on purpose, because that is the real app copy. Only the explanations change language.
Hvert felt på skærmen er en komponent der slås til og fra pr. storefront. Sådan her ser den ud med de valgte indstillinger.
Every block on this screen is a component a storefront turns on or off. This is how it looks with the settings shown below.
Abonnement og kø er slået fra, fordi de ikke findes den 6. september. Festhallen kan køre den samme storefront med camping og pakker slået fra.
Subscription and queue are off, because neither exists on 6 September. Festhallen can run the same storefront with camping and packages switched off.
Descriptions are cut back to price and dates. A camping spot sells on what the area looks like, not on a sentence about it.
After payment the profile holds two partouts and a camping spot, no package. The partout is itself a bundle of three days, and it can be resold whole or split.
6,285 is 3,790 plus 2,495, and it says so in the summary. A package with no discount that hides the arithmetic looks like a trick.
So it can show the Beats balance and the web cannot. One more argument for asking for the profile at the basket.
A spot can be XL, and the size belongs to the spot rather than to the guest. It has to appear in the product code, or stock, settlement and the actual ground cannot be reconciled afterwards.
The choice here also decides where on the site the guest ends up, because the product locks the area. The GlamCamp products sit in GlamCamp; which products belong to Kassernen and Kompagniet is not settled yet. The name and the picture have to carry both.
A package and a standalone ticket draw on the same pool, and the festival sets a slice aside for each. That is why a package can be sold out while the ticket on its own is not. LCAP-1790.
The same storefront has to be able to run Festhallen with no camping and no packages. The order is fixed, the contents are not.
Different instance, own inventory, own order, so the basket cannot follow. Hence the dashed border and an arrow instead of an Add button. The profile does follow, and that is the whole point.
Are three packages too many? With no discount the only gain is fewer clicks, so three or four is the ceiling before the list becomes the ticket picker we avoided.
Nothing has to be established before the guest may choose. The profile is required at the basket, and the whole catalogue can be seen without one.
Should the upsell and other events be switched off on 6 September? Every click away from the checkout that day is a lost sale. They are two switches, so it can be decided on the day.
Beskrivelserne er skåret ned til pris og dage. En campingplads sælges på hvordan området ser ud, ikke på en sætning om det.
Efter betaling ligger der to partout og en campingplads på profilen, ingen pakke. Partouten er selv en bundle af tre dage, og den kan sælges hel eller splittes.
6.285 er 3.790 plus 2.495, og det står i opsummeringen. En pakke uden rabat, hvor regnestykket er skjult, ligner et trick.
Derfor kan den vise Beats-saldoen, og web kan ikke. Endnu et argument for at spørge om profilen ved kurven.
Ikke hvem den er til. Glamcamppakke 2 pers. forklarer sig selv, Vennepakke gør ikke, og uden rabat er indholdet det eneste argument.
En plads kan være XL, og størrelsen er en egenskab ved selve pladsen, ikke ved gæsten. Den skal fremgå af produktkoden, ellers kan hverken lager, afregning eller pladsen på marken holdes op mod hinanden bagefter.
Valget her afgør også hvor på pladsen gæsten ender, for produktet låser området. GlamCamp-produkterne ligger i GlamCamp; hvilke produkter der hører til Kassernen og Kompagniet er ikke afgjort endnu. Navnet og billedet skal bære begge dele.
Pakken og enkeltbilletten trækker fra den samme pulje, og festivalen sætter en skive af til hver. Derfor kan en pakke være udsolgt mens billetten alene ikke er. LCAP-1790.
Samme storefront skal kunne køre Festhallen uden camping og uden pakker. Rækkefølgen ligger fast, indholdet gør ikke.
Anden instans, eget lager, egen ordre, så kurven følger ikke med. Derfor stiplet ramme og en pil i stedet for en Tilføj-knap. Profilen følger, og det er hele pointen.
Er tre pakker for mange? Uden rabat er gevinsten kun færre klik, så tre til fire er loftet før listen bliver den billetvælger vi undgik.
Skal mersalg og andre events slås fra den 6. september? Hvert klik væk fra kassen den dag er et tabt køb. Det er to kontakter, så det kan besluttes på dagen.
Der er intet der skal fastslås, før gæsten må vælge. Profilen kræves ved kurven, og hele kataloget kan ses uden.
Her bliver rækkefølgen konkret. Vi spørger om profilen når pakken lægges i kurven, altså før pladsvalget, så uret aldrig løber mens gæsten opretter sig. Syv skærme bliver til én.
This is where the order of the journey becomes concrete. We ask for the profile when the package goes into the basket, which is before the spot is picked, so the clock never runs while the guest is signing up. Seven screens become one.
Today: login, register-email, register-otp, create-profile, pincode, confirm-pin, biometrics. PIN and Face ID move to the step where the card is saved, which is the first point at which they protect anything.
Today /register renders the login component, so a first-time buyer is asked to log in to an account they have never had. That happens right after they decided to buy.
Today it is the longest: new users are sent through the email flow with a MitID trip bolted on the front. Here MitID is one tap and everything else is secondary.
Resale requires MitID from both parties. A guest who picks email can neither sell their ticket nor buy one from another guest. That belongs here, not on the day they try to sell. LCAP-1771.
Because we ask before the spot is picked, nothing is reserved yet. A guest who abandons signup has not locked inventory for anyone else.
Email signup in the app will not make 6 September. It exists only on the web. So if MitID becomes the bottleneck that morning, the only lever is on the web. Is that acceptable?
Email signup must not promise a MitID upgrade until that path is proven for guests and not only for staff. That is LCAP-1737, which sits after the sale.
I dag: login, register-email, register-otp, create-profile, pincode, confirm-pin, biometri. PIN og Face ID flytter til det trin hvor kortet gemmes, hvor de først beskytter noget.
I dag viser /register login-komponenten, så en førstegangskøber bliver bedt om at logge ind på en konto de aldrig har haft. Det sker lige efter de har besluttet at købe.
I dag er den den længste: nye brugere sendes gennem e-mail-flowet med en MitID-tur lagt foran. Her er MitID ét tryk, og alt andet er sekundært.
Videresalg kræver MitID af begge parter. Vælger gæsten e-mail, kan de hverken sælge deres billet videre eller købe en fra en anden gæst. Det skal stå her, ikke opdages den dag de vil sælge. LCAP-1771.
Fordi vi spørger før pladsvalget, er der ikke reserveret noget endnu. En gæst der opgiver oprettelsen har ikke låst lager for andre.
E-mail-vejen i appen når ikke 6. september. Den findes kun på web. Bliver MitID flaskehalsen den dag, kan der altså kun skrues på web. Er det acceptabelt?
E-mail-oprettelse må ikke love en MitID-opgradering, før den er bevist for gæster og ikke kun for medarbejdere. Det er LCAP-1737, som ligger efter salget.
Område, zone, plads. Områderne er Kassernen, Kompagniet og GlamCamp, hver med zoner, og zonerne har de nummererede pladser. Men produktet låser området, så her er der reelt to valg tilbage: zonen og pladsen. Det er også her uret begynder at gå.
Area, zone, spot. The areas are Kassernen, Kompagniet and GlamCamp, each holding zones, and the zones hold the numbered spots. But the product locks the area, so only two choices are left here: the zone and the spot. It is also where the clock starts.
Amber is another guest standing in the middle of their purchase right now, grey is sold. Without that difference the one who loses the race gets no explanation, only an error on a spot that was free a moment ago.
XL spots take double the room, and that has to be visible on the map rather than stated in text. A guest who bought XL must only be able to pick an XL spot, so size filters the map the same way the area does.
Because the product locks the area, the guest is left with zone and spot. Open on the first zone with capacity, so someone who just wants a place to sleep needs one tap, and the one with an opinion can still work down.
Kassernen, Kompagniet and GlamCamp mean nothing to someone who has not been before. The photo and the single line decide it, which is why the area step is cards rather than a list. The lines here are placeholders: what separates the two camping areas has to be written by someone who knows the site.
Camping is the only scarce thing, so it is the only thing reserved. Two partouts in a basket hold inventory for nobody.
The basket is not emptied, and the clock does not reset. Otherwise a spot could be held indefinitely by adding and removing.
The mechanism already exists. What is left is whether the cap applies to the hold or only to the purchase, because it is the hold that does damage on 6 September.
Buy a Glamcamp package and you are in GlamCamp. So the area step is information rather than a choice, and three steps become two for everyone. A guest who wants to be elsewhere has to change product, and the screen should say that rather than simply refuse.
What happens if the guest switches area midway? Are the held spots released immediately, or kept? I would keep them.
Gul er en anden gæst der står midt i sit køb lige nu, grå er solgt. Uden den forskel får den der taber kapløbet ingen forklaring, kun en fejlbesked på en plads der var ledig for et øjeblik siden.
XL-pladser fylder dobbelt, og det skal ses på kortet frem for at stå i en tekst. En gæst der har købt XL må kun kunne vælge en XL-plads, så størrelsen filtrerer kortet på samme måde som området gør.
Fordi produktet låser området, står gæsten kun med zone og plads. Åbn på den første zone der har plads, så den der bare vil sove et sted klarer sig med ét tryk, og lad den der har en mening arbejde sig ned.
Kassernen, Kompagniet og GlamCamp siger intet til en der ikke har været der før. Det er billedet og den ene linje der afgør valget, og derfor er område-trinnet kort med foto frem for en liste. Linjerne her er pladsholdere: forskellen på de to campingområder skal skrives af nogen der kender pladsen.
Camping er det eneste knappe, så det er det eneste der reserveres. To partout i kurven holder ikke lager for nogen.
Kurven tømmes ikke, og uret nulstilles ikke. Ellers kan en plads holdes i det uendelige ved at tilføje og fjerne.
Mekanikken findes allerede. Tilbage står om loftet gælder reservationen eller først købet, for det er reservationen der gør skade den 6. september.
Køber du en Glamcamp-pakke, ligger du i GlamCamp. Så område-trinnet er en oplysning, ikke et valg, og de tre trin bliver til to for alle. Vil gæsten et andet sted hen, skal de skifte produkt, og det skal skærmen sige frem for bare at spærre.
Hvad sker der hvis gæsten skifter område midtvejs? Frigives de reserverede pladser med det samme, eller holdes de? Jeg anbefaler at holde dem.
Alt betales med Beats. Kortet bruges kun til at tanke op. Har gæsten nok, er købet ét tryk. Mangler der noget, tankes der op og betales i ét forløb, uden at gæsten skal tage stilling to gange.
Everything is paid in Beats. The card only tops up the wallet. With enough Beats the purchase is one tap. If the balance falls short, one single flow tops up and pays, without asking the guest to decide twice.
The order has to carry area, zone and number. B-14 on its own is ambiguous, because every zone has its own run of numbers and two guests can hold the same number in different areas. That follows all the way out: receipt, ticket, wallet pass and the gate.
A ticket is always bought with Beats. The card never touches the ticket, it only fills the wallet. Same model as on site, where food and drink are Beats-only too.
With enough Beats the purchase is one tap and no bank at all. Short of Beats it is one flow that tops up and pays. The guest does not top up, find their way back and then buy.
They now apply to the top-up. They replace the three bank steps with one, because approval happens in the payment sheet rather than in a redirect. It is the only meaningful shortening still available.
Not in signup. Only once a card is stored is there something to protect, and then the question makes sense. That is the whole point of LCAP-1733.
We do not take the spot from someone standing in the middle of a payment. The clock stops when payment starts and resumes only if the guest returns without having paid. The freeze needs a cap, or an abandoned payment holds the spot forever.
When the card was an alternative route, Beats was a shortcut. Now Beats is the only route, so without LCAP-1645 and LCAP-1752 there is no sale at all. There is no switch left to flip. They have to be finished, not prioritised.
Short by 4,485 means topping up 4,500 and keeping 15. Both numbers have to be shown before the guest commits, or the 15 reads as a hidden fee rather than change.
What if the top-up succeeds but the purchase fails? The spot may have gone meanwhile. The guest is left holding Beats they never asked for, and a support case. This is the most important error path in the flow.
Ordren skal bære område, zone og nummer. B-14 alene er tvetydigt, for hver zone har sin egen række numre, og to gæster kan ende med samme nummer i hvert sit område. Det gælder hele vejen ud: kvittering, billet, wallet-pass og porten.
Billetten købes altid med Beats. Kortet rører aldrig billetten, det fylder kun wallet'en op. Det er den samme model som på pladsen, hvor mad og drikke også kun kan betales med Beats.
Har gæsten nok, er købet ét tryk uden bank. Mangler der noget, er det ét forløb der tanker op og betaler. Gæsten skal ikke først tanke op, finde tilbage og så købe.
De gælder nu optankningen. De erstatter de tre bank-trin med ét, fordi godkendelsen sker i betalingsarket. Det er den eneste tilbageværende afkortning af betydning.
Ikke i oprettelsen. Først når der gemmes et kort, er der noget at beskytte, og så giver spørgsmålet mening. Det er hele pointen i LCAP-1733.
Vi tager ikke pladsen fra en der står midt i en betaling. Uret stopper når betalingen starter og genoptages kun hvis gæsten kommer tilbage uden at have betalt. Der skal være et loft på frysningen, ellers holder en afbrudt betaling pladsen for evigt.
Da kort var en alternativ vej, var Beats en genvej. Nu er Beats den eneste vej, så uden LCAP-1645 og LCAP-1752 er der intet salg overhovedet. Der er ikke længere en kontakt at slukke på. De to skal i hus, ikke prioriteres.
Mangler du 4.485, tanker du 4.500 og beholder 15. Begge tal skal stå, før gæsten trykker, ellers ligner de 15 et skjult gebyr frem for byttepenge.
Hvad hvis optankningen lykkes, men købet fejler? Pladsen kan være taget i mellemtiden. Så sidder gæsten med Beats de ikke bad om, og en support-sag. Det er den vigtigste fejlvej i hele flowet.
Den her skærm skal ikke bygges. LCAP-1746 blev afgjort den 13. august: der er ingen aldersgrænse på købet, så profilen kræves ved kurven og oprettelsen ligger på 02. Skærmen bliver stående, fordi den er grunden til at vi ved hvad den anden vej kostede.
This screen is not to be built. LCAP-1746 was settled on 13 August: there is no age gate on the purchase, so the profile is required at the basket and signup lives on 02. The screen stays here because it is the reason we know what the other route would have cost.
Fewer guests are asked to sign up at all, and only once they are sure they want to buy. The one who browses and leaves is never asked. That is a real argument, and it is why the decision is not obvious.
The MitID round trip sits inside the reservation window. The guest comes back with under three minutes to finish, and a card top-up is three more steps out at the bank.
And since everything is paid in Beats, the whole amount has to be topped up inside whatever window is left. The one-tap purchase from 04 does not exist for that guest at all.
Unlike the storefront components, this is where state is stored, not whether something is shown. It cannot be flipped on the day of the sale.
The freeze at the bank is decided. Pick 04b and it has to be extended over the MitID trip as well, or the spot expires in the middle of a signup we asked for. Longer pause, same mechanic, and the cap matters more.
Færre bliver overhovedet bedt om at oprette sig, og først når de er sikre på at ville købe. Den der kigger og går, bliver aldrig spurgt. Det er et rigtigt argument, og det er derfor beslutningen ikke er givet.
MitID-turen ligger inde i reservationsvinduet. Gæsten kommer tilbage med under tre minutter til at finde kortet frem, og en kortbetaling er tre trin ude hos banken.
Og da alt betales med Beats, skal hele beløbet tankes op inde i det vindue der er tilbage. Ét-tryk-købet fra 04 findes slet ikke for den gæst. Første gang er altid den langsomste, og her lægger vi den også sidst.
Til forskel fra komponenterne på kataloget er det her hvor tilstanden gemmes, ikke om noget vises. Den kan ikke slås om på salgsdagen.
Frysningen hos banken er afgjort. Vælges 04b, skal den udvides til også at dække MitID-turen, ellers udløber pladsen midt i en oprettelse vi selv har bedt om. Længere pause, samme mekanik, og loftet bliver vigtigere.
Gæsten kommer tilbage fra banken direkte hertil. Det er her pakken opløses, billetterne bliver til noget der kan gives videre, og mersalget får sin anden og bedre placering.
The guest comes back from the bank straight to this page. It is where the package dissolves, where the tickets become something that can be handed on, and where the upsell gets its second and better placement.
The summary on the right still says Glamcamppakke, because that is what the guest paid for. But the tickets are three separate products, and from here the package does not exist: not in the wallet, not in a hand-over, not in a resale.
Recipients are written on after payment, never during. A group buyer should not be hunting for four email addresses while the clock runs. That is LCAP-1731.
No clock is running and the purchase is done. It is the only place we can suggest something without competing with our own countdown.
Tickets live on the profile, but the app is what shows them and carries the wristband. So the web receipt is also where the app gets downloaded, not an email three days later.
With a Beats payment that is instant. The rule only bites while a card top-up is still in flight, and then the button has to explain why it is waiting rather than disappear.
What does the camping spot say when it cannot be handed on? It belongs to the plot, not to a person. Right now it reads as Yours, but it behaves differently from the two partouts.
Opsummeringen til højre siger stadig Glamcamppakke, fordi det er det gæsten betalte for. Men billetterne er tre selvstændige produkter, og fra nu af findes pakken ikke: hverken i Wallet, ved overdragelse eller ved videresalg.
Modtagerne skrives på efter betalingen, aldrig undervejs. En gruppekøber skal ikke finde fire mailadresser frem mens uret løber. Det er LCAP-1731.
Her løber der intet ur, og købet er i hus. Det er det eneste sted vi kan foreslå noget uden at konkurrere med vores egen nedtælling.
Billetterne bor på profilen, men det er appen der viser dem og bærer armbåndet. Kvitteringen på web er derfor også stedet hvor appen skal hentes, ikke en mail tre dage senere.
Med Beats-betaling er det øjeblikkeligt. Reglen bider kun, når en kort-optankning stadig er undervejs, og så skal knappen forklare hvorfor den venter frem for at forsvinde.
Hvad står der på campingpladsen når den ikke kan gives videre? Den hører til pladsen, ikke til en person. Lige nu står den som Din, men den opfører sig anderledes end de to partout.
Modtagerne skrives på efter betalingen. Valget mellem gæsteliste, overdragelse og ledsager lå på ordren, så der er kun én handling her: send billetten til en navngiven person. Appen viser privatkøbet, web viser erhvervsordren.
Recipients are written on after payment. The choice between guest list, hand-over and companion was made on the order, so there is only one action here: send the ticket to a named person. The app shows the private purchase, the web shows the company order.
The buyer never sees a choice between two concepts. Guest list or hand-over was settled at ordering, and an order can never contain both. A guest list order therefore has no screen here at all.
A companion, child or adult, lives on the guest's own ticket and can never be handed on. While a companion is attached, the ticket cannot be sent to anyone. That is why row 01 is locked.
It belongs to the plot rather than to a person, and is shared by whoever sleeps there. It is in the list so it can be seen, not so it can be sent.
Only handed-on tickets can be listed, because they are the only ones with an owner to sell from. And the seller and the buyer both have to be verified, because that is where money moves between two strangers. LCAP-1771.
The company owns the tickets and has to move one when someone leaves. On a private order it is the recipient’s once claimed, and the buyer should not see the button at all.
What happens to a companion who never turns up? The place is paid for and the ticket stays locked throughout. Should the host be able to remove the companion and free their own ticket for hand-over?
Køberen ser aldrig et valg mellem to begreber. Gæsteliste eller overdragelse blev afgjort ved bestillingen, og en ordre kan aldrig indeholde begge dele. Gæsteliste-ordrer har derfor slet ingen skærm her.
En ledsager, barn eller voksen, lever på gæstens egen billet og kan aldrig overdrages. Så længe der hænger en ledsager på billetten, kan den ikke sendes videre. Det er derfor række 01 er låst.
Den hører til pladsen, ikke til en person, og deles af dem der sover der. Den står med i listen for at kunne ses, ikke for at kunne sendes.
Kun overdragede billetter kan sættes til salg, for de er de eneste med en ejer at sælge fra. Og både sælger og køber skal være verificeret, fordi det er dér penge flytter sig mellem to fremmede. LCAP-1771.
Firmaet ejer billetterne og skal kunne flytte en, når en medarbejder stopper. Privat er den modtagerens, når den er hentet, og køberen skal slet ikke se knappen.
Hvad sker der med en ledsager der aldrig dukker op? Pladsen er betalt og billetten er låst hele vejen. Skal værten kunne fjerne ledsageren igen og dermed frigive sin egen billet til overdragelse?
Uden kø er der ingen der holder trykket tilbage, så det her er ikke hjørnetilfælde. Alle fire siger det samme tre ting: hvad der skete, hvad der ikke gik tabt, og én vej videre. Ingen af dem er en blindgyde.
With no queue holding the pressure back, these are not corner cases. All four say the same three things: what happened, what was not lost, and one way forward. None of them is a dead end.
What happened, what survived, one way forward. The middle one is the part that is usually missing, and it is the one that decides whether the guest tries again or closes the tab.
The guest already holds the Beats, so a second attempt is one tap with no bank at all. The failure accidentally put them in the fast lane. That is worth saying on the screen rather than hiding it.
The other three follow from decisions already made. This one is the open question on LCAP-1752, and drawing it is the quickest way to force the answer.
The topped-up Beats stay on the account, and a refund is offered rather than assumed. The guest now holds enough to retry in one tap, and the screen should say so.
Sold out now means two things. The pool can be empty, or the slice set aside for that particular product can be empty while tickets remain. So a package can be sold out at the same moment the standalone ticket is not. The guest should not meet two messages that look alike and mean different things. LCAP-1790.
Hvad der skete, hvad der overlevede, én vej videre. Den midterste er den der plejer at mangle, og det er den der afgør om gæsten prøver igen eller lukker fanen.
Gæsten har allerede sine Beats, så andet forsøg er ét tryk uden bank overhovedet. Fejlen har utilsigtet sat dem i overhalingsbanen. Det er værd at sige på skærmen frem for at skjule det.
De tre andre følger af beslutninger vi allerede har taget. Den her er det åbne spørgsmål på LCAP-1752, og at tegne den er den hurtigste måde at tvinge svaret frem.
De trukne Beats bliver på kontoen, og retur er et tilbud frem for standarden. Gæsten har nu nok til at prøve igen med ét tryk, og det skal skærmen sige.
Udsolgt betyder nu to ting. Puljen kan være tom, eller den skive der er sat af til lige det produkt kan være tom mens der stadig er billetter tilbage. En pakke kan altså være udsolgt samtidig med at enkeltbilletten ikke er. Gæsten skal ikke se to beskeder der ligner hinanden og betyder noget forskelligt. LCAP-1790.
På en ordre med tolv billetter er de elleve modtagere nye brugere. Det gør den her flade til vores største signup-tragt, større end selve butikken. Og modtageren har ikke købt noget, så tålmodigheden er mindre end køberens.
On a twelve-ticket order, eleven of the recipients are new users. That makes this surface our largest signup funnel, larger than the storefront itself. And the recipient bought nothing, so their patience is thinner than the buyer's.
Mette Jensen har sendt dig en Partout til Ringsted Festival 2027, torsdag til lørdag.
Most people who ever create a LiveCloud profile will do it from this page, not from a purchase. Whatever we make short here pays off eleven times per company order.
The recipient did not decide to buy anything. They were given something, and a long signup reads as a demand rather than a step. That is why MitID has to be one tap here above all.
The token in the link carries the access, so anyone with a MitID account can claim it. The recipient's own email does not have to match the one it was sent to.
Recipients who never claim leave the buyer chasing colleagues. Every step removed here is one fewer reminder someone has to send.
Should the recipient see the ticket before signing up? The buyer may see products before being asked for a profile. The same argument applies here, and it is drawn that way.
What if the recipient opens the link on a desktop? They can claim it, but the wristband lives in the app. Somewhere they have to be moved to the phone, and the receipt pattern from 05 is the obvious place.
De fleste der nogensinde opretter en LiveCloud-profil, gør det fra den her side og ikke fra et køb. Alt vi gør kortere her, betaler sig elleve gange pr. erhvervsordre.
Modtageren har ikke besluttet at købe noget. De har fået noget forærende, og en lang oprettelse føles som et krav frem for et trin. Derfor skal MitID være ét tryk netop her.
Token'et i linket bærer adgangen, så enhver med en MitID-konto kan hente billetten. Modtagerens egen mail behøver ikke matche den, der blev sendt til.
Modtagere der aldrig henter, efterlader køberen med at rykke sine kolleger. Hvert trin vi fjerner her, er en påmindelse færre nogen skal sende.
Skal modtageren se billetten før de opretter sig? Køberen må se produkter, før vi beder om en profil. Samme argument gælder her, og sådan er den tegnet.
Hvad hvis modtageren åbner linket på en computer? De kan godt hente den, men armbåndet bor i appen. Et sted skal de flyttes over på telefonen, og mønsteret fra kvitteringen på 05 er det oplagte.
Det er ikke et venteværelse, for der er ingen kø. Det er en forberedelsesside, og uden kø er det at flytte arbejde hen før klokken ti det eneste greb vi har tilbage.
This is not a waiting room, because there is no queue. It is a preparation page, and with no queue, moving work to before ten o'clock is the only lever we have left.
The queue was deferred, so nothing throttles the moment itself. Everything this page moves to the day before is load that never arrives at ten o'clock.
Profile, Beats, saved card. Each one removes a step from the minute that matters, and a guest with a balance never touches Swedbank at all.
Twenty thousand clients whose countdown flips at 10:00:00 are their own denial of service. Spread the opening with a small random delay per client, a few seconds wide. Nobody notices, and the origin sees a ramp instead of a wall. This belongs with LCAP-1717 and LCAP-1763.
A number creates panic when there is no queue to make it fair. Without a queue, telling people they are competing only makes them refresh.
What time does it actually open? The date is 6 September, a Sunday. The time is not set, and it decides the standby roster.
How early does this page go up? It only earns its keep if people see it in time to top up, which means weeks rather than days, and it depends on LCAP-1752 being verified first.
Køen blev udsat, så der er intet der bremser selve øjeblikket. Alt hvad den her side flytter hen til dagen før, er belastning der aldrig når frem klokken ti.
Profil, Beats, gemt kort. Hver af dem fjerner et trin fra det minut der betyder noget, og en gæst med saldo rører slet ikke Swedbank.
Tyve tusind klienter hvis nedtælling flipper 10:00:00 er selv et angreb. Spred åbningen med en lille tilfældig forsinkelse pr. klient, få sekunder bred. Ingen opdager det, og serveren ser en rampe frem for en mur. Det hører sammen med LCAP-1717 og LCAP-1763.
Et tal skaber panik, når der ikke er en kø til at gøre det retfærdigt. Uden kø gør det kun at folk opdaterer, hvis vi fortæller dem at de konkurrerer.
Hvad er klokkeslættet? Datoen er søndag den 6. september. Tidspunktet er ikke sat, og det afgør vagtplanen.
Hvor tidligt kommer siden op? Den tjener kun sit formål, hvis folk ser den i tide til at tanke op, altså uger frem for dage. Og den forudsætter at LCAP-1752 er verificeret først.
Vi tegnede oprettelsen på 02. Det her er søsteren. I dag er de den samme komponent, og det er hele fejlen: en førstegangskøber bliver bedt om at logge ind på en konto de aldrig har haft.
We drew signup on 02. This is its sibling. Today they are the same component, and that is the whole bug: a first-time buyer is asked to log in to an account they have never had.
Today /register and login render the same thing, and that component already carries five other jobs: guest login, staff enrolment with CPR, MitID address to FMS, invite landings and the return from contract signing. Signup must not become the sixth.
Existing users used to be sent through a PIN that is never used again. It cost a step and protected nothing. After LCAP-1733 the lock is Face ID, and it only exists once a card has been saved.
The MitID callback has eleven different ways to fail, and they all come back here. The screen everyone hits at once is also the one with the most failure modes converging on it, which makes its error copy worth more than its layout.
Should a wrong turn be forgiving? Someone who has never bought before will press Log in anyway. Recognising an unknown email and offering signup on the spot is cheap, and it catches the mistake the current design creates.
I dag renderer /register og login det samme, og den komponent løser allerede fem andre opgaver: gæste-login, medarbejder-enrollment med CPR, MitID-adresse til FMS, invitations-landinger og returvejen fra kontraktsignering. Oprettelsen skal ikke være den sjette.
Eksisterende brugere blev før sendt gennem en PIN der aldrig bruges igen. Den kostede et trin og beskyttede ingenting. Efter LCAP-1733 er låsen Face ID, og den findes kun når der er gemt et kort.
MitID-callbacket har elleve forskellige måder at fejle på, og de kommer alle tilbage hertil. Den skærm alle rammer samtidig, er også den med flest fejlveje samlet, og derfor er dens fejltekster vigtigere end dens layout.
Skal en forkert indgang være tilgivende? Den der aldrig har købt før, trykker Log ind alligevel. At genkende en ukendt mail og tilbyde oprettelse på stedet er billigt, og det fanger præcis den fejl det nuværende design skaber.
Den skærm gæsten kigger mest på, og den eneste de bruger på pladsen. Der er ingen web-udgave: billetten bor på profilen, men det er appen der viser den og bærer armbåndet.
The screen the guest looks at most, and the only one they use on site. There is no web version: the ticket lives on the profile, but the app is what shows it and carries the wristband.
At home it answers what you have and what you can do with it. At the gate it does one thing only. The gate state should have no actions on it at all, because everything else is a way to press the wrong thing with a queue behind you.
Sofie is on the ticket, not on one of her own, and that is why the ticket cannot be handed on. Saying it here is what makes the lock on screen 06 make sense rather than look like a bug.
LCAP-1476, which sits after the sale. Until it does, a guest who bought a numbered spot has no way to see which one they got outside the receipt.
Does it work with no signal? Twenty thousand people in one field is the worst network in Denmark that weekend. The credential has to be readable offline, and that is a design requirement rather than a nice-to-have.
QR is the fallback, and that is a promise rather than a note: every gate has to handle QR just as reliably, because it is what people fall back on.
Hjemmefra svarer den på hvad du har, og hvad du kan gøre med det. Ved porten gør den kun én ting. Porte-tilstanden bør slet ikke have handlinger på sig, for alt andet er en måde at trykke forkert på med en kø bagved.
Sofie står på billetten og ikke på sin egen, og det er derfor billetten ikke kan gives videre. At sige det her er det der gør låsen på skærm 06 forståelig frem for at ligne en fejl.
LCAP-1476, som ligger efter salget. Indtil da har en gæst der har købt en nummereret plads ingen måde at se hvilken de fik, ud over kvitteringen.
Virker den uden net? Tyve tusind mennesker på én mark er Danmarks dårligste netværk den weekend. Adgangsbeviset skal kunne læses offline, og det er et designkrav frem for en bonus.
QR er reserven, og det er et løfte og ikke en note: hver port skal håndtere QR lige så sikkert, for det er den man falder tilbage på.
Her tjener LiveCloud sine penge, og her er de eneste to fremmede i hele rejsen. Prisen er den samme som en ny billet, gebyret trækkes fra sælgers udbetaling, og begge parter skal have MitID.
This is where LiveCloud earns, and the only place two strangers meet. The price matches a new ticket, the fee comes out of the seller's payout, and both parties need MitID.
A resold ticket costs what a new one costs. That removes touting in one stroke, and it is why the fee has to come out of the payout: add it on top and the resold ticket is dearer than a new one, and nobody uses the marketplace.
It is a bundle of three days, and the seller chooses whether to sell it whole or day by day. That is the only bundle that survives the purchase, and the reason single days exist here but not in the public catalogue.
LCAP-1771. It is the one place money moves between two strangers, which is what the fee pays for. An email-only guest sees this surface but cannot act on either side.
Withdrawing a listing does not touch the ticket, and a sold listing has to disappear from the list immediately. Both have been bugs before.
The percentage is not set. Five percent is drawn here, which is 95 kr on a partout. It is decided together with the subscription amount in LCAP-1726, and it is the number that makes this screen worth building.
Is the payout Beats or money? Drawn as Beats, which keeps it inside the wallet and matches everything else. Cashing out to a card exists, so the seller has a route, but it is one more step and it should be a deliberate choice.
En videresolgt billet koster det samme som en ny. Det fjerner sortbørsen i ét hug, og det er derfor gebyret skal tages af udbetalingen: lægges det oveni, bliver den videresolgte billet dyrere end en ny, og så bruger ingen markedspladsen.
Den er en bundle af tre dage, og sælgeren vælger selv om den skal sælges hel eller dag for dag. Det er den eneste bundle der overlever købet, og grunden til at enkelte dage findes her og ikke i det offentlige katalog.
LCAP-1771. Det er det ene sted hvor penge flytter sig mellem to fremmede, og det er det gebyret betaler for. En gæst med kun e-mail kan se fladen, men kan ikke handle på nogen af siderne.
At trække en annonce tilbage rører ikke billetten, og en solgt annonce skal forsvinde fra listen med det samme. Begge dele har været fejl før.
Procenten er ikke sat. Her er tegnet fem procent, altså 95 kr på en partout. Den afgøres sammen med månedsbeløbet i LCAP-1726, og det er det tal der gør skærmen værd at bygge.
Udbetales der Beats eller penge? Tegnet som Beats, hvilket holder det inde i wallet’en og passer med alt andet. Der findes en vej ud til kortet, så sælgeren er ikke fanget, men det er et trin mere og bør være et bevidst valg.