Activity streams: not just for the cloud

Ben Werdmuller April 24, 2012 | Comments (7)

At the end of last year, I was asked to contribute my wishlist for Linux on the desktop for an issue of Linux Format magazine. Here’s what I submitted:

I want an activity stream for my activity on my local computer, and across my network. When, for example, I make a change to a document, I want my PC to record it on my activity stream as “Ben Werdmuller edited ‘Linux Format wishlist’ in LibreOffice Writer.” By default, those changes are private to me only, but I can set access permissions per file, application, location on disk and type of update (“status update”, “text file”, etc). In a network environment, I can share my activity streams across the network, and see the updates that other network users have allowed me to view. This stream is at an infrastructure data level, so I can choose a number of applications to view it with – although I can easily imagine Ubuntu, for example, shipping a beautiful default app.

Then, I want to be able to program against the activity stream, and the activity streams I can see on my network, using a simple API. This would allow me to sync files, status updates and other things, while not being bound to any one application or utility. It also could provide an interesting underlying basis for social web applications running on Linux servers.

This is a little convoluted, so let me explain: I want my activity on my computer, my activity across my enterprise network, and my activity on the web to be saved to a single activity stream that I control. I want to be able to conditionally share and have access to the entire activity stream – and then do stuff with it, using tools like the excellent ifttt.

Consider the following unified stream:

  • Ben Werdmuller saved Technical white paper to Work out tray 3 seconds ago
  • Ben’s mom sent you an email: A little family news to ben@benwerd.com 15 minutes ago
  • Ben’s cousin sent you a message: I’m engaged! on Facebook 1 hour ago
  • Your task: Finish technical white paper is due 3 hours ago
  • You were tagged in a photo: ElggCamp San Francisco 2012 on Flickr 4 hours ago

In the example above, the act of saving something to the folder Work out tray could automatically cause it to be uploaded to Basecamp, or emailed to a few people for review. Similarly, my being tagged in a photo on Flickr could cause it to be automatically downloaded into my local Photos folder.

Why should my activity stream just contain stuff that happened on the web? Now that we have apps like Google Drive, these separations are arbitrary at this point. What matters is that I did something, not where I did it.

Mission: Explore puts the fun back into checking in

Ben Werdmuller April 16, 2012 | Leave a comment

For the past few years, my friend Helen Steer has been working with the Geography Collective on Mission: Explore, a new way to promote exploration and curiosity:

Mission:Explore is a game, but not as you know it. There are two aims to the game. One is to collect points and unlock rewards. The other is to experience the world in new ways by doing vitally important random and warped challenges. The more missions you do the more rewards you’ll unlock and the more fun you’ll have during your stay on planet Earth.

Mission: Explore’s web application is an inventive take on the geo-gamification meme we’ve seen for years with the likes of Foursquare and Gowalla. Rather than checking in with brands and getting offers, participants are encouraged to travel 100 metres without being seen or put on a show for a security camera controller. And of course, they get rewards and an endorphin rush for doing so.

Because the site’s mostly aimed at kids, there’s less community or real-time interaction than there could be – what if one of the missions was to join up with six other people and solve a puzzle or make a shape? – but I love the humanity of the intention behind it. And the execution is great, although I find myself wondering what it could be with Geoloqi‘s geofencing.

Mission: Explore offers bespoke challenges for private groups, as well as a dead tree version. It’s all been done with a lot of love, and is great fun – to the extent that I wish more adult geo-apps would take a leaf from its book. If I had kids I’d be all over it.

Web, the people

Ben Werdmuller April 15, 2012 | Comments (2)

Armenian ParliamentIf there was any doubt that the Internet is radically changing democracy, check this out:

Spain’s new political party, the Partido de Internet, is a policy-agnostic political party that makes its decisions based on the will of a community based on Agora, a virtual parliament platform.

PDI is a policy-agnostic political party that does not have, nor will ever have, a political ideology. It has a single and radical proposal: PDI elected representatives will vote in congress according to what the people have previously voted through the internet using Agora.

[...] Agora is a software project with a clear aim to improve our democratic system. The project is well underway but still not complete, and is driven by voluntary work donated generously by members of our team. We welcome anyone, developers, researchers, security enthusiasts, designers, or anyone else who shares our vision, to collaborate and help bring this vision closer to reality.

Representative democracy as we know it today emerged because it was unfeasible for each citizen to participate directly. The Internet fundamentally changes that, and reveals political parties to be gatekeepers: unnecessary levels of organizational abstraction that are unduly influenced by capital rather than the will of the people they declare themselves to represent.

