Thinking in Solid

...My heart's in Accra 2019-07-30

“Why does Amazon ask me to review something the day it arrives?” Amy asks. “I usually don’t know if it’s any good for a couple of weeks. They should email you again a hundred days later.”

We’re walking the dog on the Ashuwillticook rail trail, which runs along side Cheshire Lake, a few miles from our house. When we manage to get our schedules in sync, this is one of my favorite rituals. We walk four miles in a little more than an hour. The doggo gets properly exercised and we get the chance to talk about whatever’s on our minds.

Amy has been sewing new cushions for our patio furniture since the previous ones decayed. Her mind is on reviews of patio furniture. You have no idea if your patio furniture is any good until you’ve had it for at least one season, and it should be possible to sort reviews on Amazon and find only the ones by folks posting after they’ve owned things and lived with them for a while.

What’s on my mind is a talk Tim Berners-Lee gave about Solid, and decentralized models for rebuilding the web. And because we’re walking the dog, these trains of thought merge on the rail trail, and we start designing a new product review site based on Solid.

Amazon reviews work by keeping track of what products you’ve ordered and when they’ve been delivered. A day or two after Amazon believes they’ve been successfully delivered, they ask you to review the product, giving it between 1-5 stars and a short review.

There’s all sorts of things wrong with this system. Only 3-10% of consumers rate any given purchase, and only about 40% of consumers rate at all. We’re more likely to review a product that we loved, or one we really, really hated, so reviews tend towards binary extremes – ones and fives, with very few twos, threes and fours. And while Amazon requires you to purchase an item before it will let you review it, there’s still a vast ecosystem of review fraud, in which sellers refund the cost of an item and send a bonus in exchange for five star reviews. This practice is so common that as many as one in three online reviews may be fake in some product categories (inexpensive electronics, in particular), and a group of watchdogs, including ReviewMeta and FakeSpot have sprung up to combat fake reviews. Amazon reports that it’s putting significant resources into combatting review fraud.

These are real problems, and none of these are the problem Amy wants to fix. Amazon could implement her suggestion – it knows when you purchased outdoor cushions and could email you in 100 days and then again at 400 days for “lifetime” reviews of a product. It’s not clear whether they would. Imagine that reviews submitted months later were more negative than those made at time of purchase. Amazon needs some negative reviews – most consumers are smart enough to grow suspicious when they encounter only positive reviews – but a consistent pattern in which purchases become more disappointing over time might retard sales. Independent review sites like TrustPilot – which has its own serious review fraud problems – could build this service, but they lack key pieces of information: the date that you purchased something, and the ability to verify that you actually paid for it.

Turns out Amy’s service is very easy to build in a Solid world. In Solid, you store data in a “pod”, a data store you control either on your own server at home, or cloud space you control. When you buy something from Amazon, you make a record in your pod of the transaction; Amazon does the same, so they can update their inventory, send you your shipment, etc. Because you have access to your transaction records, you can write a simple tool to ping you 100 days after you’ve bought something to review it. You could write the review on Amazon, TrustPilot, or a new Solid-compliant LifetimeReviews, which would allow you to keep the contents of your review in your Pod, but would include it in a search on the LifetimeReviews.solid site for reviews of patio furniture (with your permission, of course.) In fact, LifetimeReviews.solid would invite you to share a subset of the data stored in your pod so it could prompt you 100 days later about every purchase you’ve made on any different Solid-compliant platform and collect reviews on any product you were willing to evaluate. You’d own those reviews – they’d be stored on your pod – but it would provide a useful service in indexing those reviews and making them available to the rest of the web.

Building a novel product review service in the contemporary Web can feel both impossible and futile. If it were worth building, Amazon would have a massive advantage in building it, given the amount of transactional data they already control… and they’d probably block you from using “their” (your) data to build such a service. And if you succeeded, they’ll just implement their own version of your feature, putting you out of business. And if it were widely used, it would almost certainly be filled with fraud much as Amazon’s system already is. Why bother?

I’m trying to remember what the web felt like in the early 1990s, when there was so much left to build and such low barriers to building it. We built silly and frivolous shit all the time, and occasionally, it turned out to be useful and important. The homepage builder, the product that ultimately attracted users to Tripod, was built essentially on a lark. It took months for us to realize that it was going to be popular and years to realize it would become the heart of our business.

I think Solid has me thinking about those early days because it promises a world of permissionless innovation. Obtaining Amazon’s permission to build a new type of review site feels essentially impossible; the idea that I might build something new – possibly cool, possibly frivolous – and only need the permission of the people who want to use it feels liberating.

Here’s what I really want to build: a news-factchecking tool that lets me control what’s considered a reliable source, rather than giving Facebook that control. And I know how to build it. And I can’t.

Gobo.social lets you integrate posts from different social media – Twitter, Mastodon and parts of Facebook – into a single feed, which you can sort and filter as you’d like. A team in my lab built it so we could experiment with two ideas: – People should have the ability to filter their newsfeeds as they choose, not as Facebook chooses. – We need social media browsers that let us manage our different identities, communities and preferences with a single tool, instead of through dozens of incompatible silos.

In one sense, Gobo has been a success – it’s generated some robust discussion about how social media could work better for its users. But in another sense, it’s been an uncomfortable reminder that innovation these days is anything BUT permissionless. Thus far, Gobo has played by the rules – we’ve used the documented APIs offered by social media platforms, which has meant we have full access to Twitter and Mastodon content, but only very limited access to Facebook. The Facebook API gives us access to the Pages you follow, but not to the posts from any of your friends. (I don’t know about you, but I don’t follow a lot of pages, which tend to be run by marketing departments, not by real people.) It could be worse – we just spent six months trying to get permission from LinkedIn to access their API and were flat-out denied.

We could – and may – integrate social media another way. We could ask you to give us your Facebook or LinkedIn username and password. Using those credentials, we could then access your unfiltered timeline, scrape it and present it to you to filter as you’d like. But that’s a terrible idea – it makes us responsible for managing your credentials, which has all sorts of dangers. (We can create a Tinder account for you, for instance…) And Facebook would demand we shut the service immediately, citing Facebook vs. Power Ventures as precedent.

I’d love to hook Gobo up to Factmata, a very cool new company that evaluates online content and provides scores for believability based on nine different signals. Rather than giving a compound score, or a binary “fake/true” distinction, Factmata offers scores on the different signals, so we could give you – through Gobo and Factmata – the ability to filter out news it thinks is clickbait, or thinks is politically biased, insulting or sexist. Would Factmata do a perfect job of filtering out bogus news? Almost certainly not, but Facebook is extremely unlikely to do the job perfectly either, and while you’d know the ways in which Gobo and Factmata failed, the inner workings of Facebook are entirely opaque.

Would Solid solve this problem? Not immediately, of course. In a world where Facebook, LinkedIn and everyone else chose to make their services Solid-compatible, it would be trivial to pipe these services together. But Sir Tim has made it clear that his goal is not to challenge Facebook, but to invite innovators to experiment with a new way of building websites.

My fear is this – that we need to experiment with tools like Solid and start working to pry open Facebook at the same time. There’s immense amounts of human effort going into closed, silo’d, non-interoperable platforms like Facebook, LinkedIn and YouTube. I’m not comfortable ceding that accumulation of creativity to those who’ve moved fast and fenced off their corner of the web. We need to create new social media platforms, but we need to understand that 99% of what people want to do at present is communicate with friends on existing platforms, and we need tools that bridge that gap. We need the ability to innovate around huge, existing services like Amazon, if only so Amy can stop sewing couch cushions and start her new review business.