923 karma · joined June 29, 2010
The reason we decided to build our own (there are several out there) is that we wanted to pull all the data a publisher wanted to share, including all the media, and we wanted it to be fast. Specially, we wanted to edge cache that data as aggressively as possible given the source.
Hopefully, others find this useful. Let us know if there are features you'd like to see. We also launched this on RapidAPI, so let us know if you've had good or bad experience using that platform. This is our first API launch, so we're still figuring out the best way to do this. Thank you!
https://www.pandastrike.com/posts/20151215-http-rest-great-b...
and
https://www.pandastrike.com/posts/20160210-rest-is-the-wrong...
We've also tried to be specific in how you might approach addressing the limitations of HTTP in a way more consistent with the design of the protocol:
https://www.pandastrike.com/posts/20151022-rest-data-api
and
https://www.pandastrike.com/posts/20160509-http-is-the-new-l...
In fact, our thesis in this article is not about REST at all, but the design goals of projects like Falcor, which may be unrealistic. And it's those unrealistic expectations of what's possible are why people are turning from HTTP.
https://www.pandastrike.com/posts/20160331-facebook-react-pa...
Technically speaking, with respect to the whole argument that React is “just a library,” part of the problem is that it isn't perceived that way by many developers. The first auto-complete option (for me anyway) when I type “Web Components vs…” is React.
That said, the developer experience around Web Components is meh. Part of our frustration is that it would have been cool to see Facebook invest all the effort into Web Components-based technologies instead of going off on their own.
http://www.amazon.com/Qubit-Finn-Mack-ebook/dp/B00F45N40O
Not on the list, and I'm not a physicist so from that standpoint, I may not have gotten everything right. Still, I'd like to think Qubit would pass muster.
Not an original strategy.
The root cause is not that enterprise software vendors have no taste, it's that the stakeholders involved in the procurement process don't value interaction design. Like any market, it's likely that the vendors that are successful value those things that their customers value, and interaction design is not one of those things.
The vendors that are passionate about design eventually do something else, because their work isn't valued by the enterprise market. The vendors that remain in the market either don't value design or aren't committed to it. And, by extension, the best designers don't stick around in companies where their talents aren't valued.
- if your queries get that complex, introducing a subordinate query resource is a pretty reasonable measure; in a world where people commonly use URL shorteners, why is this controversial?
- "don't break the web" isn't just about bookmarks; it's also about interoperability, in general
- for example, supporting GET means responses are now cacheable, which may be useful in many situations
- the author is mostly just pointing out that DropBox hasn't followed the REST style, and he's correct; there are reasonable design alternatives that do
- therefore, if REST is good, than this design is bad; given the success of the Web and HTTP, whose fundamental design follows the REST style, it always mystifies me how many people find this objectionable
This. As far as the bandwidth issue goes, effective use of caching and compression can go a long way. Schemes varying the responses via the URL compromise schema validation based on media type (see JSON Schema, for example). Specific cases where fat or thin requests truly make a difference can be addressed with additional media types.
At most, you can say that they overstated their case by neglecting to talk about server trust and using the word "comfortable" in an article about security. :)
To address a few red herrings:
Saying that no solution is better than a flawed solution is absurd. There's no such thing as impenetrable security. On that basis, we shouldn't bother with HTTPS. For that matter, we shouldn't bother with passwords, either.
We do these things because they make attacks incrementally more difficult and thus redirect attackers' efforts to more vulnerable targets, or make it expensive enough not to bother. Every little bit helps.
Saying that you can't do this because you have to verify everything on every page load utterly ignores the past decade of development of rich client applications.
Saying that you shouldn't do this because it's been tried before also ignores virtually the entire history of technological innovation.
This is important problem and constructive criticism from security experts is extremely valuable. But the only "sophistry" I'm seeing here is from the people who can help the most.
This is a beta, invite-only app bootstrapped out of the proverbial garage. Their blog post on the technical details missed a few things. If you've ever been in those shoes, you know how easy that is to do. I've seen billion dollar companies do worse. Most of the article was accurate, well-written, and probably helpful to a lot of readers.
Help 'em out, don't tear 'em down.
HTTP is a pretty sophisticated protocol, when all is said and done. That means there is a learning curve in using it effectively. However, a good BaaS takes care of that for you, including providing default client libraries that know how to take advantage of the API properly.
(Full-disclosure: my company, spire.io, has recently launched a REST API BaaS that attempts to address exactly these concerns.)
We do anticipate some applications wanting more than one instance. There are two scenarios where this comes up.
1. You want separate connections per instance. This is useful in load testing, among other things.
2. You want to provide different default options for different instances.
Neither of these scenarios is supported very well in this release, but we expect to add support for them shortly.