Log in

No account? Create an account
Previous Entry Share Next Entry
Cross-site reading? How does that work?
Huh. Just noticed in today's DreamWidth update that they are now allowing "cross-site reading" -- the implication being that you can integrate your LJ friendlist into your DreamWidth one. It's a feature that I *desperately* wanted in CommYou, but concluded was difficult-to-impossible at the time. So now I'm curious how DW is making it work. My suspicion is that there's been an API enhancement while I wasn't looking, and that's very intriguing: if the API now provides a good way to get at your flist, it might make a good Android LJ-reading client more plausible...

  • 1
I believe dreamwidth is all open source with a publicly readable repository, but if you can't find the code, a friend of mine (and former provost of Mitgaard, so you may remember her) is a dreamwidth developer; I could put you in touch.

No, that's the point: DW is the same codebase as LJ, or at least it was originally. So now I'm curious whether they're still roughly the same base, or if DW has forked and gotten into new functionality that I'm really interested in.

(I'd actually much rather they were still working in the same codebase, since that would imply that LJ has this functionality as well now. But it wouldn't surprise me at all to find that DW has long since forked...)

Yes, they've forked. LJ's New Russian Overlords, apparently having realized they had not, after all, acquired a golden goose, laid off the entire engineering staff (without notice or severance) last June.

Mark, the DW technical founder, had already started DW by then, and significant enhancements to the code were always part of his plan. (Mark was a major volunteer contributor to LJ in college (and IIRC in high school too). LJ hired him straight out of college, while they were still in Portland and independent. He moved to SF with the Six Apart acquisition and at some point during the actively stupid management phase went to work for Google. LJ had initially been a labor of love for him, and DW is at least partly an attempt to get back to the ad-free, communitarian roots of the pre-Six Apart, pre-Russian, LJ.)

At any rate, LJ now occasionally picks up DW enhancements, but I don't think there's a lot of code going the other direction.

Okay, good to know and not entirely surprising. I'll need to investigate this more deeply, and see if the relevant bits exist in the LJ codebase. (learnedax's comment makes it sound like this may be based on an existing but undocumented LJ API; if DW is able to import from LJ, that would imply that that is so.)

Not that I actually have any time for a new programming project right now, of course. But a part of me has been looking for an excuse to mess around with 'droid programming, and this would actually be useful...

Looks like they're using an LJ API method called get_friends_page, based on the bug comments.

Ha, sorry, the so-typical-of-LJ undocumented API call to get your friends page.

For a mobile client you can presumably make polling cheaper with the checkfriends method that fetches a new post count.

*headdesk* *Naturally* the call that I consider one of the most important and useful in the whole damned API is undocumented. Thanks for pointing that out...

Hi! pointed me in this direction. I'm one of the Dreamwidth Support Team Leads, and I play in Northshield. :)

Dreamwidth development has been back and forth on whether this would actually be possible or not. It took a long time to get to the point where we could find an ethical way to access the data. And yes, it was made more difficult by the lack of technical documentation on LiveJournal's side. Dreamwidth tries to document stuff as much as possible; if you find something we haven't documented, please drop an email to support@dreamwidth.org and I'll do what I can to make that doc happen.

Nearly all of Dreamwidth's code is open source, so you are welcome to take a look at it. If you decide you'd like to poke around a little more in-depth, let me know and I'll put you in touch with Sophie. She takes care of our hosted development environments, which are there for you to hack on. If you have any questions at all, or even if you just want to stop in and say hello, you can do that by connecting to IRC: irc.dreamwidth.org port 6667, channel #dw or #dw_kindergarten.

Hope this helped!

Lady Katerinka Lvovicha of the Two Kingdoms aka Kat aka DW Support Guru :)

Howdy and welcome! Thanks -- while my presence is still mostly on LJ at this point, I quite like the DW project, and this sort of hard work is part of why. I've been hellishly annoyed for *years* about the lack of this particular feature, which I think it integral to being able to create a really good cross-site conversational ecosystem. It's a crucial advance, and I'm really glad to see it coming in.

More immediately, like I said, this may well be really great for mobile environments. I've long been bothered by the asymmetry of UI support -- the fact that there are all these customized clients for *writing* posts, but you have to go back to the Web to *read* them. Knowing that this capability exists is terribly intriguing, because it suggests that one might be able to build customized clients that read as well as write. That could be mildly useful even on PCs, but might be huge for smartphones, where a truly customized UI could produce a much better experience...

While it may seem counterintuitive, developing an app for DW might actually make it easier to develop something similar for LiveJournal. While the codebases are forking considerably, the fact remains that Dreamwidth is documenting stuff that LiveJournal has had for years, including the hook we're using for CSARL.

That makes sense, yes. I'll give that some serious thought -- thanks!

  • 1