Joseph Smarr

Thoughts on web development, tech, and life.

Category: Blog

More on my new role at Plaxo

I just posted some thoughts on my new role at Plaxo as their Chief Platform Architect. Like my previous roles at Plaxo, this is both a formalization of something I was already doing and a decision to focus more intensely on it. In this case, it’s because Plaxo has ended up in a potentially pivotal position to help keep track of who you know and what they’re doing across all the various sites and services you and your contacts use.

So many services these days are driven by sharing content with your friends/contacts/etc. and yet the problem of wiring up who you know on each of these services and keeping that up-to-date is as unsolved as ever. At best you get a one-time auto-import from webmail providers, but if we’ve learned anything at Plaxo, it’s that persistent sync with your existing address book(s) is the real ticket, and everything else falls short of what users really want–that any time I meet someone new or they join a new service, I can automatically find out about it and stay in touch with them without leaving my existing tools. It’s a hard problem, and one that’s not core to most companies, but it’s Plaxo’s bread-and-butter so we’re eager to dive in.

Actually, It’s kind of funny in retrospect that Plaxo launched in 2002–before Friendster, before flickr, before LinkedIn, before MySpace, before Facebook, etc. Even way back then (heh), we thought the problem of staying connected to the people you know was hard enough to warrant starting a company. The initial pitch pointed out that the “explosion of communication tools” (meaning, at the time, email, IM, and cell phones) was actually making it harder to stay in touch, because there were so many channels to keep track of now, and they all tended to be incomplete and out-of-date. Boy is that ever more true today than it was five years ago! Just like before, all these new tools ostensibly aim to help you stay more connected, but they can only truly deliver in conjunction with a service like Plaxo to help you manage it all.

The good news is that these days we’re in the best position yet to make a difference in this new social web. We have 15+ Million people already using Plaxo, we have 2-way sync with most of the major address books and calendars out there, and most importantly we have built our service on open standards like SyncML, vCard, iCal, etc. that will enable others to pick up where we’ve left off.
This last point is really the starting place for my new role as Chief Platform Architect. We are fortunate to be part of a community of developers and evangelists that cares deeply about keeping the social web open–and thus interoperable. I’ve spent the last few years participating in events like the FOAF Workshop, MashupCamp, Internet Identity Workshop, OSCON, and others, trying to figure out how the community envisions building a user-centric social web and how I and Plaxo can best help. It’s exciting to see the fruits of these events start to ripen–things like OpenID, microformats, cross-site mashups, standards-based identity agents–and even more exciting to get to spend my days figuring out how Plaxo can continue to embrace them, help them continue to develop and flourish, and use our technology and resources to help get them deployed at web-scale.

The company is firmly behind this effort and everyone here gets why open is the way to go. In fact, it’s really the only way to go for us–if you believe (as we do) that people will continue to use multiple tools and services and that no single site will own everything (i.e. if you believe that “the web will continue to be the web”) then you can’t wire everything up in a top-down fashion. You have to agree on standards, keep users in control, and empower them to let their data follow them around wherever they go and share it with whomever they want. There’s still a hard problem to solve in the implementation and operation of such a system, and that’s where Plaxo (and others) will be able to run a thriving business. But believe me, we’ve already written one-too-many custom authentication and sync conduits and we long for the day when a new service can just point their standard sync endpoint at us and the rest is done automagically. The day where I can join a new service and instantly find out everyone I know there–including people that I meet or that join later on. That’s the goal, that’s what I’m working on. Let me know what you think!

Twitter status and upcoming events now on my blog sidebar

BTW, I’ve added my current twitter status (using Twit-Twoo) and events I’m attending (via to the left sidebar of my blog. It’s cool how easy it is these days to integrate data from third-party sites without having to write any API client code. Like we found with Plaxo’s widget, when you can just give people some HTML/JavaScript to copy and paste, the barrier to adoption is dramatically lowered compared to requiring even simple direct API consumption.

Of course, as someone who reads blogs exclusively inside Bloglines, I rarely see the actual web pages where people host their blogs. If you’re like me, now you know I have this extra info on my site. But from what I’ve seen, it appears many (if not most) people still read blogs by typing in the URLs and seeing if there’s anything new. It seems crazy not to take advantage of RSS, especially given how user-friendly many blog readers are these days, but I guess old habits die hard. :)

WordPress "XML-RPC server accepts POST requests only."

This morning I found I couldn’t publish to WordPress using Windows Live Writer any more. I would get errors like “Invalid Server Response – The response to the blogger.getUsersBlogs method received from the weblog server was invalid.” and when I looked at the request in HTTPAnalyzer, WordPress’s xmlrpc.php was sending “XML-RPC server accepts POST requests only.”, even though I WAS posting. Since WordPress’s WSYWIG and HTML editors both horribly mangle any code samples you try to use, this was quite frustrating.

But after a bit of Googling, I found a quick solution that worked perfectly. Just add the following line of PHP to the top of your xmlrpc.php file (inside the <?php of course):

$HTTP_RAW_POST_DATA = file_get_contents("php://input");

Thanks to helpful bloggers like Will for reporting solutions to problems like this, and thanks to Google for helping other distressed hackers find them! I hope this increases the ease with which this particular solution can be found by others.

How to stay current with my blog

