Don’t fund your online business with advertising (It’ll only make everyone hate you) (by )

I first got online in 1994 or so, and the Internet was a very different place to how it is now. It was like a busy marketplace - thousands of FTP servers, things you could telnet to, email addresses, Usenet groups, IRC channels, gophers, MUDs and, increasingly, Web sites. Directories like DMOZ and Yahoo!, as well as FAQs for relevant newsgroups and mailing lists, were how I found things. It was cheap to set up servers and run services on them, so lots of people did. Companies and universities got leased lines to provide Internet access to their folks, and ran servers to provide their presence to the Internet; while individuals got dialup Internet access, and basic email/Web hosting capability from their ISPs; or for the nerdier amongst us, wrangled or paid for "colocation", getting somebody with a leased line to let you put your computer on a shelf somewhere, hooked up to their power and network.

It was pretty chaotic, but it worked. Internet usage exploded in that period, but the rate of technological advancement wasn't that fast (relatively speaking). All the technologies we used - TCP/IP itself, DNS, Email, Usenet, IRC, the Web - were built around some documents describing how the system worked (usually in the form of RFCs). Most of these technologies were implemented in two parts: the client that somebody ran on their computer to interact with it, and the server that somebody ran on a big permanently-Internet-connected computer with a fixed IP address and a nice hostname. For instance, with the Web, the client is your Web browser, and the servers are the computers that actually hold all the web pages; your web browser talks over the Internet to the server responsible for the page you want, gets it, and then shows it to you. Because the client and the server talk to each other using the protocol defined in the documents, there would often be several clients and several servers available, written by different people and aimed at various different kinds of users - and they would largely work together. To introduce something new, be it a new feature on an existing system or a new thing entirely, you needed to standardise that, then you needed the clients and servers to implement it in their latest versions, then you needed people to actually install them. Usually, you'd start by prototyping your feature by modifying a client and a server you have access to (eg, open source ones); having a working proof of concept helped a lot in getting your proposal into an existing standard and getting adoption from the community - but you still relied on standards committee members, client and server developers, and finally, people who decide what software to use and whether to upgrade to the latest version, to accept your new idea before it became widely available. You might find yourself in the frustating situation of 70% of clients supporting your new feature, but the people running servers not wanting to use that new feature (or even upgrade to the server software needed to use it) because the don't want to exclude the other 30% of their users.

But the Internet started to make people money - both real, proper, money in the form of people buying stuff and paying for services online, and pretend money in the form of immense amounts of venture capital invested in companies hoping to chase the real money. Rather than trying to develop new technologies to support their business models and getting them out there, they had to rely on what was already there - largely the Web, as it allowed them the greatest control over how their offering was presented to the user. It had its limitations; some were addressed by evolving the Web with new versions of HTML and HTTP, perhaps most notably the introduction of encrypted HTTPS, enabling e-commerce and the Browser Wars races to improve the user experience that could be offered. And some were addressed by companies writing the client and server software themselves, to their own specification. RealAudio did this for streaming media, and numerous instant messaging apps rose in the wake of ICQ.

I remember those things as cool, but slightly frustrating. Although they brought great new applications to the Internet, they came with a lose of control - the official clients were only available for popular platforms, and they tended to be quite restrictive. I could easily write my own software to automate my email, IRC bots, and my own CGI Web applications because those things used published specifications and the existing client/server software was usually written to be extensible, but corporate walled-garden systems actively tried to make it hard to do that; they wanted to reel people in with the free client to grow a large user base, then charge those who wanted to exploit that for the right to use more featureful clients. That meant that people writing their own clients would become competitors. Often, the company never released the server software to anybody, insisting on running it themselves in order to retain control. The open source community quickly went to work reverse-engineering the protocols and writing their own clients, but they were always fragile; whenever the owners made a breaking change, the open-source clients would break while the developers scrabbled to reverse-engineer it and update their software (and then everybody had to upgrade their clients).

At the time, it seemed a relief when companies managed to offer their service through a Web-only interface; advances in HTML, JavaScript and CSS were rapidly leapt upon and, as soon as enough of the installed browsers supported it, used to develop apps previously thought impossible to build on the Web. I remember the excitement over Google Maps coming out, using dynamic JavaScript to create a map that could be scrolled around and zoomed in and out of fluidly; previous mapping sites had buttons you would click to move a fixed-size jump in each compass direction or zoom in and out, re-drawing the map from scratch each time. Web-based apps would work on any recent-enough browser and, thanks to the Browser Wars, browser developers were being quick to roll new features out to lots of platforms. Web-based apps worked on a lot of platforms - including the small but growing mobile web - and Just Worked without downloading a client (over 56k dialup or a few megabits per second of leased line or early DSL if you were lucky), installing it, and periodically doing the whole thing again for an upgrade.

But a rot still set in. While an application like email worked by people who wanted to provide email addresses running mail servers and people who wanted to use email addresses installing mail clients, and all these bits of software talking to each other to get messages delivered, Web apps were centralised. When one typed www.livejournal.com into one's browser, the browser took you to the LiveJournal, hosted on servers owned by a fellow called Brad Fitzpatrick through his company Danga Interactive, and you had to create an account there. And so any use of such a service was bound by the operator's rules.

