markpasc

have you seen my scratch pad

Mixing web

Over email, Jake observed that the apps I like are all readers that let me read what I want and get out of the way. Anil noted that none of these apps are actually taking on the entire “rip, mix, burn” cycle. What I am looking for is really the “iTunes of news, when iTunes was good.”

via hello.typepad.com

I'm glad David likes Leapfrog enough to mention it as a favorite, and the idea of the “rip, mix, burn” cycle for the written web (a news cycle, hur) is a useful analogy.

Some of these activities can be integration points for Leapfrog. An Instapaper “Read Later” button will probably be part of the long post support once we figure out how that should work. While we could add a Google Reader input to Leapfrog, people (by whom I mean me) tend to subscribe to an order of magnitude more stuff in Reader and skim. Reeder is good for that, and the impedance mismatch to what your immediate contacts share/post means Leapfrog probably shouldn't try.

(I'm not sure how this “River of News” app compares to Reeder, but it's odd that they'd name their app after the reading mode advanced users of Google Reader don't want. I guess they thought it was a good name anyway.)

Really, though, Leapfrog doesn't let you do any news mixing. Once you select what streams to take as input, it performs the mixing as an automated process. A “mix” step for you to take is more like the project box I mentioned for Leapfrog's blogging complement: rip media (by value or reference) into the box, mix it together in your head, and burn it into your own blog post.

For that matter, Pinboard is almost that, but as Matt Haughey points out:

Pinboard extends the functionality of Delicious to any links [from several ancillary sources,] but like Instapaper, that works best as a personal archiving appliance that you use personally to dig up a story about raising kids you read six months ago at the New York Times. But when you combine extensive personal archiving with a public view mixed into a network of shared links from dozens of friends, you get a mish-mash of bookmarks, jokes from twitter, and wacky sites someone liked in Google Reader. As a personal archive tool, it's pretty impressive, as a shared space to find interesting bookmarks, it's problematic.

Lots of people use Delicious as a substitute linkblog, but if you use it to collect—the “antisocial” behavior Pinboard encourages—you see the inside of everyone's mixing bowl instead of the fully baked result. That only scales to your closest contacts.

If the link is the atomic unit of sharing, the project box is like a Pinboard where you can tag the links into your draft posts. (If the snippet is the atomic unit, you're probably better off with OneNote or Evernote—that's a big problem for a blogging app to tackle.) Then when your remixed post is done, it's a new item that everyone else can read and save to remix, and the circle of life news continues.

The moon/finger comment David mentions is here in this post.

10:29 AM | Permalink | Comments (2)

Blogging for 2011

The last thing I would imagine the world would need is a new blog app, but Anil suggested just that in response to my post on building a journal mesh:

I think the best thing that could happen right now to encourage long-form sharing, though, would be having tools made for the job. I've talked to folks like Kottke and Gruber and Dooce, and of course work with Gina and Waxy, and there just isn't a tool out there for people who want something modern, hackable, resilient, and optimized for an individual. The niceties could evolve out of it, but I'd love to merely have a platform that I enjoyed publishing my blog on.

This seems especially foolish according to the common knowledge that blogging is so over. But as Douglas Rushkoff puts in this interview on the Yahoo! Advertising Blog:

Facebook and Twitter are restoring some of the basic functionality of the early ’90s Internet.... [I]t was originally about people having discussions. But a lot of people were introduced to the ’net via the World Wide Web interface and through sites like Amazon and eBay, concluding that the Internet is a place to buy stuff. Then when the dot-com bubble burst, all these things came up that were more “Internety,” like blogs and chats and Facebook.

As far as blogging really means peer-to-peer written web sites, it'll be around as long as people want to write to each other. If we avoid being needlessly dogmatic, the medium of personal web sites we find so fun to play in can evolve plenty.

In presenting some annotation for Technorati's State of the Blogosphere 2010, Brian Solis suggests similarly that a decline in “traditional” blogging will require a reinvention of the blogging application:

It’s safe to assume that next year, we’ll see the rise of a new form of blogging platforms, those dedicated to simplicity with an emphasis on mobility, curation, instant presentation, and community.

