Open Thinkering

Menu

Tag: Google

Bonfire’s latest trick shows Google+ circles came a decade early

One of the best things about Google+ was the idea of sharing things using circles that you could define. Unfortunately, like Google Wave, it was a decade early.

For those who can’t remember, or who never experienced Google+, here’s a screenshot from Tojosan dated July 2011:

Screenshot of Google+ showing circles such as 'Friends', 'Family', and 'Acquaintances'

While the idea was a great one, the implementation wasn’t the best. Also, because it was launched at about the same time as mass adoption of social networks such as Twitter and Instagram, people didn’t really have the mental model of what was going on.

The important thing with Google+ circles (which I’ll now refer to just as ‘Circles’) was not that you put people in exclusive groups or categories. As the diagram below by Carrotkit demonstrates, there are things you want to share with one group (e.g. family), and things you want to share with another group (e.g. friends). However, members of these groups are not always mutually-exclusive:

Venn diagram showing 'Friends' and 'Family' with 'brother' in the overlap

Thankfully, this approach is being resurrected by the Bonfire team under the less-snappily-named ‘granular boundaries’. However, the aim is much more ambitious.

As the announcement states:

Within bonfire, you now have the possibility to define circles and boundaries: a way to privately group some of your contacts and then grant them permissions to interact with you and each piece of content you share at the most granular level.

Boundaries go beyond the typical permissions on social media (i.e. who can see your content) and include a long list of verbs in order to represent all kinds of meaningful interactions and collaboration that should be possible on a real social network.

People don’t fit in binary boxes labeled “follower” or “friend”. Circles and boundaries are a way to empower us to come up with our own groupings and sets of permissions.

As Bonfire is a federated app toolkit, extensions will be able to make use of this functionality, for example going beyond simple roles such as ‘admin’ or ‘moderator’ of an instance. I’ve had a tinker with the Playground instance of Bonfire while it was enabled, and although initially a bit confusing, it works well.