That wasn't a problem in itself. Popular ideas were implemented widely; LiveJournal had competition from many other blogging sites, and you could easily host your own blog.

LiveJournal let you set up an account on their system for free, but you could pay a subscription to get better features. However, this business model wasn't very attractive to the venture capitalists, who wanted to go from zero to high-valuation IPO in not many years. Customer bases willing to pay even a monthly pittance for slightly better blog hosting didn't grow fast enough for that. Instead, companies increasingly offered their entire service for free, and funded it with advertising. Giving as much away for free as possible drove more users to their site, and got them using it more often - which created three desirable things:

  1. Gathering lots of data about their users, by seeing what actions they perform on the site, and what things they look at; this could be used to offer tailored adverts by "profiling" users and figuring out what kinds of things they might be swayed by.
  2. Harvesting lots of "eyeball-seconds", time spent by users looking at pages on your site - and therefore looking at the adverts, which advertisers can be charged for.
  3. Getting really exciting statistics to push up that company valuation for when you IPO. Something a good fraction of the human race looks at every day is got to be worth something, right?

The problem was that the users weren't the customers any more. As the saying goes, if you're not paying for it, you are the product. The companies were only incentivised to make their product desirable to users in order to harvest their data and eyeball-seconds. Social networks, the rising category of online business, became subtly more prone to angry debate and controversy - not, I suspect, deliberately, but purely because that was the natural outcome of the economic pressures on them. The ability to forward things you saw onto your entire friend group ("retweets", "reshares", etc) became increasingly emphasised, because it provided a way for adverts to be shared virally - and because a nice easy "retweet" button on a stream of different images scrolling past somebody is a great way to quickly gather information about their attitudes for those precious targeted adverts. However, it also became a great vehicle for hate speech and lies; and increasingly finely-tuned targeted advertising engines with massive user bases, available for hire at bargain rates, became a wonderful tool for the manipulation of entire populations.

At the time of writing Facebook's had a lot of bad press for allowing Cambridge Analytica to influence elections, and that's made a lot of people realise the extend of how targeted advertising is used to manipulate them. Facebook is by no means the cause of this problem - it's endemic in the economic and cultural factors it grew in; but it's perhaps the largest example, and certainly one in the public eye right now.

Back in the early days of online chat apps, independent clients based on reverse-engineering the chat protocols for each network had one important edge over the native clients: they were often network-agnostic, supporting several different networks with a single interface. This was a boon for users, as they could be present on as many networks as they wanted without having to run lots of different clients. This made it easy enough to be on pretty much all the networks at once. However, this wasn't good news for the providers - they wanted users to use their client so they could be shown in-client ads, and those with an edge in the market would benefit from it being a pain to join lots of networks; they wanted to push smaller networks out by making it not worth running an extra client app to be on them. The chat protocols quickly became increasingly antagonistic to reverse engineering, using various technical means.

Similar incentives drive the social networks of today to discourage third parties from reverse engineering their protocols and writing alternative clients. Facebook has a long history of discouraging third-party software trying to integrate.

Sometimes they've started off using an open protocol; Facebook Messenger used to offer an XMPP interface, as did Google's chat offering, allowing them to interoperate; but in due course, they shut them down. Slack is dropping their IRC and XMPP interfaces. I am wondering if Google Mail will drop SMTP support one day...

Another problem with ad-funded social networks is that their desire to increase "engagement" and to allow advertisers to buy a share of your attention motivates them to try to take control of the feed of events users see. Originally, the social networks showed you a superimposed feed of things posted by the people you followed, in chronological order; but they soon moved over to "algorithmically curated feeds", training machine-learning models to work out what posts you're most likely to read in more detail or react to with those like or retweet buttons - while also blending in ads. However, this isn't entirely in the user's interests; many people enjoy seeing little messages from their friends that don't warrant pressing a button to engage with or spending much time on, and the curated feed algorithms penalise such content in favour of things that get people's blood boiling (or, of course, things said by people with money); and trying to show people more of the same kind of stuff they've reacted to in the past means that people end up seeing an increasingly narrow slice of what's going on around them. I've heard various anecdotes about people not seeing an important Facebook post from one of their friends (event invitation, announcement of a bereavement, that sort of thing), seemingly because The Algorithm penalised the post; things like that can cause a lot of strife, which is exacerbated by the social networks having only poor facilities to search your history - they're focussed on choosing what to show you, rather than you having control.

Of course, the "old Internet" was never completely decentralised. The authority of DNS led back to the controllers of the root zone, who handed out monopolies over sub-domains such as .com and friends; dissatisfaction with that led to the current system of competing registrars, but it's still, at heart, beholden to a centralised authority in ICANN; Usenet's structure is under the control of the Big 8 Management Board. But these organisations sit at the top of hierarchies, delegating power; and as the software used is all free, people are free to (and often have) set up their own alternative networks with their own governing bodies, by just changing the configuration (at the cost of opening a can of political worms at times!). As a case in point, I run my own IRC network and have long toyed with the idea of running my own Usenet system. The centralisation of the old Internet is weak, and easily toppled if needs be; and as the central bodies tend to be committees of volunteers, they have little vested interest in not supporting their replacement with less-centralised technologies (e.g. Namecoin could replace the root DNS zone).

