foxfirefey: A fox colored like flame over an ornately framed globe (Default)
foxfirefey ([personal profile] foxfirefey) wrote in [site community profile] dw_dev2009-06-27 03:37 pm
Entry tags:

Protocols discussion

Somebody brought up the topic of Really Simple Discovery and the Metaweblog API in [site community profile] dw_news, so now might be a good time to discuss protocols and our plans.

We currently have one bug to update the Atom publishing protocol and some bugs about updating our XML-RPC.

This is a post to collate discussion about:

1. What APIs do we currently support, and what state is our support for them in?
2. What APIs exist and what are their pros and cons? How popular are they with regards to services and clients that support them? How extensible are they, since we have unique posting metadata? Which ones would be a good fit to implement or improve? Where are good resources and documentation about them?
3. Where do we want to head with posting APIs, our overall goal?


Currently supported for posting



* Atom -- old version, needs upgrading desperately. We have a bug for this here. Once updated, we can start extending the protocol to support our custom features.
* Blogger -- had for a while, probably outdated.
* Flat API -- custom LJ flat API, destined for death.
* LJ XML-RPC -- custom LJ XML-RPC API, might be destined for death if we can adequately extend Atom

Other posting APIs



* Metaweblog -- this seems to be very popular as well. Apparently del.icio.us uses it to do auto-links-posting, for instance.
* RDS -- Really Simple Discovery -- this seems to be a generalized way to let clients know what protocols we support

Current supported and not supported data stuff



* FOAF -- http://foxfirefey.livejournal.com/data/foaf
* Interests data -- http://www.dreamwidth.org/misc/interestdata.bml?user=foxfirefey
* OPML -- http://www.dreamwidth.org/tools/opml.bml?user=foxfirefey
* Icon data -- http://foxfirefey.dreamwidth.org/data/userpics
* Fdata -- Don't have this yet and whether we will is still up in the air; discussion on this here; issues include whether or not we are showing data that isn't shown on the profile
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)

[staff profile] mark 2009-06-27 10:55 pm (UTC)(link)
Things I know we support right now:

1) Custom "flat" protocol mode, which is LJ specific, and should die.
2) Custom "XML-RPC" protocol mode, which is LJ specific, and should die.
3) Export comments XML feed, also LJ specific, death would be too good.
4) Export your journal as XML on the web site. WTF?
5) FOAF data for some profile information.
6) RSS 2.0 (I think) data for the journal feeds.
7) Atom (old old old) data for the journal feeds, as well as for writing posts.
8) fdata, intdata, etc?

I am sure we have some other ways of getting data out of the site. Feel free to point out any that I have missed, so we know precisely where to put the scalpel.

As to where we want to go? #1, I want standards compliance for interoperability. I want other sites to be able to access our data, and for us to be able to access theirs. If this means that we will drop the flat and XML-RPC protocols in favor of implementing (and extending as necessary) Atom, then that's what we should do.

I don't know what the state of the art is on protocols. That sounds like something that a guy like David Recordon would know, maybe we can ping him and get a summary. Or someone can do some leg work and research the various states-of-the-art.

standards compliance for interoperability

[personal profile] babysprite 2009-06-27 11:13 pm (UTC)(link)

I'm right there with you for standards compliance for interoperability.

  • It permits me to login to and use DW from my favorite web browser, which is Lynx (with SSL support).
  • Simplicity would be another and I've been seeing that in the subtle changes from LJ to DW code. :0)
  • XML can result in some gorram serious markup bloat and I'd stay away from it in terms of an API.

Above all, simplicity and interoperability for me, please.

/\__/\
(='.'=)
(")_(")
Music: God is an Astronaut - Remembrance Day
Edited 2009-06-27 23:14 (UTC)

that's what I was afraid of

[personal profile] babysprite 2009-06-27 11:29 pm (UTC)(link)
Don't mind me. I'm just and old command-line junkie from back in the day.

Well, time for me to crawl out from my Unix shell and get with the times.

Please keep it as simple and as "lightweight" as you can.

What I'm seeing in terms of a "front-end" web developer are lots (and maybe lots more) of people using tablet and mobile devices that will call for simpler and "lighter" interfaces.
/\__/\
(='.'=)
(")_(")
Music: Snow Patrol - Lifeboats
Edited 2009-06-28 00:16 (UTC)

adding handheld stylesheet support

[personal profile] babysprite 2009-06-28 02:07 am (UTC)(link)

Coolness to the ghoulness!

=)

I'd assumed that DW development folk would have something like in the works, but that we're still pretty new at making noise on port 80 and working out bugs and stuff, I didn't want to make a lot of noise about a handheld/mobile interface.