Screenshot showing different 'boundaries' over and above the usual (e.g. 'Memes & lols', 'Summer '22 trip' and 'It takes a village')

What I’m hoping is that this bridges the gap between social networking as we know it (e.g. Mastodon, Twitter) and group chats (e.g. Signal, Telegram). If so, it could be useful for everything from professional purposes through to organising kids sport activities. Because, let’s face it, group conversations on the internet are a mess.

Screenshot of circle with defined permissions

In the above example I’ve taken a screenshot of a circle I’ve created called ‘Bloggers’. This includes five people and I’ve explicitly given some permissions and blocked one person (sorry Mayel!) from liking or mentioning posts I share with that circle. This could be an absolute gamechanger in terms of how democratically-organised groups with a flat structure can be organised.

The list, for those interested, of what you can allow others to do is currently:

  • See
  • Read
  • Mention
  • Like
  • Request
  • Follow
  • Boost
  • Message
  • Delete
  • Tag
  • Edit
  • Create
  • Flag
  • Reply

Ivan and Mayel, the core team behind Bonfire are putting in an application for more NLnet funding to work on this functionality. I’ve just applied to NLnet too for a simple badge-issuer that I think could eventually be turned into a useful Bonfire extension. If and when that happens, this level of granularity will be extremely useful to build upon!

The auto-suggested life is not worth living

If you use Google products such as Android, Google Docs, or Gmail, you may have noticed more suggestions recently.

On the other hand, suggestions made while I’m composing an email or writing in a Google Doc are a bit different. I find this as annoying as someone else trying to finish my sentences during a conversation. That’s not what I was going to say.

Some of these can be helpful, for example when replying to questions posed via messenging services. There are definitely times when I’m in a hurry and just need to say ‘Okay’ or give a thumbs-up to my wife.

In a recent article for The Art of Manliness, Brett and Kate McKay point out the potential toll of these nudges:

Some of society’s options for living represent time-tested traditions — distillations of centuries of experiments in the art of human flourishing. Many of our mores, however, owe their existence to expediency, conformity, laziness. Practices born from once salient but no longer relevant circumstances are continued from sheer inertia, from that flimsiest of rationalizations: “That’s the way it’s always been done.”

Brett and Kate McKay

The suggestions in Google’s products come from machine learning which is, by definition, looking to the past to predict the future. One way to think about this is as a subtle pressure to conform.

Back in December last year, I was in NYC presenting on surveillance capitalism for a talk entitled Truth, Lies, and Digital Fluency. Riffing on Shoshana Zuboff’s book, I explained that surveillance capitalists want to be able to predict your next move and sell this to advertisers, insurers, and the like.

It’s an approach rooted in behaviourism, the idea that a particular stimulus always leads to a particular response. The closer they can get to that, the more money they can make. It’s true what Aral Balkan has been pointing out for years: we’re being farmed by surveillance capitalists.

Who wants to live this kind of life? But it’s not just the explicit auto-suggestions that we need to be of. Social networks like Facebook and Twitter feed off, and monetise through advertising, the emotions we feel about certain subjects. They are rage machines.

Stimulus: response. Let’s not lose our ability to think, to reason, and (above all) be rational.


This post is Day 33 of my #100DaysToOffload challenge. Want to get involved? Find out more at 100daystooffload.com

Practice what you preach

I spend a lot of time looking at screens and interacting with other people in a mediated way through digital technologies. That’s why it’s important to continually review the means by which I communicate with others, either synchronously (e.g. through a chat app or video conference software) or asynchronously (e.g. via email or this blog).

When I started following a bunch of people who are using the #100DaysToOffload hashtag, some of them followed me back:



@dajbelshaw you have a really beautiful site that doesn't open for me. First it's not compatible with LibreJs and then uMatrix block Cloudflare's ajax and you'll not get further than loading screen.

I know that some people are quite hardcore about not loading JavaScript for privacy reasons, but I didn’t know what ‘LibreJs’ was. Although uMatrix rang a bell, I thought it would be a good opportunity to find out more.


It turns out LibreJS is a browser extension maintained by the GNU project:

GNU LibreJS aims to address the JavaScript problem described in Richard Stallman’s article The JavaScript Trap. LibreJS is a free add-on for GNU IceCat and other Mozilla-based browsers. It blocks nonfree nontrivial JavaScript while allowing JavaScript that is free and/or trivial.

Meanwhile uMatrix seems to be another browser extension that adds a kind of ‘firewall’ to page loading:

Point & click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.

Meanwhile, the extensions that I use when browsing the web to maintain some semblance of privacy, and to block annoying advertising, are:


So just running the tools I use on my own site leads to the following:

Privacy Badger found 18 potential trackers on dougbelshaw.com:

web.archive.org
ajax.cloudflare.com
assets.digitalclimatestrike.net
www.google-analytics.com
docs.google.com
play.google.com
lh3.googleusercontent.com
lh4.googleusercontent.com
lh5.googleusercontent.com
lh6.googleusercontent.com
licensebuttons.net
www.loom.com
public-api.wordpress.com
pixel.wp.com
s0.wp.com
s1.wp.com
stats.wp.com
widgets.wp.com

Disconnect produced a graph which shows the scale of the problem:

Graph produced by Disconnect showing trackers for dougbelshwa.com

This was the output from uBlock Origin:

Output from uBlock Origin for dougbelshaw.com

It’s entirely possible to make a blog that involves no JavaScript or trackers. It’s just that, to also make it look nice, you have to do some additional work.

I’m going to start the process of removing as many of these trackers as I can from my blog. It’s really is insidious how additional functionality and ease-of-use for blog owners adds to the tracking burden for those reading their output.

Recently, I embedded a Google Slides deck in a weeknote I wrote. I’m genuinely shocked at how many trackers just including that embed added to my blog: 84! Suffice to say that I’ve replaced it with an archive.org embed.

I was surprised to see the Privacy Badger was reporting tracking by Facebook and Pinterest. I’m particularly hostile to Facebook services, and don’t use any of them (including WhatsApp and Instagram). Upon further investigation, it turns out that even if you have ‘share to X’ buttons turned off, Jetpack still allows social networks to phone home. So that’s gone, too.


There’s still work to be done here, including a new theme that doesn’t include Google Fonts. I’m also a bit baffled by what’s using Google Analytics, and I’ll need to stop using Cloudflare as a CDN.

But, as ever, it’s a work in progress and, as Antoine de Saint-Exupéry famously said, “Perfection is achieved when there is nothing left to take away.”


This post is day two of my #100DaysToOffload challenge. Want to get involved? Find out more at 100daystooffload.com


Header image by Gordon Johnson

css.php