What underserved qualities do we want in a publishing tool? I'd say fun is the main criterion, but that's an emergent property you can't design in. While I don't have the benefit of Anil's conversations, I can nominate some candidate parts.

  • Keep a memory. As Matt Ogle puts it in his article all about the archive, “The current philosophy... is that if it’s not recent, it’s not important.” With more bloggers starting to hit the ten year mark, surely there are better solutions to making useful archives than a chronocentric table of months.
  • Be about the blog. The simplicity of the “fun” blog apps like Tumblr and Posterous make them blogcentric: there's little room for much else. Movable Type poorly served the personal blogger when it became a CMS for integrators to make web sites.
  • Provide an environment for writing. A tool could do so much better than being a box where you paste the Markdown you wrote in another editor. (I admit: that's what I'm doing right now.) On the other hand, there are so many wrong ways to facilitate writing.

A 1.0 could do worse than providing a plain pasteable box, but some ideas about writing environment to explore are:

  1. Be good at keeping drafts, since polishing drafts is a key to quality. Maybe mark your drafts with a Birdhouse style self-rating, so you can glance at which need work.
  2. Provide a library where you can fill in the post's context. This can include media, as in Vox's “library” feature, but really it's about providing the project box for your post.
  3. Further, a feed of your recent web activity can provide social context. I often write a post around that tweet I faved or that link I saved. Presenting activity tiny and tastefully like Walt Grayson's microfeed could keep distraction to a minimum. (It's no activity reader in the least.)

Anil named several other attributes, of which I'll address a couple. One is to be resilient. The naive reading would be that you need to scale for Grubers and Kottkes who serve a lot of page views. I think you can bring a system to scale for them through simplicity, especially since they never or rarely take reader comments. You need only get as close as possible to serving static files of HTML.

However, resilience can also be about the ecosystem: as the current sprawling blogosphere shows, a distributed system is resilient. Many sysadmins make light the work, so it's much easier to scale an interconnected network of individual web sites than a TypePad or Tumblr or WordPress.com. A message can't be silenced by taking down any one site (not even by being acquired by Yahoo!).

Consequently, any feature you want to deploy widely (say, a “favorite” style social gesture) has to work in a distributed way. I think this is supported by the legacy of TrackBack, as inelastic to abuse as it was in hindsight.

The other attribute is to be hackable. This is a problem for me, since if you want to claim hackability as a deployable web application, you'd better be PHP. I'd rather have the force multiplier I get from using a more capable, complete, and (for me) familiar system, even at the cost of narrowing the set of people who can contribute to those parts.

Since HTML5 has brought so many capabilities into the browser, perhaps that's a solution to apply here: regardless of the backend system you know (if any), you can probably make JavaScriptlets that add capability into the app pages client side. (The FogBugz team seems to like that approach.)

In any case, while my experience with blog tools is warped by the ones I worked so closely on, there does seem to me to be an open niche for a tool like this. I'd love to hear where I'm wrong about what bloggers need in a tool or how an app could fill those needs, especially if I turn out foolish enough to try to write one.

03:29 PM | Permalink | Comments (6)

Finding the missing personal blog

How have blogs changed, and what's there to miss about them? fluffy just wrote some good thoughts that dovetail with a project I'd like to work on, so I thought I'd respond at a little more length.

The current impasse

Why does no one offer modern blogging with privacy and freedom? For some reason I think of this in terms of LiveJournal. I guess it was a local maximum for personal, social blogging at the time, so that's what feels missing.

At any rate, it seemed like somebody was going to distribute LiveJournal, but so far nobody has. While Dreamwidth starts to address LJ's specific problems, I don't expect they'll invest the necessary work and goodwill in retrofitting for deep federation. It's plenty enough a challenge keeping Dreamwidth as it already is growing. (I can't find anyone discussing building distributedness/federation into Dreamwidth, but maybe I'm using the wrong keywords.)