This is a sea change in how government works, and incumbents can see it coming. It’s worth examining the UK’s Internet surveillance plans in this light. David Cameron said that monitoring emails, web use and phone calls would protect against “terrorist threats that [...] that we still face in this country”. Could that include citizens peacefully organizing to push for greater democracy?

I don’t think it’s going out on a limb to also look at policies regarding anonymity and privacy online in this light. Tracking doesn’t just relate to advertising; it’s also always been used to monitor political dissent (alongside agent provocateurs). This is a subject that relates to how we are governed and – though it sounds almost insanely melodramatic to say it – the balance of world power. Owning and controlling your own data needs to be a democratic right.

I’ll be watching the PDI with interest; together with the Pirate Party, they represent a very interesting new phase in how technology and society interact. And just as news, publishing, entertainment and retail have been disrupted, the incumbent political parties had better take notice.

Photo of the Armenian Parliament by PanARMENIAN Photo, released under a Creative Commons license.

Here’s what Google+ could have been

Ben Werdmuller April 6, 2012 | Comments (1)

Confession: I want to like Google+. I think competition is a great thing, and Google is in a unique position to do something fascinating with social platforms. It’s also significant that a lot of really brilliant people from the decentralized web community – Chris Messina, Will Norris and Stephen Paul Weber, for example – now work at Google. (Not to mention Elgg’s Evan Winslow.) I have nothing but respect for those guys. And, hey, I’ll admit that I’m a little envious that they get to work on it.

In my opinion, search needs to be at the center of social software. It’s how you find new people, resources and shared conversations. As I argued on a panel at SXSW 2011, it’s far more natural to visit someone’s profile by typing “Ben Werdmuller” (for example) into a box than typing “http://benwerd.com/” or “http://facebook.com/ben.werdmuller”.

Google has over 66% of the US search market, so it’s in a great place to be where that happens, which is presumably what was on their minds when they decided to build a social platform. They also have traditionally had a problem with the “deep web” – the non-public bits of information that its spiders can’t get to. More and more, that’s because these web resources are subject to user-centric access permissions within web applications. Because the Google search spider isn’t a user, it doesn’t have access to these resources, and they never get listed.

Which is why I’m so surprised that Google+ has remained a monolithic social dashboard, akin to Twitter or Facebook. (In fact, it’s more so than Facebook, which has done a great job at turning itself into a very impressive social platform.) You share stuff using +1 buttons or the interface on the Google+ site itself, and are limited to the small number of data types that Google have provided on their own site. You can post links, photos, videos and text updates.

But Google is great at making platforms. Because of its openness, Google Maps is still the go-to standard for displaying cartographic information on the web. (It’s significant that its creator now works at Facebook.) Google Analytics is just about everywhere. And Google APIs are typically easy to use, fast to integrate and powerful.

So why isn’t Google+ a platform? The Circles functionality is brilliant: nuanced access control made simple. If Google integrated those access controls throughout the whole web, allowing anyone to integrate them into their sites and applications with search and universal sharing across all of them, they would effectively become a social application operating system. It would be a new kind of platform altogether, and would cement their search portal – and thus, their advertising – as the default place to look for connected resources. To keep privately-shared resources secure, social objects could be stored in the Google cloud, presenting themselves to a requesting application only if the authenticated user had access. At Elgg, we wanted to do this with a feed format called the Open Data Definition half a decade ago, but didn’t have the resource to execute to our satisfaction; Google has those resources. Universally shareable social objects with privacy controls, searchable via a unified Google interface, would transform the web.

Maybe this is what Google is warming up to. But right now, and probably for the foreseeable future, Facebook is a more interesting social platform.

You need to be wearing Google goggles to think this is a good idea

Ben Werdmuller April 4, 2012 | Comments (1)

Today, Google released this video of Google Glass, an augmented reality project:

Beautiful, right? It’s a virtual assistant that sticks with you wherever you go.

Exciting features debuted in the video include:

  • Automatic geo-tracking of both you and your friends.
  • Seamless photo-taking and live video broadcasting from anywhere you can put your head.
  • A head-up display that occupies some of the visual channel.
  • Everything you see – your visual reality – is augmented through a single company.
  • You are continuously recording information about the people around you as well as yourself.

Okay, I confess: by beautiful, I meant scary. Leaving aside the implications of having our ambient information spoon-fed to us rather than discerned through inference and discovery, this project opens an ethical can of worms, and asks important questions about Silicon Valley’s attitude towards other peoples’ privacy.

