Mike Amundsen

Mike Amundsen

61p

221 comments posted · 1 followers · following 1

4 years ago @ mca blog ... - mca blog [an online tu... · 0 replies · +3 points

in general, i am not a fan of RPC-style since it lacks state transitions (hypermedia controls) in the resposnes. that means lots of understanding of the implementaiton has to be "baked" into the client app directly (e.g. all the args, returns, URLs, methods, etc.) and changing any of them results in a brokekn client.

but, RPC is still a very popular style for teams that write/release both the client and server at the same time since breaking changes are "cheaper" that way.

6 years ago @ mca blog ... - mca blog [Model Action... · 0 replies · +1 points

the actions i advocate are not implemented as _resouces_. instead they are exposed as affordances: links and forms. and, while it is not clear in this post, i do not advocate for basing external resources on entities. i usually expose resources as state. and, yes, you can "verb" any state<g>.

6 years ago @ mca blog ... - mca blog [Model Action... · 0 replies · +1 points

yep - my go-to pattern right now is to map out the actions and their arguments along with return values. i do this using ALPS right now.

and, when implementing the ALPS description over HTTP/HTML the actions are FORMS. same when using HTTP/Siren and HTTP/Cj (since they already have FORMS built into the media type design. when using HAL, i add the HAL-FORMS spec to get the same features w/o altering the format of HAL.

when using XML in the past, i've used XFORMS. i could also use HAL-FORMS for plain JSON responses, i guess. but i haven't done that yet.

6 years ago @ mca blog ... - mca blog [Model Action... · 0 replies · +1 points

i've got no problems w/ companies adding UX experience to API design teams.

6 years ago @ mca blog ... - mca blog [Model Action... · 0 replies · +1 points

understood.

that epigram is also meant to remind folks of the independence of all those external elements like resources and message models, too.

it doesn't help that most all the tooling we have today leads devs into using resources or data/objects as the primary design element.

it's a challenge!

6 years ago @ mca blog ... - mca blog [Model Action... · 2 replies · +1 points

jobs-to-be-done are usually more than a single act.

ApproveNewCustomer, ValidateUser, ReviewJobCandidates, AcceptNewOrders, etc.

resources on the web are the states, not the actions. actions help us move between states, sometimes through multiple steps.

HTTP methods are not the jobs-to-be-done. and HTTP is not going to be the only protocol for doing work on the WWW or the Internet.

and, even more valuable, the jobs-to-be-done are the same whether you are using RPC, REST, Event-Driven, Query-Driven, or just plain file-transfer style implementations. focusing on the actions means i can make implementation decisions separately -- and repeatedly -- without losing fidelity for the jobs-to-be-done.

7 years ago @ mca blog ... - mca blog [Uber Hyperme... · 1 reply · +4 points

yes, the universew is small ATM and i'm always looking to grow it.

check out https://github.com/uber-hypermedia (it's small right now, but needs some love)

also, ping co-owner https://github.com/inadarei as he is working on some production-level UBER for his startup.

8 years ago @ mca blog ... - mca blog [the next lev... · 0 replies · +1 points

yep - lots of vendors and technologies out there for this space. the last article in the series will have a longer list and i'll make sure that both of the ones you mention are included.

cheers.

9 years ago @ mca blog ... - mca blog [Learning Cli... · 0 replies · +3 points

cool. i'll be looking for reviewers in June/July timeframe and would be happy to include you in the list.

cheers.

9 years ago @ mca blog ... - mca blog [Learning Cli... · 1 reply · +3 points

Einar:

i'll be looking for some added "eyes" and "ears" on the code as the book progresses so -- yes! best way to get invovled is to follow the @LCHBook account and watch the related github repo.

all will be revealed in due time ;)

cheers.