I miss the old Internet, because the modern one seems to be much less fun, thanks to the increasing centralisation around predatory advertising empires. Sure, I'm nostalgic for the excitement of those pioneering days; but that rapid expansion into a new world is the environment in which the rapid rate of development afforded by a centrally-controlled walled garden fuelled by venture capital thrived.

Sure, all that stuff still largely exists - IRC still works fine, although Usenet died of spam. Email persists, for those who can afford the time to manage the complexity of a proper anti-spam setup; but it's increasingly used as a way to receive notifications from automated systems rather than for humans to communicate with each other, and I sometimes wonder when gmail will drop SMTP support. The Web is still going strong, with projects like Wikipedia and OpenStreetMap setting good examples of what can be done when centralisation meets openness, and a thriving economy of e-commerce stores still existing outside of Amazon and eBay. New technology is being developed, such as Diaspora, GNU Social, Mastodon and Patchwork.

So you might well ask what I'm complaining about, exactly. Three things:

  1. I face relentless pressure to join those walled gardens. I have a facebook account, because I'm forced to use it to talk to people who are only available via Facebook - either through using Messenger as their primary means of being reachable, or clubs and societies who run a Facebook group to send out announcements.
  2. People think this is how the Internet works now. Any new cool thing is a central service that keeps tight control and will, one way or another, use that to try to make money out of me. The centralised services are all that most people use of the Internet - they don't realise just how good it can be. I've actually had people tell me they think it's impossible to build massive systems in a decentralised manner (which is patently false; it's actually very hard to build massive systems in a centralised manner, as even the corporate monopolies actually build their systems as, internally, decentralised systems spread over a network of regional data centres).
  3. The terrible effects of centralised social networking on modern society; fake news, extreme political views finding a new voice, and all that.

I think it's time decentralised systems had a comeback. The corporate Internet had its day, bringing the venture capital funding in to fuel massive growth and experimentation, but that's slowing down now. We know how to build a social network. In this day and age, we can produce Web-based clients for open protocols, as well as clients that can be downloaded in a click from an app store. Servers can be run for free as community projects, as value-adds to internet service provision or membership of a group, as paid-for services, or even as ad-supported free (just as long as they don't try to become walled gardens). In fact, with widespread powerful mobile devices and plenty of resources available to Web clients, we can shift much more of the work to the client and thereby reduce the costs of running servers and making it easier to build those networks without needing central funding. Advancements in technology mean we can use things like Secure Scuttlebutt or blockchains as a general "server side" for a plethora of different apps distributed purely as clients, thereby removing some of the normal delays in decentralised system development.

There will be challenges, particularly with scaling and abuse; the centralised services struggled with them as they scaled (remember the Fail Whale?), and the fundamentally different nature of decentralised systems means that they face the same challenges in very different ways; we can learn a lot from the challenges email and IRC have faced. Mastodon seems to be going through this phase at the time of writing.

The feature set of ad-supported online services right now is built around the desire to sell as much targeted advertising as possible; a world of services funded differently will produce different kinds of products. Although the core features needed to make a service work at all will necessarily remain, other features will change - and some services might just not work at all in such a world. For instance, location checkins are funded by the locations themselves paying to gain publicity in one way or another; building such a thing on top of a decentralised social network like Mastodon will require finding a way for venues to incentivise people who publish mentions of visiting them (be it with vouchers or cold, hard, cryptocurrency); this would presumably take the form of some software run by the venue that searches for correctly-phrased mentions of them and then sending them their reward through a direct message. But how does the venue encourage people to do that? With a centralised social network that's added location checkins in order to reap their cut of the advertising revenue, they make their client software notice you're in the venue through device sensors, and prompts you to check in with a single click. Would there be sufficient incentive for users to install an app that searches for nearby venues' declarations of their participation in such a scheme, uses device sensors to decide which venue they're in, and prompt them to confirm publishing the announcement? Who would want to write the app?

But every time a popular service is shut down, or leaks its customer's data, or people notice just how badly they're being sucked into walled gardens for the benefit of advertisers - the mainstream population gets a little more interested in finding alternatives. I think that now the Internet is maturing, the currently prevailing model of funding development will start to falter, and users will demand that their interests are better catered for.

The future's bright, but it's being a while coming. Note the dates on this:

Infrastructures

Further reading:

  1. We are Missing the Point about Facebook, Cambridge Analytica, etc..
  2. Wikipedia on Criticism of Facebook
  3. Wikipedia on Twitter issues and controversies [apparent].
  4. Wikipedia on Google+ controversies and criticism
  5. Wikipedia on Nymwars

UPDATE: Lycos is shutting down their ad-supported free mail service because it's not making enough money from ads to fund itself, but still offering paid email. Wouldn't it be nice if Facebook did the same? 🙂

1 Comment

Other Links to this Post

RSS feed for comments on this post.

Leave a comment

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales