- From: Andrew Hacking <ahacking@gmail.com>
- Date: Sat, 7 Mar 2015 20:29:02 +1000
- To: Jacopo Scazzosi <jacoposcazzosi@gmail.com>
- Cc: public-hydra@w3.org
- Message-ID: <CAMAVcL_8aUEjhv4t-13k-rSkeMHWjzBdFh7raZE32v3RCxHGwQ@mail.gmail.com>
Jacopo, Tomasz, I agree with you both. The building blocks are what I expect and nothing more. Hydra collections do not meet my basic use cases and I won't be using Hydra when it dictates things I don't want. Defining paged serial access collections like its the 1990s will be just one reason why an ill fitting standard to be like Hydra will be ignored by the majority of the development community. To illustrate why that will be its fate, I for one surely cannot and will not recommend Hydra when it doesn't align with the basic requirements of a modern application ... requirements and rationales which I have detailed a number of times, just to see the discussion rewound back to 'let's do simple 1990s serial access paged collections'. Great, ignore the requirements of modern applications and you automatically fail 99% of where the action is. When a developer looks at Hydra they will see a collection design that doesn't align with their requirements. They then have to ask themselves do I fight it and implement 'non standard' collections out of necessity, and then face being non-standard and issues with toolkits and libraries? The lowest risk approach is to simply use something else; if you can't comply with the collection design in Hydra because it doesn't serve use basic usability which we have ALL come to expect in modern applications then why bother at at all? ... Developers will avoid using Hydra, they will not make a rod for their back if Hydra goes against the grain of how they need to consume large collections and related resources efficiently to avoid 1+N queries. The future of describing modern web APIs does not appear to be based on anything related to Hydra when it takes such a naive approach to collections. Better to say nothing than the current proposal. The conclusion I have reached is Hydra does not work for describing APIs for modern applications and seems to have no charter to do so. Its unstated use case appears to be what works best for the generic Hydra console UI (since that is single resource at a time client as per Roy Fielding's paper and not intelligent, or able to consume multiple resources from multiple endpoints simultaneously and is unable to handle offset/limit or random access to a collection but just prev/next actions like the 1990s. The objective of Hydra is to give dumb clients dumb transitions where the resource is the tail wagging the dog). There is little value pursuing that objective for most of the developer community who build intelligent clients with friendly UIs where transitions are DESIGNED; with UIs that users actually want to use; touch based interfaces where random access to collections is needed and avoidance of 1+N queries for related information; with state being a mash up of multiple resources from multiple endpoints and services. If any of that sounds advanced, its not, its what your smart phone or tablet does day in day out using JSON based apis that are NOT described using Hydra. I will now spend my efforts on more productive outcomes rather than the naive approaches and proposals embodied in Hydra. In internet terms the early 1990s was a long time ago, Hydra needs to be relevant not just for today's clients and APIs but where things are headed and I see little recognition of that in the proposals. Best of luck to you all, I'm done here. On 7 Mar 2015 05:32, "Jacopo Scazzosi" <jacoposcazzosi@gmail.com> wrote: > Hello Tomasz. > > I must have missed your emails, sorry about that. > > any kind of collection (or partial view) could be modeled with simple >> building blocks like Operations and Links > > > I completely agree. I think Hydra should provide a way to describe HTTP > APIs without trying to dictate the semantics of their data structures. To > me, it feels as if this is either already possible or close enough. > > Coming up with a standard approach to ld-collections feels like an > orthogonal concern. > > > > > -- > > Jacopo Scazzosi > Developer > http://www.jacoscaz.com > > On Fri, Mar 6, 2015 at 6:48 PM, Tomasz Pluskiewicz <tomasz@t-code.pl> > wrote: > >> Hi Jacopo >> >> These is exactly what I have been trying to say some time last month. I >> think that we are going into specific design of a collection. My point was >> similar, that any kind of collection (or partial view) could be modeled >> with simple building blocks like Operations and Links. Any specialized >> terms sometimes seem a little out of place in a general-purpose hypermedia >> vocabulary I think Hydra is. >> >> On the other hand non-linked hypermedia approaches all sport some notion >> of a collection, though I would very much draw any conclusion from that >> simple fact. >> >> Thanks, >> Tom >> >> >> On 2015-03-06 12:32, Jacopo Scazzosi wrote: >> >>> Hello Thomas. >>> >>> Thanks for the clarification. Isn't playing with lego exactly what we >>> are all doing with RDF vocabularies and ontologies, though? >>> >>> In my learning process I've already encountered quite a few of them >>> (skos, rdf(s), hydra, foaf, xlmns, owl, schema, ...). It already feels >>> like >>> "playing lego" (just as picking and assembling the right components >>> for an API's underlying architecture does). >>> >>> Also, if the goal is to "describe Web APIs" from a practical, >>> what-can-you-do-with-this point of view, then wouldn't Hydra benefit >>> from the separation of concerns obtained by delegating the semantics of >>> collections to dedicated vocabs? >>> >>> I'm absolutely no expert but collections seem to be so context-specific >>> that even you guys are experiencing some difficulties in finding a common >>> ground - hence my considerations. >>> >>> Cheers. >>> >>> >> >> >
Received on Saturday, 7 March 2015 10:29:30 UTC