Google ReaderPrivate feeds were going to let us do this, as fluffy mentions, but then Google Reader killed the private feed. It doesn't work for them economically, since they have to deliver features with the network effects that, for example, Leapfrog doesn't have. You can't share content from private feeds, and private feeds don't make the world's information universally accessible. (You also can't provide effective AdSense ads for private content, I don't think.)

Yet because Google Reader covers the regular feed use cases so well, there's no room left for private feeds. Maybe this is part of the persistent cloudification of everything: once your reader is in the cloud, it's unmutual to have private content. The alternate scenario is Facebook, where you can have privacy by Facebook's rules as long as you stay in Facebook. That Facebook is only “in the cloud” when you want to bring content in shows that centralized services in the cloud don't want to give you privacy.

I'm disappointed too that these social features never spread beyond LiveJournal, since I stumbled into blogs when there was still more barnraising than snarkflaying. Vox was our own attempt to evolve into some of LiveJournal's behavior, and some people loved it, even if we did wrong by it in other ways—and of course it too was a gated community anyway. People have largely moved into other enclosed services, and the major ones happen not to be about sharing your thoughts with words. The personal journal is a different medium from the status stream, and even if the 80–19–1 rule applies, I'd rather spend time in a community of 19s and 1s who invest thoughtful sharing in each other.

Remember, friends: If you have an important idea to share, & only tweeted it instead of blogging it, it's not really on the record.less than a minute ago via Twitter for iPhoneAnil Dash
anildash

I expect some of you might feel the same way about the depersonalization of the written web. Being able to write to a tightly constrained audience when I wanted was the killer feature of LiveJournal for me, and though Facebook gives you that, it has both effectively banned the long post and locked up the entire network for one company.

I was talking to a friend today about why I'm not on Facebook:

Andy: Is there a specific reason you don't want to join facebook outside the usual suspects?
Mark: part of it is contrarianism
Andy: I have a bit of that.
Mark: i choose not to see value in it, even though i know i miss out on a lot of stuff for not being able to use groups or see events people post or w/e
Andy: Why?
Mark: yeah, that's not a reason is it eh he
Andy: Could you not just post links to your blog automatically through APIs so that people will friend you and have to read and participate in your own space?
Andy: Other people do that
Andy: I could understand (maybe) being in a competing space with Voxel at SixApart or whatevers
Andy: I can also understand just being a contrarian elitist
Mark: yeah
Mark: part of it is lingering from six apart still, i'm gonna have to see how that changes the equation
Mark: i don't trust facebook, and they're really good at private content, so in order to prevent even other people from posting private stuff to share to me, i have to not participate at all
Andy: I don't trust fb either but in that sense I don't participate in that space in any way that's a liability I guess
Mark: yeah, you can not trust it and still use it
Mark: but it's almost like the cliche about photographs taking part of your soul
Mark: to the extent that i invest myself in facebook, they own that part of me

Following this line of thinking, it's Facebook owning the network that provides the distrust; dealing with atomized interaction is more of a distaste.

There are some features of other social networks that align well with the goal of deep personal interaction, but nothing puts them all together into one system. If you don't want to read my stupid technocentric suggestion for fixing a social evolution that isn't technically a problem and so can't be “fixed,” by all means stop reading here.

A proposal (modest)

The project I'd like to do is the complement of Leapfrog—that is, the other half of the Giraffe project it came from. A lot of this I worked out with Martin when we were talking about Giraffe, but like Leapfrog, this is a scaled-back version that someone could build today. Let's take it as a straw man for how a private blog network would work.

This would be a little blogging app that lets you publish to privacy groups. People in your privacy groups have subscribed to your posts using PubSubHubbub, authenticated with OAuth 2/OpenID Connect, so when you make a private post, it's pushed out to those subscribers' own compatible blog apps. New content both public and private that you've subscribed to is then displayed in your blog's private dashboard.

Apropost-diagram

