Web Services

11th October 2006

Keep your JSON valid

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...

8th August 2006

The YDN Python Developer Center

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...

26th May 2006

Web APIs, not Web Services

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...

16th December 2005

JSON and Yahoo!'s JavaScript APIs

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...

24th November 2005

Notes on public speaking

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...

3rd November 2005

Yahoo!'s new twist on mapping APIs

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...

22nd May 2004

TBL on TLDs

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...

26th March 2004

Abusing the command line

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...

5th February 2004

Hot Links

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...

27th November 2003

IXR 2.0

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 ...

18th August 2003

Atom API

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 ...

24th July 2003

Comment Authentication Prototype

I've built a prototype of the comment signature system discussed earlier. The prototype consists of an authentication server which anyone can register with and support on this blog for verifying signa...

22nd July 2003

Signing comments on blogs

Adrian Holovaty has implemented reserved comment names in his blog, a feature that prevents anyone apart from him from using the names "Adrian", "Adrian H." or "Adrian Holovaty" when posting a comment...

11th July 2003

Minor bug fix in IXR

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...

4th July 2003

XML-RPC Errata

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 ...

1st May 2003

iTunes Web Service?

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 ...

11th April 2003

PHP SOAP Documentation

Finally some good documentation on using SOAP with PHP: PEAR::SOAP Client Fast Start and Extending PEAR::SOAP WSDL, both from the excellent phpPatterns....

5th April 2003

Bill Kearney responds

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...

4th April 2003

Lively discussion on SOAP

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...

9th March 2003

A plea for pings

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 ...

24th February 2003

Pingback redux

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 ...

15th February 2003

Agent Frank

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...

5th February 2003

More YAML

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...

20th January 2003

You know me

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...

14th January 2003

Comment back

Paul Freeman: Maybe one day, I’ll post a comment somewhere, and when someone responds, a CommentBack will be sent to my CommentBack server, and I can click straight to the response. ...

11th January 2003

Stuart's pingback roundup

Stuart has a good summary of the recent advances being made in the Pingback/Trackback implementation sphere....

24th November 2002

Validator documentation

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 ...

OWASP Security guide

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...

23rd November 2002

Mimeo

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 ...

RESTLog

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 ...

16th November 2002

Usability Views

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 ...

8th November 2002

Web services in action

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...

29th October 2002

Validator warning

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...

28th October 2002

W3C validator web service

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 Internet Developer

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....

10th October 2002

Google News to RSS

Google News to RSS is brilliant. Simply type in some search terms (or append them to a query string) and the script queries Google News and returns the results formatted as RSS, allowing you to add a ...

Taking a leaf from Pingback's book

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...

4th October 2002

.NET saves Boy!

.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...

3rd October 2002

Sam Ruby joins up

Sam Ruby has pingback. Ping!...

30th September 2002

Pingback and Trackback

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....

25th September 2002

Pingback coverage

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...

13th September 2002

Pingback supported again

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...

10th September 2002

Pingback spec

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...

7th September 2002

Pingback server code

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....

Hehe RSS3

Forget about RSS 0.9x, RSS 1.0 and RSS 2.0, Aaron Schwartz has released a spec for RSS 3.0 :)There's been a lot of talk in the community about how RSS 2.0 is too complicated. I haven't heard any objec...

6th September 2002

Mark blogs RSS

There's enough RSS discussion floating about right now to make one's head spin. Thank Goodness then for Mark Pilgrim, who yesterday posted an excellent explanation of RSS 2.0, and today followed it up...

Pingback test

Aquarionics is now PingBack enabled, and he implemented it using IXR. Yay!...

5th September 2002

Two new web services

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...

4th September 2002

New version of IXR

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,...

Pingback specification

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...

New IXR soon

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...

3rd September 2002

Even more XML-RPC

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...

Beta feeds from the Beeb

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...

2nd September 2002

The missing docs

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

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...

Feedback

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...

And then there were eight

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 :)...

Useful XML-RPC links

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

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 ...

Pingback implemented

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

Testing pingback. This post is a lot more exciting than it looks ;) ...

A new XML-RPC library for PHP

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...

1st September 2002

PHP XML-RPC

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 better trackback

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...

16th August 2002

Python RSS locator

Mark Pilgrim has written an ultra-liberal RSS locator (in Python, naturally). I guess he had to scratch an itch. The amount of work it puts in to locating an RSS feed for a site is astonishing, especi...

14th August 2002

PHP and ID3 tags

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...

1st August 2002

CETIS

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...

24th July 2002

Windows SSL support in Python

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...

Instant PHP Web Services

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...

Random links with Google

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...

17th July 2002

Amazon search updated

I've updated PHP Amazon Search to implement a few more search methods, and altered the example script to allow searches for related items....

Fun with Amazon

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 web services

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...

15th July 2002

XML fun

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...

10th July 2002

xmlhack news wire

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...

9th July 2002

XML-RPC debugging

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...

7th July 2002

Ooh Muse.net

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...

6th July 2002

The Two Way Web

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 on blo.gs

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...

Better blogrolling

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...

5th July 2002

Blog tracking solution

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...

4th July 2002

Home improvements

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....

3rd July 2002

XML request object

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...

1st July 2002

TrackBack

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 ...

25th June 2002

Writing IM Bots

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...

18th June 2002

Email interfaces

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...

16th June 2002

Excited about XWT

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...

15th June 2002

JSRS 2.1 released

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 ...

14th June 2002

Meta weblog API

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...