If you would like to find out when I post something new to my web site, here are three ways to do it (ranging from least work to most useful):

  1. Just check periodically. Newest stories are at the top, and you can use the calendar and category links on the right sidebar to see what I’ve written.
  2. Subscribe via e-mail. If you want to receive an e-mail for each post I write, enter it in the “subscribe via e-mail” section on the right sidebar and click “subscribe”, or, if that smacks of effort, you can enter it here:

    Subscribe via e-mail:

  3. Subscribe via Bloglines (or another feed reader). If you’re reading other blogs besides mine, you should really consider using a tool to aggregate them. Bloglines is my favorite–it’s web-based (no downloads) and it shows you how many articles are unread in each blog you read (just like an e-mail program shows you unread messages). I have a “Subscribe with Bloglines” button on my sidebar, or you should be able to enter into most feed readers to subscribe. If your feed reader requires the actual RSS URL, it’s

If you’re not really a “blog reader”, I recommend subscribing via e-mail. It will essentially turn my blog into a mailing list you can subscribe to. And you can still click through to leave a comment when the fancy strikes you.

Joseph, why a blog, and why now?

You know, I used to care about my presence on the web. Or, rather, I used to do actually something about it. In fact, I’ve had a personal web page since 1993, when I was a subfreshman at Uni High in Urbana, IL (the page was called mosaic.home.html, which kinda dates it). Sadly, I can’t seem to find a copy of my website’s earliest incarnation, but I do still have other old versions of my web site from Uni High, NCSA, and Stanford.

After graduating from Stanford in 2003, they promptly took back my Leland account, and my web site went with it (do they really need the extra logins and disk quota that badly?!). [If I’d been a pure CS student, I would have gotten to keep a account, but being in Symbolic Systems—even though I took as many CS classes as most CS students—I was not afforded that luxury.] So my web presence regressed to a collection of google search results, incomplete profile pages, and bylines on blog posts I did for Plaxo.

It’s ironic that my move to becoming a professional web developer coincided with the first time since I was 12 that I didn’t have a personal web page. But honestly, it was just because I was too busy and/or too lazy to find more web space and get started again.

Whilst I was busy working on Plaxo’s web site instead of my own, an additional variable entered the equation: blogs. My first serious exposure to blogs came when Mark Fletcher, who was working at Plaxo in the early days, started talking about how he was going to build a web-based blog aggregator he called Bloglines. I remember at the time thinking to myself, “Mark, you’re a smart guy, and the only time-sink bigger than reading these random geeks’ rants in the first place is actually building a tool to help you read more of them!” Of course, in retrospect, the move was prescient (I shouldn’t be too surprised: Mark has a track record for timing the democratization of geek tools, having done the same during the bubble with mailing lists at ONElist/eGroups) and I now spend more time in Bloglines than any other web site.

Most of the blogs I read are not personal blogs, but rather news about companies I’m interested in (e.g. TiVo, Netflix, Zvents), technical articles about web development (e.g. Ajaxian, A List Apart,, or mentions of Plaxo across the blogosphere (Bloglines search feeds do this well, as does Technorati and Google). Most people I know that have started personal blogs post infrequently, and unless they’re a personal friend of mine, I’m not usually interested in that much of what they’re saying (it’s just not that relevant to my life).

So, why a blog, and why now? The direct reason is that I made a New Year’s resolution (sorry, Rikk, I know you hate those) to do a better job of work-life balance and setting up a personal web site is one of those “life” things I haven’t been spending enough time on lately (spending more time with my wife is another). But I’ve also had more cause to want to put things online lately. I’ve been giving more talks, going to more conferences, and working on more cutting-edge web development that I want to discuss and share with my colleagues across the web. Mainly I’ve done so through Plaxo’s corporate blog, but there’s a lot I want to talk about that’s probably too specific and long for that forum (you may have noticed my inability to keep blog posts short by now). And when Mark Jen (who, I’m happy to say, I helped hire at Plaxo when Google foolishly let him go) told me he could hook me up with space at DreamHost and even set up WordPress for me (Matt, you’ve done a bang-up job with that project!), I decided I really had no excuse not to go for it. So here I am!

I really will try to keep this site fresh and meaningful, and I encourage you to pressure me if I don’t live up to that goal. I started keeping a list of ideas for things to write about and it’s already several pages long, so all I need is the time/discipline to regularly spend some time on it. The few friends of mine that do regularly post about their lives and share photos make me feel much closer and more connected to them than I otherwise would, and I hope I can return the favor. One realization that made me want to start a personal blog even after seeing so many rantings-of-some-random-dude is that just because anyone on the web can read your blog doesn’t mean you have to write for a global audience. If a few people that want to keep in touch with you can do so from your blog, you’ve done them and yourself a service, and if it’s not relevant to everyone else, they can read something else.

That being said, a lot of what I hope to write about is ideas I’ve had about web development, tech, and entrepreneurship in general, which I hope will be of interest even to people that don’t know me personally. I’ll try to do a good job of tagging my posts so you can focus on the ones you care about. Let me know if you have any suggestions about how I can design/run this site better. I hope I can manage it like any good startup project: ship early and often, listen to your users, and rev quickly. :)

© 2016 Joseph Smarr

Theme by Anders NorenUp ↑