Web For All
one of the key principles for W3C is the "Web for All"
The social value of the Web is that it enables human communication, commerce, and opportunities to share knowledge. One of W3C's primary goals is to make these benefits available to all people, whatever their hardware, software, network infrastructure, native language, culture, geographical location, or physical or mental ability.
when a single vendor has the power to block others' access to competitive products, the Web is a place that doesn't live up to this principle. I know that Tim Berners-Lee is not responsible for the way Amazon operates. Neither is W3C CEO Jeffery Jaffe. however, this unfolding battle to pre-empt Web user's ability to access any content anywhere is just another iteration of the same battle that timbl (Berners-Lee's handle) has called out numerous times at the network level. what he calls the Battle For The Net.
users over all others.
i know the W3C has attempted to deal with this in the past -- to mixed reviews. the very fact that Tim penned that piece on DRM and the Web shows that the W3C is aware of the issue. and a key part of that (now two-year-old) position paper was the notion of "users over all others":
In case of conflict, consider users over authors over implementors over specifiers over theoretical purity.
but events in this space seem to continue to run ahead of the W3C's ability to deal with them. and that's a big problem.
i know its hard, but it is important
i understand that the job of reigning in corporate greed on the open web is a tough job. and someone who has the best interests of users above all others needs to be leading the discussion. not following it. and certainly not silent while others establish the "operating rules" for yet another walled garden of profit built on the backbone of the free and Open Web.
enabling commerce is a good thing.
permitting exploitation and profiteering is not.
Tussle in Cyberspace
there is a great paper that deals with some of these issues: Tussle in Cyberspace: Defining Tomorrow's Internet. essentially:
This paper explores one important reality that surrounds the Internet today: different stakeholders that are part of the Internet milieu have interests that may be adverse to each other, and these parties each vie to favor their particular interests. We call this process “the tussle”.
the "tussle" is important. not because it happens, but because one of the key values of an open internet (not just Web) is that the Internet can be crafted (through standards) to "level the playing field" for all. this is why "Web For All" is important. this is why the Battle for the Net is important.
and it is the same for video content, too.
why standards exist
we don't need to "regulate" vendors, we need to continue to make sure the tussle is fair to all. that's why standards exist -- to level the playing field.
and, IMO, that's why the W3C exists.
and that's why the current news is disturbing to me.
Layer7's brain child
the idea for the API Academy came out of the core leadership of what was then known as Layer7. basically, it was the chance to pull together some of the great people involved in APIs for the Web and focus on promoting and supporting API-related technologies and practices. from the very beginning it was decided that the API Academy would focus on "big picture stuff" -- not a particular product or technology segment. and we dove in with both feet.
my first talk as part of the Academy was June 2012 on hypermedia and node.js at QCon NYC. Ronnie and i finally met face-to-face later that summer at the Layer7 office in Vancouver. we both talked at RESTFest 2012 where Layer7 became a key sponsor of that event. in December of 2012, Ronnie and I were proud to join Mehdi Medjaoui at the very first API Days in Paris. and we've been going strong ever since.
the API Academy is an amazing group of people. over the last three years, along w/ Matt and Ronnie we've had the chance to host Alex Gaber, Holger Reinhardt -- both of whom have moved on to other things -- and Irakli Nadareishvili who came to us from his work at National Public Radio here in the US. the oppty to work side-by-side with people of this caliber is a gift and i am happy to be a part of it.
since i joined API Academy, Layer7 has merged w/ CA Technologies and this has given us the chance to expand our reach and increase our contact w/ experienced people from all over the world. since joining w/ CA we've had the chance to travel to Australia, Hong Kong, Tokyo, Seoul, Beijing, and several cities Eastern Europe. later this year there will be visits to Shanghai and Rio de Janeiro along w/ dozens of cities in the US and Europe. along the way the API Academy continues to meet w/ CA product teams and leadership offering to assist in any way we can to continue the same mission we had at our founding.
Help People Build Great APIs for the Web
i've worked lots of places, with diverse teams, in all sorts of cultures. i have to say that my experience w/ the API Academy and w/ CA continues to be one of the most rewarding and supportive i've ever enjoyed. i am very lucky that i get to do the kind of work i love w/ people that challenge my thinking, support my experimenting, and offer excellent opportunities to learn and grow along the way.
the last three years have been full of surprises and i can't wait to see what the next three years brings. i am truly a #luckyMan
i'm very proud to announce that InfoQ has just released a new series that I helped edit. the series is called Description, Discovery, and Profiles: The Next Level in Web APIs and the contents of this series has a series of excellent contributing authors including Ronnie Mitra of API Academy/CA, Mike Stowe with Mulesoft, Kin Lane of API Evangelist fame and, Mark Foster from Apiary. it also includes interviews with Swagger creator Tony Tam and Profile RFC editor Erik Wilde. and it's packed with material covering what i think are three key patterns/technologies in the Web API space:
- "The ability to easily describe APIs including implementation details such as resources and URLs, representation formats (HTML, XML, JSON, etc.), status codes, and input arguments in both a human- and machine-readable form. There are a few key players setting the pace here."
- "Searching for, and selecting Web APIs that provide the desired service (e.g. shopping, user management, etc.) within specified criteria (e.g. uptime, licensing, pricing, and performance limits). Right now this is primarily a human-driven process but there are new players attempting to automate selected parts of the process."
- "Long a focus of librarians and information scientists, 'Profiles' that define the meaning and use of vocabulary terms carried within API requests and responses are getting renewed interest for Web APIs. Still an experimental idea, there is some evidence vendors and designers are starting to implement support for Web API Profiles."
lots of vendors and technologies here
this is a pretty wide-ranging set of topics and lots of vendors and technologies are highlighted over the next seven articles. some of them include:
- API Blueprint
- Visual Studio
- I/O Docs
- API Commons
- Programmable Web's API Directory
- Mashery's API Network
- Apache Zookeeper
- HashiCorp Consul
- CoreOS etcd
- Rapido API Designer
- Spring Data
and that's just in the first article in the series!
here's a quick rundown of all the articles that will br released between late May and early July:
Description, Discovery, and Profiles: A Primer
this articles takes a look at several formats, key vendors, and identify the opportunities and challenges in this fast-moving portion of the Web API field.
From Doodles to Delivery : An API Design Process
Ronnie Mitra investigates what good design is and how using Profiles along with an iterative process can help us achieve it.
The Power of RAML
Mike Stowe introduces us to the RAML format, reviews avilable uses and tools, and explains why Uri Sarid, the creator of RAML wanted to push beyond our current understandings and create a way to model our APIs before even writing one line of code.
APIs with Swagger : An Interview with Reverb's Tony Tam
I talk to founder and inventor Tony Tam about the history, and the future, of one of the most widely-used API Description formats today: Swagger.
The APIs.json Discovery Format: Potential Engine in the API Economy
In this piece, Kin Lane describes his APIs.json API discovery format which can provide pointers to available documentation, licensing, pricing for exsiting Web APIs.
Profiles on the Web: An Interview with Erik Wilde
In early April, 2015 Erik agreed to sit down with InfoQ to talk about Profiles, Description, Documentation, Discovery, his Sedola project and the future of Web-level metadata for APIs.
Programming with Semantic Profiles : In the land of magic strings, the profile-aware is king.
Mark Foster -- one of the editors of the ALPS specification -- explains what semantic profiles are and how they can transform the way Web APIs are desgined and implemented.
A Resource Guide to API Description, Discovery, and Profiles
To wrap up the series, we offer a listing of the key formats, specifications, tools, and articles on API Description, Discovery, and Profiles for the Web.
looking forward to the weekly releases
it was a pleasure working with such a distinguished group of authors and practitioners in this very important space and i am looking forward to the continued released between late May and early July. i'm also looking forward to feedback and discussion from readers of the series.
the Web is a dynamic and fast-moving space and it should be interesting to keep an eye on this "meta-level" of the API eco-system for some time to come.
it's that time of year again! RESTFest, one of my favorite geek events of the year, will be happening (once again) in beautiful Greenville, SC. The dates of the event this year are Sep 17-19 and there are still tickets available. And this year's event is shaping up to be another great combo of hacking, demos, lighting talks and socializing. You can see what last year was like by checking out the 2015 promo video.
Keynote: IBM's James Snell
we're proud to announce that this year's keynote speaker is James Snell. i've known James for several years. he's a prolific man and has been involved in editing/authoring several IETF standards including the Atom Syndication format, the HTTP PATCH method, and the WC3's Activity Streams spec. his keynote, Practical Semantics, is bound to be excellent.
the RESTFest way...
at RESTFest, we have a core set of principles that we think helps make for a unique and valuable experience for everyone involved. they boil down to...
- everybody talks
- if you show up, you're delivering a talk! our first principle is "everyone talks and everybody listens." for the past five years, we've stuck to a single track event and that allows everyone to hear *all* the talks, too. we all get to interact and experience the event in the same real-time space.
- less theory, more practice
- theories, formal papers, etc. etc. are all good, but we don't need them at RESTFest. we just want to hear what's on your mind, what you're working on, and what you are interested in talking about. show us your code!
- hacking is good
- day one is "hack day" and each year has a unique theme. anyone can propose a hackday theme and we encourage attendees to submit ideas and come prepared to code in whatever format, style, and framework they love. you can track and contribute to the hackday theme on the wiki.
- dont' be a jerk
- our Code of Conduct is very simple and very clear. essentially -- "Don't be a Jerk." it is critical that RESTFest be a safe, inviting, and positive experience for everyone. you're free to speak your mind as long as your respectful.
Sign Up and Start Interacting NOW
actually, RESTFest has already started! right now you can sign up at the wiki, add your people page and introduce yourself to the group. you can keep up on breaking news on our email list and secure your place at the event by purchasing one of the limited tickets for RESTFest 2015. if you're realy itching to get connected, drop into our IRC channel on freenode or link to our Twitter account and start chatting.
RESTFest is what you want it to be
it's the people who show up each year that make RESTFest such a great event. each year is different and each year is amazing. check out our video channel to see all the talks from the last few years. spots are limited and we'd love to see you there!
it's official! i've signed an agreement w/ O'Reilly Media to write a book focused on creating hypermedia clients. i've been putting this project off for a couple years and am glad i finally will be sitting down to cull through the collected material and work to put it into a (hopefully) useful presentation.
i've spent several weeks coding up lots of examples of hypermedia clients; experimenting with several existing media types and even some profiles. i've also been working through common patterns that make working w/ message-oriented services easier to handle for client apps. i have learned quite a bit over the last couple years of talking w/ people and assisting on various projects both large and small. and now it's time to see if i can find a coherent story in all that experience.
TBH, i'm not exactly sure where this one will lead, but i have a decent plan to follow before i start out toward the horizon. i won't belabor the details here but will pass along my general outline to give folks a feel for where i am trying to go...
Part 1 : Human-Driven Hypermedia Clients
i'll be keeping discussions of human-driven and (i'll say) machine-driven clients clearly separated in the book. not because there is always a clear line between then in real life (think parsers designed to prefetch content based on inline instructions, etc.) but because it makes the conversation a bit easier.
that said, the first part of the book will focus on the process of traveling from a client application that doesn't rely on any hypermedia, through several stages that end with a client that relies primarily on hypermedia information in responses. again, IRL there is a wide range of hypermedia in client apps for the Web (images anyone?) but this kind of approach will, i think, help bring some things into focus.
Part 2: Machine-Driven Hypermedia Clients
similar to part 1, i'll use the second half of the book to focus only on challenges related to creating hypermedia clients that don't rely directly on human intervention for each request. of course, humans will program them, but then -- at least for some level of interaction -- leave the machine to do their own thing. and that's where it gets fun.
i'll talk about how we can build a client that has the power to do basic interaction (independent request/response), how machines can be "taught" to safely navigate a selected part of the WWW environment, how they can recognize 'things' (affordances) along the way, and how to use those things as tools to manipulate the local environment. finally, i'll talk about how a client can be taught to recognize a 'goal' or 'end-state.'
in real life, humans do this kind of stuff every day. we navigate through traffic, recognize road signs/signals and are able to figure out when we reach our destination -- even if it is not the destination we had in mind at the start of our journey ("Sorry mate, the pub is closed. But the one up the road is still open."). we also go through these kind of scenarios in a more abstract or indirect way, such as when deciding we're done exercising, had enough to eat, or have collected enough trading cards to make a complete set.
it turns out, none of the cases i mentioned above require much "intelligence" or "reasoning." just the ability to pay attention to details and identify "done." and there are very many instances where this level of execution would be useful over the Web today. unfortunately, even these simple kinds of machine execution are not often supported when implementing services for the Web -- and that's a bummer.
but they could be. and that's cool.
On the Road Again
so, the next few months should be quite interesting. i always enjoy starting out on one of these adventures and this time is no different. i should also confess that i really enjoy getting to the end of a book project and putting the thing behind me ;) and i suspect that will be the true this time, too.
an added wrinkle is that i start traveling again in february and that usually takes a toll on deadlines. for that reason, i'll be drawing this project out a bit more. i hope to have the first draft completed by early summer and have it all wrapped up and out the door by fall 2015.
so, here i go, getting ready to navigate toward the horizon and hopefully recognizing when i get to "done."
should be exciting.
oops! road sign up ahead. gotta turn here. L8TR!