WS2 · WS2-APP-SHELL-LIVE
A business owner, an accountant and a claims handler used to share one strip of six links, so no screen could say whose screen it was. Each of them now has their own, and this is where you pick which one to be.
Everything on this page is reachable signed out and belongs to nobody: four fictional businesses, and the choice of which person to look as living in the address bar. That is what the three cards below describe, and it is still exactly how the demo works. There are also accounts now, and three things change when a business is on one. Its register is kept against it rather than in a link. A ledger read against it leaves behind what it proved: the run rates, and the register lines it found, carrying the date they were true. And it can connect FreeAgent, which is the one accounting integration that exists, so the books can be read again without anybody choosing a file. A bank export is still read in the request that carried it and thrown away, which is the promise that does not move and which a connection did not change, and the only rows of one that outlive the request are the ones that bought something you own. What a connection does keep, and nothing else here ever has, is a credential: a FreeAgent refresh token, encrypted, which you delete here and revoke at FreeAgent.
The URL is the session, on these screens
Choosing a person and a subject is what signing in means here, and both live in the address. Send somebody a link and they arrive as the same person, looking at the same company, with the same register edits. Coming back to this page is signing out.
A screen always names its subject
Open one without a company and it redirects to the default rather than picking one quietly. An implicit subject is how the old navigation changed company without anyone clicking on a company.
Every link keeps it
Navigation is built per request, not from a constant, so the company and the edits ride on every item in the strip. A list that is the same on every request cannot do that, which is why splitting the shells needed more than swapping an array.
One sentence per screen, naming the person and the one thing they came to do. These sentences are the registry the navigation is built from, so a screen cannot exist here and be missing from the product, or the other way round.
Shell
One person, and the businesses on their account. The only shell whose subject is not chosen from a URL: it is whoever the session says you are.
| Screen | Who it is for, and what they came to do | Rebuilt by |
|---|---|---|
|
Home
/app
|
The account holder, seeing everything on their account and whether any of it needs them today. | P1 |
|
Sign in
/login
|
Someone who already has an account, getting back to their own businesses. | P1 |
|
Create an account
/signup
|
Someone who has seen the demo and wants the engine pointed at their own business. | P1 |
Shell
One business, looking at itself. Everything here is about the company named in the bar, and every link keeps it.
Go in as
| Screen | Who it is for, and what they came to do | Rebuilt by |
|---|---|---|
|
Audit
/audit
|
The business owner, finding out what their own books say they need and what it would cost. | WS3 |
|
Register
/register
|
The business owner, keeping the list of what they own straight, because a claim is paid against it. |
WS4
Needs a company in the URL
|
|
Ledger
/connect
|
The business owner, connecting the books the audit runs on and seeing when they were last read. |
P5
Needs a company in the URL
|
|
Claim
/claim
|
The business owner, reporting a loss against the register they already keep. |
WS5
Needs a company in the URL
|
|
Your cover
/dashboard
|
The business owner, seeing where their cover stands today and what moved since anyone last looked. |
WS7
Needs a company in the URL
|
|
Agent
/agent
|
The business owner, letting an assistant act for this business and deciding what it may do. |
WS8
Needs a company in the URL
|
Shell
One practice, looking at its whole client book. A client opened from here stays in the accountant's chrome, because reading a client is not the same job as being one.
Go in as
| Screen | Who it is for, and what they came to do | Rebuilt by |
|---|---|---|
|
Client book
/practice
|
The accountant, working out which client to phone first. | WS6 |
|
Client
/audit
|
The accountant, reading one client's findings before making that call. |
WS3
Needs a practice in the URL
|
Shell
A queue of open cases and the one being worked. WS5 built the queue the shell was promised: it holds four, one per seeded business, because four is how many the engine produces.
| Screen | Who it is for, and what they came to do | Rebuilt by |
|---|---|---|
|
Queue
/claims
|
The claims handler, deciding which open case to pick up, which is the one they can finish rather than the one worth most. | WS5 |
|
The case
/handler
|
The claims handler, deciding a claim that arrived with the facts and the items already attached. |
WS5
Needs a case in the URL
|
Shell
The pages that belong to no one person: the way in, the way to change person, and the two surfaces built for whoever is building this.
| Screen | Who it is for, and what they came to do | Rebuilt by |
|---|---|---|
|
Home
/
|
Someone who has never heard of Pickle, deciding whether to run an audit. | no rebuild planned |
|
Search
/search
|
Someone who typed a company name and has to say which of the companies with that name is theirs, before anything is audited. | no rebuild planned |
|
Views
/map
|
Anyone, choosing which of the three people to look as. This page is what signing in means here. | no rebuild planned |
|
Design
/design
|
Whoever is building the next screen, deciding what it should be made of. | no rebuild planned |
|
Address book
/book
|
Anyone with a postcode and no permission, seeing which companies file at one address, reading what each of their own accounts filed, being told who may contact each of them and on what footing, and, signed in as a practice, getting the message about one of them to send itself. |
P8
Needs a postcode in the URL
|
|
Run sheet
/run-sheet
|
The presenter, driving the demo in order with every figure read from the engine. | no rebuild planned |
|
Sample product page
/sample-product
|
The presenter, needing a product page to paste into the register when no real shop will answer. | no rebuild planned |
|
Partner embed
/partner-demo
|
A partner, seeing what the audit looks like dropped into their own page. | no rebuild planned |
|
Embedded audit
/embed/audit
|
The partner's own customer, reading an audit inside a frame that is not ours and says so. |
no rebuild planned
Needs a company and a partner in the URL
|
A login on these four shells
There are accounts, at /signup, and a business that signs in keeps its register, what its ledger proved, and the keys it hands out. What the four shells above deliberately do not have is a login, because they are about fictional businesses that belong to nobody: the URL is the session, and choosing a person and a company is the whole of what signing in means here. That is why a key for one of these is a signed sentence naming the business, good for twelve hours, which nobody can take back: nothing writes it down, and there is nobody it belongs to. A key for a business on an account is the other thing. It is a row that account holds, it says when it was last used, and its owner ends it whenever they like.
A sidebar
None of these three people has enough screens to need one, and building a console frame because consoles have console frames is how the last three deleted layouts got built. The strip fits, so the strip stays.
Prototype. The four businesses and the practice are fictional and their transactions are synthetic. Any link on this page opens the same engine every other surface runs on.