Web Services
I'm a big fan of JSON, and it's great to see it turning up as an output option for so many Web APIs. Unfortunately, many of these APIs are getting the details slightly wrong and in doing so are produc...
I recently had the opportunity to put together the Python Developer Center for the Yahoo! Developer Network. YDN is one of my favourite parts of Yahoo! so I jumped at the chance, and the resulting min...
In Web Services are Dead, Long Live Web Services, Mark Nottingham suggests HTTP Web Services as a better phrase for discussing machine-to-machine communication using HTTP where the WS-* stack isn't as...
I had the pleasure yesterday of seeing Douglas Crockford speak about JSON, the ultra-simple data interchange format he has been promoting as an alternative to XML. JSON is a subset of JavaScript, base...
I'm pretty inexperienced as a public speaker, but somehow I landed two speaking gigs in as many weeks recently and learnt some useful lessons about presenting in the process.
I gave a talk at d.Con...
One of the most exciting things I've seen at Yahoo! since starting here has finally been made public: the new Yahoo Maps. The map application itself differs from many other recent map sites in being r...
Tim Berners Lee (how many TLA celebrities is that now?): New Top Level Domains Considered Harmful. Read the whole thing - Tim blows the .xxx and .mobi proposals out of the water and takes a neat swipe...
If you're running OS X, try this:
say -v Kathy `curl --silent http://api.technorati.com/getinfo?username=simonwillison | grep '<inbound' | sed -e 's/ <//' | sed -e 's/inboundblogs>/Simo...
The thing I love about RSS, and by extension web services, is that they allow people to take publically available data and combine it in ways never thought of by the originator of the feed. The intern...
Harry Fuecks has been hacking on my XML-RPC library, and has released a new version with some significant changes. His article on phpPatterns describes the changes and provides a link to download the ...
Mark Pilgrim has posted an extensively documented demonstration of the current draft of the Atom API, a REST style web service interface for posting to and editing weblogs. It looks like it will be a ...
I've fixed a small but vital bug in the Incutio XML-RPC library. The library was causing errors when certain unicode characters were used in strings. This is because I was using PHP's htmlentities() f...
Fredrik Lundh: Unofficial XML-RPC Errata, a work in progress. It's good to see that the unicode limitation has finally been cleaned up. What would be really useful is if someone could work out a list ...
Via Tim Bray, it turns out Apple's new iTunes Music Store is driven under the hood by a whole load of XML documents, which are available via HTTP. Here's hoping this leads to something similar to the ...
Finally some good documentation on using SOAP with PHP: PEAR::SOAP Client Fast Start and Extending PEAR::SOAP WSDL, both from the excellent phpPatterns....
Bill Kearney posted this comment in response to yesterday's semi-rant:
Sure, the trouble is getting the developers of the applications creating the RSS to stop being pigheaded. This is, unfortuna...
If you get the basic idea of web services but are still looking to get your head around SOAP (I know I am) the lively discussion currently taking place in Sam Ruby's comment section looks like a great...
Blogs I would read a lot more often if only they pinged weblogs.com when they updated:
Decafbad
Stop Design
Keith Devens
Tony Bowden
afongen
Brent Ashley
The Web Standards Project
...
I think I've worked out a way of implementing Pingback (or a Pingback-like system) without any need for XML-RPC, <link> elements or custom HTTP headers.
There are three principle reasons for ...
l.m.orchard has released the code for his oft-discussed personal web proxy in the form of Agent Frank. It looks really neat, but unfortunately as it's written in Java and I don't have space on my shin...
Paul Tchistopolskii's XML Alternatives reminded me to take another look at YAML. The specification has been updated since I last looked and seems to be a bit more complicated, but it's still a very ni...
Dave Winer: The "You Know Me" Button. Dave hates posting comments on blogs and then having to check back constantly to see if anyone has replied (I do too). Sam Ruby's solution is to provide the comme...
Stuart has a good summary of the recent advances being made in the Pingback/Trackback implementation sphere....
It seems the W3C have made some changes to their beta validator's XML output option. The bad news is that this has (temporarily) broken my web service interface, but the good news is that the feature ...
The Open Web Application Security Project (OWASP) have a free guide to building secure web applications, which covers a large range of common problems such as cross site scripting and SQL injection vu...
Brian Graf has some very positive things to say about Mimeo, an innovative new web services based company in the States:
The concept is simple enough. You download and install some software that ...
Joe Gregorio's RESTLog is a fascinating piece of technology and a great example of the RESTian model of web service in action. Everything is built on XML and HTTP - new blog entries are POSTed to the ...
Usability Views (via Zeldman) lists articles from a number of Usability related sites in a variety of different ways, including order-by-most-popular. Popularity appears to be judged by the number of ...
All Consuming is another one of those information-about-weblogs sites, but with a heavy emphasis on books:
This page is the result of several different processes. Inspired by Book Watch, I create...
As Scott Andrew has noted, the W3C's beta validator is now returning the following warning as part of it's XML output:
This interface is highly experimental and the output *will* change -- probab...
Earlier today I mentioned how useful a web service interface to the new W3C validator would be. Tom Gilder pointed out in the comments that the validator now has an XML interface:
http://validator....
Apple have an excellent site called Internet Developer, with articles covering a wide range of web development topics from HTML and CSS right through to Using SOAP with PHP....
Moveable Type 2.5 is out. From the changelog:
Added TrackBack auto-discovery, which can automatically find TrackBack ping URLs based on permalinks in entry bodies. These entries can then be pin...
.NET Saves Boy Down Well (via Sam Ruby):
"Once the thing was installed, well, hell, it pretty-much ran itself. I guess that's why they call it 'no-touch' deployment. We just fired that baby up an...
Sam Ruby has pingback. Ping!...
Hixie has written a whitepaper comparing Pingback to Trackback, and answering pretty much every question that has been asked about Pingback in the past week....
The Pingback 1.0 specification is getting some serious attention. Mark Pilgrim and Dave Winer have linked to it. Ben Trott (co-author of Moveable Type and creator of TrackBack, the system that inspire...
I've re-enabled PingBack on my blog. Auto-discovery is now supported via both the standard <link> element and the new X-PingBack HTTP header. I have also implemented a new experimental method on...
I just realised I haven't linked to the Pingback specification yet, so here it is. The spec has been carefully assembled by Ian Hickson and, although it is still a working draught, should be the first...
The source code for my PingBack server, including the code I use to grab an extract from the page linking to my site, is now available here....
Aquarionics is now PingBack enabled, and he implemented it using IXR. Yay!...
I've implemented two example web services to demonstrate the Incutio PHP XML-RPC library's capabilities. The services allow you to search and retrieve articles from FOLDOC and the Jargon File, two pop...
Announcing beta 1.5 of IXR, the Incutio XML-PRC Library for PHP. The library has undergone a complete restructuring and has a much cleaner design as a result. It also has a huge stack of new features,...
Stuart has published the first draught of the PingBack specification, detailing how PingBack works and how it should be implemented. PingBack is brilliant - it just works. What could be simpler than j...
I was up most of the night working on a new version of my XML-RPC library (newly named IXR, for Incutio XML-RPC). I should have it ready for release some time today - it implements most of the extensi...
Yet more XML-RPC specs (thanks HarryF):
<nil/> value (approved by Dave Winer here).
Specification for Fault Code Interoperability
system.getCapabilities
I've subscribed to the XML-RPC ma...
The BBC are running a set of beta RSS feeds for their news service, covering the front page, World news, UK news and Technology news. The feeds provide the article title and the short sub-heading as a...
Yet more XML-RPC goodness. The documentation for the suggested introspection methods throws a 404, but Google's cache doesn't:
system.listMethods
system.methodSignature
system.methodHelp
Introsp...
JellyBath (via Aquarionics). It turns your bath water in to Jelly. From the FAQ:
Q. Can I use Jellybath in a Jacuzzi or Hot Tub?
A. No, it is not recommended that you use Jellybath in tubs with jet...
HarryF provided some excellent feedback on my library:...If I can dare to make one suggestion: would be good to seperate the HTTP client as a seperate object from the XML-RPC client.
There's a good...
According to XML-RPC.com's Implementations page there are now 8 PHP implementations of XML-RPC! Looks like I wasn't the only person with an itch to scratch :)...
Some useful XML-RPC links (before I forget):
The XML-RPC Specification - concise and readable.
The XML-RPC Validator - a useful validation suite to ensure your XML-RPC implementation is up to scra...
More on PingBack. PingBack can be seen in effect on this blog and in this entry on kryogenix.org. If you wish to ping my blog you can do so using the following XML-RPC details:Server: www.bath.ac.uk
...
I've implemented PingBack on my blog. PingBack is a system for tracking who is linking to your blog in a controlled way, based on a post by Stuart a few months ago. The idea is that when you link to a...
Testing pingback. This post is a lot more exciting than it looks ;) ...
I spent most of yesterday messing around with XML-RPC. There are a variety of XMl-RPC libraries available for PHP but none of them felt right for what I needed. So, I've written my own.
The Incutio...
I've been playing with XML-RPC and PHP today. I ended up using Keith Devin's pleasantly straight forward library thanks to PHP's built in (and completely undocumented) XML-RPC support conflicting with...
A discussion on Aquarionics nails why TrackBack isn't quite there yet (emphasis mine):Plus, to support Trackback, I must put what amounts to part of an RSS feed in each post so that Movable Type's Boo...
MP3 Piranha is a clever application which indexes your MP3 collection and uses the Amazon Web Service API to look up the album cover, related albums and provide a link to buy the album from Amazon. Ou...
CETIS is the Centre for Education Technology Interoperability Standards. Their site is regularly updated and contains a wealth of information about a whole range of interesting technologies, including...
Adding SSL support to Python on Windows is as easy as dropping a couple of DLLs and a .pyd file in to your Python DLLs directory. Grab the zip file from this page and off you go. I haven't tried it ou...
XML-RPC Class Server is a really clever piece of code. It consists of a single file which you can drop in a directory full of PHP .class.php files to instantly provide an XML-RPC interface to every cl...
Paul Freeman has come up with new use for the Google API - generating random links. The idea is simple but effective - a random theme is selected and searched for (via pygoogle), then another search i...
I've updated PHP Amazon Search to implement a few more search methods, and altered the example script to allow searches for related items....
There's plenty of activity surrounding Amazon web services today. My limited demo barely scratches the surface of the possibilities - people are already experimenting with Amazon's similarity search a...
Amazon have launched a brand new web service interface to their huge database of products. I've been playing around with it, and I've knocked together a simple search engine example in PHP, with the c...
Peter has upgraded his blog to the latest version of Moveable Type. As a result, his blog now pings weblogs.com via XML-RPC whenever he makes an update. blo.gs grabs the weblogs.com changes.xml file o...
xmlhack's "Editor's Newswire" is interesting. It is a small column (explained here) located on the right hand side of the site that displays the latest XML news snippets "in real time". The interestin...
Via techno weenie: A Python XML-RPC debugging proxy script. This solves the problem of XML-RPC errors from PHP being sent out with the XML-RPC response packet and breaking any XML parser trying to rec...
I've been reading up on Muse.Net, and I like what I see. Muse.Net is a loosely-coupled, XML Web service derived Internet digital media supply chain. What that means in English is a system to let you l...
Dave Winer: The Two Way Web. The Two-Way-Web is a vision for the Web as an easy writing and publishing environment. This is an old essay from March 2001 (I only found it today) which describes a visio...
More info on blo.gs syndication. Phil Ringnalda has published a PHP script which can be used to syndicate a blogroll from blo.gs. For people without the capability to run server side scripts, blo.gs a...
Stuart at kryogenix.org saw my post about blo.gs and re-implemented his blogroll to update from his blo.gs subscriptions, complete with last updated times. It's such a brilliant idea that I've impleme...
I've found a solution to my blog tracking problems. blo.gs is an excellent service which tracks when weblogs are updated by waiting for pings - either directly from the blog or indirectly by co-operat...
A couple of home improvements. I've added a "5 latest comments" box to the front page, and I've implemented a system to ping blo.gs whenever this blog is updated. Next up, Weblogs.com....
Using the XML HTTP Request object (via techno weenie) is an excellent tutorial covering remote XML loading capabilities in both IE and Mozilla, along with instructions on how to make SOAP requests usi...
MovableType have released version 2.21, which finally introduces support for mySQL and also comes with an intriguing new feature called TrackBack. I'm stil trying to figure out exactly what TrackBack ...
Via Boing Boing: How to make your own IM Bots. This tutorial explains how to write a bot for both MSN and AIM using Perl running on Windows/DOS. Perl modules are provided to handle the actual protocol...
Peter Van Dijck: Email interface design 101 - a short article examining the possibilities of using email interfaces for web applications. This is an interesting topic and one that deserves further exp...
New toy: XWT, the XML Windowing Toolkit. This is one impressive piece of open source software. It allows you to create a graphical user interface using relatively simple XML markup (with ECMAScript to...
Brent Ashley: JSRS2.1 Released (from June 10th). JSRS is Javascript Remote Scripting, an incredibly powerful javascript library that allows DHTML pages to communicate with a web server without having ...
I'm itching to get an XML-RPC interface to this blog up and running so I can start playing with blogging tools (or roll my own in PythonCard). It looks like Dave Winer's MetaWeblog API is just what I...