Indeed, traditionally, this isn’t a can of worms that Silicon Valley has been very good at dealing with. Android phones encourage you to link your friends’ accounts together, joining their Facebook details to their Google details, for example. There hasn’t been a strong line between information that is yours, information about you that you’re happy to share, and information that you’re gathering about other people. It seems clear to me that people should know what they’re sharing about themselves, should have to opt in to do so, and should not be able to share personal information about other people without those people opting in. That doesn’t seem to be an opinion that Silicon Valley shares with me. Most free services are a Katamari-like information-gathering free-for-all.

I’m a fan of many, many things that Google does, and kudos to the product team that’s putting Google Glass together. It’s a very significant achievement. But from a social perspective, there’s a lot of work still to be done.

Community ownership and social networks as markets

Ben Werdmuller March 24, 2012 | Comments (2)

Johannes Ernst just put me to shame by writing this blog post while sitting next to me at Elgg Camp San Francisco:

[...] But there’s a stronger undertone from speaker after speaker talking about their projects. It’s about how the community wants and needs to own and control their social network (instead of just merely having a little section inside a worldwide social network). And how the community wouldn’t be as strong if they couldn’t. About the community needing to evolve the communication tools in parallel to how the community evolves. About how it is almost impossible to “work together” with others on a general-purpose site like Facebook, and how even high school students automatically switch to their school social network when attempting to get something done.

You can read the whole post here.

I spoke a little about ensuring the longevity of communities, which is something I’ve begun to think about in a general context: if you’ve established a community site and attracted a solid social network of people, how do you ensure that the community remains vibrant in six months, or three years, or a decade from now? How do you make sure, to put it bluntly, that maintaining a community remains worth your time?

In the same way that a community site augments the social experience for a network of people, I’m interested in explicit market features that augment the online social experience. For example, open source communities like the Elgg community itself: what if the Elgg ecosystem could crowdfund features and plugins?

This also speaks to community ownership. Why monetize a community using AdSense – content piped in from third parties outside the community, which may or may not be relevant but certainly are less passionate about the community’s topic – when you could empower the community to do this for itself? Why not allow online communities to be truly self-sustainable?

It’s been an interesting day, and I’m looking forward to talking to people afterwards. I’ve set up a collaborative latakoo How I Fly site here, for participants to collaboratively share video footage of the event.

Back from SXSW. What an incredible week!

Ben Werdmuller March 17, 2012 | Comments (1)

It’s been an amazing week, both for me and for latakoo. I’ve only just flopped back into my apartment in Berkeley, but here are some links:

On the official Box blog, Box and latakoo make video uploads faster than ever:

What does scale is anything that improves your productivity by saving time, especially when it comes to uploading videos. That’s why we’re excited to announce a new integration with video management provider latakoo. latakoo employs a one-click utility to shrink and convey large HD and SD video files in minutes instead of hours. Available today, latakoo subscribers can push their videos to Box faster than ever.

Then, CBS Radio News featured us in this week’s Reporters Notebook (MP3 link).

Steve Kline had an HD camera on our stand at SXSW, so we recorded lots of video of passers-by and uploaded it to our SXSW How I Fly video portal. How I Fly is a beta service that allows anyone to run their own collaborative video portal. (Like running your own YouTube or Vimeo.)

Speaking of which, here’s one of my SXSW contributions, sent using latakoo’s integration with YouTube (uploading to YouTube with latakoo is up to 37 times faster than uploading straight from YouTube’s own website):

The lesson I’m trying to drive home? latakoo makes video simple, no matter what you’re trying to do with it. And people are taking notice.

Twitter Bootstrap is rocking my world

Ben Werdmuller March 9, 2012 | Leave a comment

We’re working on a new feature for latakoo, which will allow you to create your own niche video-sharing networks. Cool, right?

What’s even cooler is that the interface is based on Bootstrap 2, a UI framework for Twitter. We’re using it as a bedrock so that the page adapts to the form factor of the user’s device: if you’re on a desktop, you’ll get the full two-column experience, while a mobile device will see things in a compact single column with menu options hidden behind a dropdown.

It’s been very fast, and the framework is extremely robust. I know there have been complaints about it being overused, but to be honest, that’s because it’s excellent. (We’re not keeping the default colors or styles, mind you, which I know a lot of people are.)

Interested in the video portals? Stay tuned.

Please, keep it simple

Ben Werdmuller February 24, 2012 | Comments (6)