The problem here, especially with regard to fluffy's complaints, is then you'll have yet another inbox for these private posts. A few things might ameliorate that:

  • The original Giraffe design married the publisher to an excellent stream reader (Leapfrog), so there's probably still room to experiment toward a better-than-feedreader experience. Even though it's yet another inbox, it can be a pretty good inbox.
  • Your dashboard can offer its own private feed view for you to put in your non-cloud reader. So if you're one of those people who can use private feeds, you at least have that option.
  • Because this protocol would be a profile of PubSubHubbub and OpenID Connect, you can be on the network without using particular software. You could build your own dashboard to offer any reading experience you like, as long as it's a compatible PubSubHubbub subscriber.

As we found when planning Giraffe, acting from a reader app is a problem. You probably know that if you use a regular feed reader: you have to click through to favorite or comment. Pushing activity back upstream is what Salmon is for, and it's a complicated protocol for a complicated problem. For an expedient prototype, one might just punt and require you act from the originating site. However, since you do have an OAuth 2 token from completing the subscription, perhaps your site would push the appropriate Activity Streams activity upstream to an OAuth-protected endpoint, authenticating you that way. You wouldn't need Salmon's ability to pass through or prove to an intermediary, but the network shouldn't pass content around secondhand anyway, because it might be private. It's less secure, but also provides a lower hurdle for implementation.

In comparison

Among all the other folks thinking and working on these problems to build new social networks and stream readers now, why would a blog-based network be different enough to bother?

I started thinking again about this yesterday, when I got a link to Friendika from somewhere, and decided its technical focus at the expense of design meant I should check up on Diaspora. Diaspora and Friendika appear to be built around the activity stream, so they both look like Facebook clones. In the same way that Leapfrog focuses on content, a blog network would be about posts, not activity. (As in Leapfrog, photos are posts too.)

Diaspora's “aspects” are a good model for privacy groups—though I can't tell how they aren't like LiveJournal's—so that's encouraging. (If you're trying Diaspora too, I signed up on weLeft, so you can try adding me as markpasc@weleft.com.)

Facebook avoids activity burn-out by applying the network's feedback to decide items' interestingness, bumping interesting items up into your feed and leaving trivial items hidden. Perhaps the distributed blog network could too, presenting them as the party on the side of the full feed. That's a challenge to build, though, so I would imagine the first version would have a regular dumb stream. Without Facebook's vast network, the challenge at first is having enough content to keep checking the stream, anyway.

LiveJournal is the original point of reference for this idea, so to my mind this network would work quite a bit like LJ: your dashboard is your friends/reading page, and you post to a preselected group of your friends at a time. (I'd also like to keep/revive a lot of the fun things about LiveJournal, like pervasive, many avatar pictures.)

I guess the dashboard would also work a lot like Tumblr's, though with privacy (and a share-ier sharing model, if I can help it). I don't have a lot of experience with their dashboard, but after I inquired about dashboards, I moved all my Tumblr subscriptions from Google Reader into Tumblr, so maybe I'll have a better idea after using it for a while.

Are there any interesting points of comparison that I missed?

An idea?

I admit this is likely my technocentric missing the point. I hoped this would come out as more of a sympathetic lament. Could something like this help, even in a limited way? What would you be worried about and how would you change it?

06:16 PM | Permalink | Comments (5)

To the Leapmobile?

Strictly speaking, Leapfrog should be an app, not a web site. There are several reasons:

  • Leapfrog collects data speculatively. When you sign in, it gets permission from that service to ask it on your behalf for your new stream data, then does so even when you haven't used Leapfrog in a while. To right-time the aggregation, we'd have to back off when you haven't looked for a while, then look immediately when you sign in after being gone a while.
  • Leapfrog collects private data. Because Leapfrog is contacting Twitter or Flickr on your behalf, it can see posts that your contacts have shared with you but not the public internet. It's scary and sketchy whenever a service holds your private data for you, which is why so many don't.
  • Leapfrog doesn't add any network value. Leapfrog might make it quicker and easier to read your contact streams, but Leapfrog doesn't get better as more people join. Even the new feedback feature goes directly to the source instead of occurring on Leapfrog: you favorite tweets on Twitter, and there's no such thing as a “Leapfrog favorite,” because why the hell bother when everyone else already has them.

If Leapfrog is expensive to operate centrally and nobody benefits from it, why not make it an app so everyone can just run their own?

Increasingly, being an app means being a mobile app. Leapfrog would work pretty well in this context. The main problem is you'd have to invoke it to have it read your streams, as you do with a mobile Twitter client, since it couldn't do it in the background as it currently does. It could still apply all the content-focusing rules, though that's probably more work on the client than any other simple stream reading apps do (other than Reeder, which seems to do a bunch of steps even if it's just pulling from Google Reader).

