So in my brief adventure into writing an LJ client, I learned that LJ has a really crappy API. It’s kind of funny, because a blog API is conceptually one of the simplest models in software. It’s the classic database CRUD model – Create, Retrieve, Update, Delete. It’s amazing how badly web developers are able to screw up on that age-old formula. Especially when it forms the underlying philosophy of the web itself. But then again I’d wager most web developers aren’t even aware that HTTP contains PUT and DELETE methods along with GET and POST (and HEAD ). I wish I could get a hardbound copy of RFC 2616, just so I could hit stupid web developers on the head with it.
I also learned that they don’t even implement their own API very well. At least not the XMLRPC version. When LJ is feeling colicky it tends to upchuck whatever random faultcode it thinks of first – and the faults may not even be well-formed.
Did I mention badly documented? Apparently some features have been silently deprecated, without any indication of what is supposed to take their place.
All in all, I have been given greater impetus to get myself off of what was originally intended to be an interim location for my journal. I don’t like having my words hosted near such… dirty software. I’m afraid it might rub off.