The Compleat Hangler

Ello there

A few thoughts on Ello, after using it for a little while today:

  • Most importantly, I’m glad that a social network is taking both privacy and (lack of) advertising seriously. Ello’s manifesto repeats the the “you are being made into a product” mantra. It’s become a cliché, sure — most recently making an appearance in Apple’s newly-updated privacy statement — but there’s truth and resonance to it.

  • It’s definitely beta software. It’s semi-broken in Safari 8 — and that’s not the only bug I’ve seen, as searching doesn’t seem to work very well either. The user interface could also use a lot of work; it’s hard to know what kind of page I’m on (to use the familiar Facebook metaphors, my wall? my feed? my friend’s wall?).

  • For a service which makes privacy a cornerstone of its offering, it’s difficult to tell exactly which items I share are public, and where they’re visible. For instance, my public page shows that I have made 7 posts, but only shows two of them. My friend Caitlin’s public page shows her posts, including my comments on them. It’s unclear to me what would happen if I changed my “Public Profile” setting to “No,” though. Presumably my posts on my own “wall” wouldn’t be visible — but what about my comments on Caitlin’s? (In fact, my comments on Caitlin’s post show up as “User’s public profile not available” when I make this change: but her contextual responses to my comments are still there, making it possible to figure out both my identity and the likely content of my posts.)

  • Apparently, there are already plenty of username squatters. That’s going to inhibit discoverability.

  • Speaking of discoverability, it’s almost impossible to search for people. This is partially due to the fact that search plain doesn’t work half the time. And even when it does, it doesn’t seem to return intuitive results: I tried to find a friend by searching for “Firstname Lastname,” which didn’t work, but “firstnamelastname” did. (Their username was not firstnamelastname, either.)

  • Will the initial burst of interest in Ello drive enough adoption to overcome the entrenched network effects enjoyed by Facebook? That’s highly doubtful. The thrill around Ello today reminds me of the excitement when the now-all-but-defunct launched a couple of years back. That said, seemed mostly of interest to geeks, especially developers. So far, Ello seems to have a wider public attraction.

  • Ello has chosen to launch without a mobile app. That might be fine for now, but it’s probably not very sustainable in today’s market. They do have iOS and Android apps in the “coming soon” section of their feature list. What’s missing there, though, is mention of an API. Permitting third-party applications might be difficult given Ello’s planned monetization route, which appears to depend on users paying for “special features.” What form these features will take is unclear; I imagine (and hope) it will be more than, say, stickers. (They seem to work for LINE, though…)

  • And that brings me to my last point: monetization. This remains the huge question mark. Ello has investors, though they apparently don’t own very much of the company. Still, especially as the company grows, the investors and the founders alike are going to want to make money. This isn’t just a matter of striking it rich, of course; the entire integrity of the network will depend on eventual profitability. Without that key factor, Ello may well face the same sad fate as, which was, after all, founded on very similar values to those professed by Ello’s founders.

Dumping JSON-formatted data from Mongo into a flat file

For a class project, I’ve downloaded and stored a large amount of JSON data in MongoDB. Now I’d like to export those JSON objects to a flat file from the command line. For anyone else who might be interested (and for my own future reference!), the command is:

mongo localhost/yourdbname --eval "db.yourcollectionname.find(
  {'your': 'filter'}).forEach(function(x){
  })" >> filename

(You might need to remove the line breaks in the above command.)

A few caveats before you work with the output:

  • There will be a couple of lines of Mongo connection information at the top, which you should delete.
  • The JSON objects will not be comma separated; one will be printed per line, though, which makes them easy to load into other tools.
  • If you are using Mongo’s default keys, you will have a key-value pair of “_id” : ObjectID(“12345”). This value is not valid JSON and will need to be cleaned.

Oxford Open Data Day

For Open Data Hack Day in Oxford, Gili and I decided to play around with data from the International Broadband Pricing Study released last year by Google. We decided to look at mobile broadband prices around the world: in which countries can you obtain data on your mobile device for the least money, relative to your purchasing power in that country? The study collects information on consumer mobile plans sold by major carriers in each country, so we had to do some data aggregation first. Initially, we took all the available data plans in each country and took the average price per gigabyte. However, we noticed some significant outliers, which in turn led to some bizarrely high prices, such as $1200/GB for mobile data in Turkey! The final map shows the cheapest possible price per gigabyte of mobile data. (Of course, there are problems with this approach, too; it’s probably not reflective of what the typical consumer is paying each month.) We divided the cases into quintiles, and colour-coded countries according to which price range they landed in. Countries for which no data was available are coloured grey. Click on the image (or here) for the interactive version, which might take a moment to load.

Mobile broadband prices

The results are perhaps not too surprising: the cheapest mobile broadband tends to be found in the developed world, especially Scandinavia and Central Europe. (The reverse pattern does not hold, though: there are plenty of developed countries, including the United States, where mobile broadband is not particularly cheap.) The most expensive countries are scattered around the world, but there is a definite concentration in Africa. The single most expensive country in the world is Cameroon, with the cheapest mobile data plan costing $81.26 per gigabyte! The (messy!) code is on GitHub here. Please feel free to get in touch with any questions, feedback, or suggestions. Finally, you can check out some of the other participants’ projects here. Thanks to the organizers for arranging an excellent day of hacking!