In this sense Leapfrog is more like Flipboard than some of the other stream reading services cropping up lately. (Laterstars comes to mind since Matt mentioned it, but it's its own weird stream+Instapaper thing.)

11:21 AM | Permalink | Comments (3)

Leapfrog

I've been working with Martin on a new version of Leapfrog, the neighborhood reader we've been building in various forms for a while. I haven't really put down any thoughts about this iteration, though, so here perhaps are some.

@markpasc is there a blog post or something describing what leapf is attempting to accomplish?less than a minute ago via webAndrew Gwozdziewycz
apgwoz

We've been looking at how to present activity streams for a while as part of TypePad and (on Martin's side) the Activity Streams format, but have found that for the purpose of reading what's new or news in your circle of interest, you really want to read the content, not just the activity. Many dashboards we've made and use are simple lists of that activity, so on top of unbolding all those inboxes, you have to dereference all those actions into interesting content yourself.

The best improvement Leapfrog makes over regular activity streams is to focus on those content objects. We use the activities in your streams to decide what content to show, so you see things you might be interested in instead of what your friends are doing. (What your friends are doing is still interesting information, I think, but not for reading-oriented aggregation.) We validated the approach with our previous “Leapreader” app for reading TypePad activity, so this version of Leapfrog applies it to other streams too.

The content-orientation part is rather heuristic, at least with low-information Twitter content. Once you've signed in with Twitter, your friends' tweets start to appear in your Leapfrog stream. The main way other content shows up is when someone you follow posts a tweet that contains one link. We've assumed that means the link is really someone sharing or replying to whatever the link is to, so we heuristically decide what that is and show the tweet as a reply.

Content-reply

Twitter is especially bad at content focus, so this helps a lot. Any “share” you make on Twitter is explicitly not content (the tweet is), and often uses a shortened URL, so you have to click on a blind link to find out what it is. As Martin (nearly) put it, “Sometimes a tweet is content, but often it isn't, and it's hard to tell the difference.” Leapfrog includes the assumption that you want to see the things people are sharing, so it shows you the moon instead of the finger.

Dedupe

(This also permits us to show you the shared items only once.)

Once we decide what the shared object is, we do our best to turn it into a post-shaped item to display inline. Since web feeds offer the highest quality post content, we try to use those first, falling back to OEmbed if it's available. If that doesn't work, we assume we can't have the full content and instead make a “link” style item out of any Open Graph Protocol or other metadata the page offers. We make a few tweaks for certain sites, such as popular photo-tweeting services, but this works pretty well. When it doesn't, we decide the finger really is the moon, and let the tweet stay a top-level content object (though we use any title we discovered as the link's text).

Top-level-share

While this process improves Twitter the most, I also wanted to try to unify some of my dashboards. I was already using Leapreader, the previous thing that was at leapf.org, to read TypePad, but I was also using Aaron Straup Cope's Flickr for Busy People to see what my contacts were posting to Flickr. So this version of Leapfrog includes your TypePad notifications and Flickr contacts' photos too. (Content focused activity inversion should work well for Flickr favorites, but there's no API to get all your friends' favorites at once, so Leapfrog doesn't.)

@markpasc i'm going to go out on a limb and say, it's probably the best feed experience i've had in a while.less than a minute ago via webAndrew Gwozdziewycz
apgwoz

I hope maybe this explains where Leapfrog is coming from. There are still rough edges we'd like to file off, and more services I'd like to add, but it's all in the UserVoice where you (if you like Leapfrog) can add your own suggestions too.

10:31 AM | Permalink | Comments (0)

  • Home
  • Powered by TypePad