I really feel like Microsoft turned a corner a few years ago, and I’ve been impressed with their decision-making for a while. Windows Phone? Pretty neat, actually. “Authentically digital” interfaces? A thousand times yes. Simplified Windows 8 branding? Completely agree.

Their decision to simplify their application line-up is another smart move. Your Windows Live ID is now just your Microsoft account; Windows Live Mail is just Mail; Zune Music Player is just Music. And so on.

Just as they’re removing all those bevels and shines with their authentically digital Metro interface, they’re removing the gimmicky branding that’s dogged software naming over the last ten years. Names like Windows Live Photo Gallery are confusing, they smack of design-by-committee, and, contrary to the presumed intention, they sap the product of any discernible personality. Just freaking call the thing Photos and concentrate on making it useful.

Kudos to Microsoft on making that decision.

Startups should also learn from this. Don’t try and invent your own vocabulary: your users won’t thank you for unnatural branding that clutters up your interfaces and forces them to think about what your feature actually does. If it’s a photo gallery, call it Photos, or, y’know, Photo Gallery. If it’s a music player, call it Music. And concentrate on making it fantastic.

In other words, differentiate your product by making it the best damn product of its kind. Anything else is disingenuous.

Update: Note that I’m not arguing against brands here! But minimize your brands. Twitter has tweets, because a tweet was a new thing (a 140-character status message). But Instagram has photos rather than Instaclips, Asana has tasks, etc etc. I’m not arguing that Google should have been called “Search” at all – but Google Docs is a reasonable name, rather than Google Pro Suite or something.

Another update: Stephen Downes got in touch with me to let me know there’s a racist meaning for this phrase. As Stephen pointed out to me, according to Wikipedia, the phrase predates the racist version – but nonetheless, I will avoid it in future. Racism is against everything I believe in, and I apologize to anyone who may have been upset by the association. I’ve altered the post title.

How to stop your images from being pinned to Pinterest

Ben Werdmuller February 20, 2012 | Comments (8)

Pinterest screenshot

Pinterest is an interesting tool, and a lot of people I know love it.

This is how it works. You maintain a set of pinboards for different kinds of images – for example, I’ve got pinboards for logos, app wireframes, and interesting visuals. If you visit a site that has an image you’d like to keep, or share, you click a “pin it” button in your browser, and that image is copied to one of your pinboards.

Obviously, not everyone loves this. It arguably pushes the envelope of fair use, and will probably torch it completely once the owners attempt to monetize. Although images are linked to their origin pages, the attribution isn’t visually striking, and it’s not like the web is actually shared under an attribution license. I’m not a lawyer, but some people might see it as copyright theft.

To answer this, Pinterest have created a meta tag that you can stick at the top of your site: meta name=”pinterest” content=”nopin”. If it’s present on the parent page, Pinterest will refuse to copy your images (although I presume you can get around that by loading an individual image in the browser). Hackers are, rightly, protesting that this sets an unmanageable precedent: imagine having to individually opt out of having your content copied by thousands of different applications by having to stick thousands of different meta tags at the top of every page. It’s dramatically unscalable.

Pinning is not a million miles away from Tumblr‘s reblogging, and it seems reasonable that there should be a meta name=”republish” content=”no” meta tag that covers all of these services.

Until then, here’s some dubious fun you could have at your own risk (if you don’t want to include the meta tag). This was pretty common about ten years ago, when hotlinking images could cause major bandwidth bills for the owner.

  • Currently, the HTTP user agent for the bot that actually copies images for Pinterest is Pinterest/0.1 +http://pinterest.com/.
  • The JavaScript bookmarklet works through your browser, of course, but it sets the HTTP referer for the page to a URL starting with http://pinterest.com/pin/create/bookmarklet/.

I’d detect Pinterest based on user agent, not referer – there are many situations where referer could be stripped out. This is true for user agent too – this isn’t guaranteed to work 100% of the time, and depends on your server setup – but there are only two parties to worry about in this scenario: your server, and Pinterest’s. (If you’re filtering the bookmarklet, you also have to worry about configuration changes in the user’s browser.)

All you need to do is filter requests by user agent in your web server’s graphics folder. If you’re running Apache with mod_rewrite, you could create an .htaccess file in your graphics folder with rules like:

RewriteCond %{HTTP_USER_AGENT} ^Pinterest.*
RewriteRule .*\.png$ copyright.png

The above rewrites any requests for PNG files to copyright.png. The contents of that graphic will be pinned to Pinterest instead of the intended image.

(PS: want to try it out? Try pinning the image illustrating this blog post.)

Next Page »