Desperate Times, call for desperate measures
Maybe it's time to just go to a real shop, the online ones were going to charge delivery anyway.
Well he has find one close by, lucky google maps has a convenient local search with a google maps directly in the search results.
It's a tough call, Joe is pretty lazy, but they are two blocks away and there are time pressures.
Joe, finally gives up at this stage, reaches for his iphone and checks for nearast jean shops to his current location...
A chance discovery: "SlickJeanService"
Well today might be his lucky day after all. Just around the corner is another shop he didn't even see on his search results.
They must have been further down the page.
He enters.
Apparently in order to streamline their business process they have instituted a new protocol.
This will make the shopping experience faster, apparently...
Except Joe has to learn and memorise the new protocol/commands to GET what he is after.
It looks kind of like a Noodle Bar setup, you know there are 3 steps, first step is to pick your noodle type, second step is soup/laksa...
Well that is different thinks Joe, I don't really know what I want yet, I'd like it to be like my last pair, I don't even really know how to describe them, I just know what I like.
He'll give it ago. Inside there are more signs about how you can not deviate from this one path of conversation, any attempt to discuss with a Shop Assistant, results in redirection back to the beginning of the path.
Joe is getting mad, he has to learn a different way of just getting into a queue, let alone work out how to ask for jeans when he can barely describe what he is looking for.
Too much thinking, must leave... Lucky every shop doesn't work like this, that is way too much work for lazy joe, on to the next shop...
Be careful what you ask for
The next nearest shop to him is "JeanStop".
He is tired of wasting his time and heads to the next shop...
All I want is a pair of jeans
Location: "HowMuchAreThoseJeansinTheWindow"
It is really busy in here there are about 4 to 1 customers to shop assistants.
At this shop however they are quickly flitting about between customers taking new requests and it isn't long before Joe gets some attention.
So what does this have to do with REST anyway
Did Joe finally get his pair of jeans?
Well that doesn't matter too much, when we are here to talk about REST.
If you stuck to the script, you've already seen a lot of evidence that REST describes and some that it doesn't.
By far the best experience Joe had was at the last Location "HowMuchAreThoseJeansinTheWindow".
This shop embodied most of the important constraints of REST and it was this shop that seemed the most scalable, just like the architecture of the Web. Only a few Shop Assistants serving many customers.
The first enablers for this ability is for clients to be able to identify what they want (Universal Addressability), eg. Joe pointing his finger in the catalog will be understood by any of the Shop Assistants. Secondly our Shop Assistants are Stateless, that is they can suspend conversations with one client and switch to servicing another, without the need of them to remember anything specific to a particular client or conversation.
Stateful components make integration a complex and expensive proposition, see: "JeansRUS".
The other great thing about that shop, was the way the assistants guided the client, they always answered questions and gave a choice of other available options.
They also talked in a standard manner (Uniform Interface), unlike "SlickJeanService" that tried to force new ways of doing things for the sake of their one store.
If we combine these features we make it really easy for a client like Joe to talk to our Shop Assistants.
- So all Joe needs to know is:
- where the front door is
- negotiate preferred content
- how to ask questions
- how to follow options
Stay Tuned
We leave Joe, with a new pair of Jeans.
See part one for RESTful Architecture Style Distilled: Joe goes Jeans Shopping- Part One (Online Experiences) .
Join us next time for Part Three when we dissect the story further.
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.