My friend Steven recently wrote about linguistics in webservices.
In it he postulates that since all “good code” should resemble speech, webservices should use linguistically-tied approaches to their APIs. In short, it’s an article on RESTful websites being used in a linguistically-understandable way.
For example:
http://searchengine.com/search/keyword1/keyword2/not:keyword3
should run your query against the search engine, so you can always tell what it is doing, and how it works.
Personally, I think this is a great idea – it goes with the concept that all URIs should be truly “permanent”, and that the web should be understandable by mere mortals.
I am perennially surprised that companies use horrid URL formats when simple ones can be done. For example, WordPress uses a .htaccess
file and Apache’s mod_rewrite to make URLs look nice.
Why can’t Newegg do the same? Surely “http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=100019151%2050001707&IsNodeId=1&name=Activision&SpeTabStoreType=8
” is not friendly to remember, or to query outside of the site itself. And that’s only a small example – the more filters added, the worse the URL becomes.
Then consider the URLs that get created when a site uses something like FeedBurner to handle its RSS feeds – heaven help you those URLs can look ugly!
Creating a RESTful approach is not all that difficult, and every web developer should be required to do it.