The main thing is to get (and keep) DW stable. I'm not about a lot of fancy doo-dads and whatnots, but rather a smaller set of features that work and can be depended upon to do so.

As long as DW remains advertising- and corporate-free, I'd like to contribute to DW development and maintenance as a volunteer. I know my way around a Unix shell and not too shabby at hacking HTML and XHTML with a propensity for doing away with unnecessary markup.

Like most g33ks of my generation, I can teach myself how to do things when pointed to the right documentation (read, "man page"). Is there anything that would be helpful for me to learn in order to become a DW volunteer?
/\__/\
(='.'=)
(")_(")
Music: firefly theme music
superluminal: (Default)

Re: standards compliance for interoperability

[personal profile] superluminal 2009-06-28 01:07 am (UTC)(link)
the "flat" protocol isn't. it's pretty awful but is widely supported by clients, including logjam, which is probably the most widely used client on gnu/linux.
ree: photo of a woman with long blonde hair and glasses (Default)

Re: standards compliance for interoperability

[personal profile] ree 2009-06-29 05:57 pm (UTC)(link)
Doesn't ljlogin use the LJ flat protocol when it logs in/out? No flat protocol on DW would mean no ljlogin on DW.
superluminal: (Default)

[personal profile] superluminal 2009-06-28 02:30 am (UTC)(link)
atom (both the feed format and the publishing protocol) is excellent. it's well-specified, flexible, extensible, RESTful, and with appropriate extensions could be used to provide programmatic access to more or less everything that currently has an api. atompub is useful for more than just posting entries -- there is a standards-track feed history extension that, if implemented, would make it easy to write journal backup tools, and imho atompub could be a good replacement for the fotobilder protocol if dw ever provides a photo-hosting service.
msilverstar: (leaf)

[personal profile] msilverstar 2009-06-28 02:44 am (UTC)(link)
I was just looking at delicous-to-journaling tools, and they do have something that talks XML-RPC. I haven't gotten it to work with LJ yet, and I don't know anyone who has, they're all using scripts. If Dreamwidth can make publishing delicious listings reasonably simple, that would be quite nifty!
msilverstar: (Default)

[personal profile] msilverstar 2009-06-28 02:54 am (UTC)(link)
https://secure.delicious.com/settings/blogging/posting

(I am so glad that my several hours of trying to make this work with LJ happened at a convenient time for DW. Makes it less of a waste.)
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)

[staff profile] mark 2009-06-28 07:24 am (UTC)(link)
I'm nervous about committing to do something like that. I'm more a believer in doing one thing really well (supporting Atom 100%) than having 75% support for Atom, Metaweblog API, Blogger, ...

Of course, if Atom isn't right, that statement could say supporting Metaweblog 100%, and ... you get the idea.
matgb: Artwork of 19th century upper class anarchist, text: MatGB (Default)

[personal profile] matgb 2009-06-28 05:36 pm (UTC)(link)
A lot of my friends use Delicious scripts to get their bookmarks onto LJ, and that requires some seriously annoying hacking--getting it onto DW would be great, especially if it can be done without hacking and by converting whatever encoding they're outputting (we think it's western european) into UTF so posts are editable.

It'd be good if, for the simple purpose of allowing a client to post, we supported as many APIs as possible, as sometimes people are restricted on what they can install or use.

But full on editing, exporting and similar can be restricted to getting one decent API that works I suspect, as long as it looks fairly future proof.
murklins: white woman with elephant head (Default)

[personal profile] murklins 2009-06-28 09:05 am (UTC)(link)
Yes, they use the Metaweblog API. I have written many newsletter scripts to map the Del output to LJ's XML-RPC API so as to take advantage of Del's daily blog posting feature.
matgb: Artwork of 19th century upper class anarchist, text: MatGB (Default)

[personal profile] matgb 2009-06-28 05:38 pm (UTC)(link)
I've got a script that posts to DW at http://taktix.org/dw.php but the output is in an unsupported encoding and my server (changing next week finally) doesn't support the PHP I need to try to hack it.

Would definitely be good to get delicious output working properly here, but the encoding issue is a problem, really need to chase up my support request to them on that one.
andrewducker: (Default)

[personal profile] andrewducker 2009-06-30 08:42 am (UTC)(link)
Supporting MetaWeblog would be lovely. Definitely something I'd be in favour of.
andrewducker: (Default)

[personal profile] andrewducker 2009-06-30 02:53 pm (UTC)(link)
Posting would be enough.

Frankly, anything that got rid of the horrible kludge of the delicious reposting PHP scripts would be great.