Tech

By Johannes Ernst

https://reb00ted.org/tech/

  • 2021-09-04

    Today’s apps: context-free computing at its finest

    Prompted by this exchange on Twitter:

    Let me unpack this a bit. Let’s say that I’d like to send a message to some guy, let’s call him Tom for this example.

    The messaging app vendors go like: “Oh yes, we’ll make it super-easy for him (Johannes) to send a message to Tom, so we give him an extra short handle (say @tom) so he doesn’t need to type much, and also add a ‘reply’ button to previous messages so he won’t even have to type that.”

    Which is myopic, because it completely misunderstands or ignores the context of the user. The user doesn’t think that way, at least most of the time.

    As a user, I think the pattern is this:

    “I need to tell (person) about (news) related to (common context), how do I best do that (i.e. which app)?”

    Three concepts and a sub-concept:

    • Who do I want to tell. In Joshua’s example: the person(s) I’m about to meet with.

    • What’s the news I want to tell them. Here it is “I am running late”.

      • But this news only makes sense in the common context of “we agreed to meet today”. If the receiver doesn’t have that context, they will receive my message and it will be pointless and bewildering to them.
    • What’s the best way of conveying that news. It might be a text, a phone call, or pretty much anything. This item is the least important in this entire scenario, as long as the receiver gets the message.

    So thre are two primary “entry” points for this scenario:

    1. It starts with a person. The user thinks “Tom, I need to tell Tom that I’ll be late”, and the frantically tries to find a way of contacting them while hurring in the subway or driving really fast. (We have all been there.)

    2. It starts with the shared context object. The user looks at the calendar and thinks “Oh darn, this meeting, it’s now, I’ll be late, I need to tell them”. (They might not even remember who exactly will be in the meeting, but then likely the calender event has that info.)

    The entry point is almost never: “how convenient, I have all people I’m about to meet with in the current window of the messaging app, they all know what whatever I’m going to type into that window next is about the meeting, and I can just simply say that I’ll be late.”

    So … if we were to put the user, and their experience, at the center of messaging, messaging wouldn’t be an app. (Well, it might also be an app, but mostly it wouldn’t.)

    Instead, the messaging would be a “system service” attached to the context objects in which I’d like to message. In Joshua’s example that is:

    • the person I’m about to meet with (but this only works if there is a single person; if there are a dozen this does not work).

    • the shared context about which I am conveying the news: here, the (hopefully shared) calendar event. Joshua’s original point.

    Now in my experience, this is just an example for a more general pattern. For example:

    • meeting notes. In which meeting any meeting notes were taken is of course supremely important. Which is why most meeting minutes start with a title, a date/time and a list of attendees. Instead, they should be attached to the calendar event, just like the message thread. (Yes, including collaborative editing.)

      And by “attached” I don’t mean: there’s a URL somewhere in the calendar dialog form that leads to a Google Doc. No, I mean that the calendar can show them, and insert the to-do-items from the meeting, and future meetings from that document, and the other way around: that when you look at the meeting notes, I can see the calendar event, and find out it is a biweekly meeting, and the notes for the other meetings are over there.

    • projects. Software development is the worst offender, as far as I know. If you and I and half a dozen other people work on a project to implement functionality X, that is our primary shared context. All communication and data creation should occur in that context. But instead we have our code in Github, our bugs in Confluence, our APIs … test cases … screen mockups … video calls … chats … in a gazillion different places, and one of these days I’m sure somebody is going to prove that half of software budgets in many places are consumed by context switching between tools that blissfully ignore that the user thinks not like a vendor does. (And the other half by trying to make the so-called “integrations” between services work.)

    There are many more examples. (In a previous life, I ran around with the concept of “situational computing” – which takes context-aware computing to something much more dynamic and extreme; needless to say it was decades before its time. But now with AR/VR-stuff coming, it will probably become part of the mainstream soon.)

    The 100 dollar question is of course: if this is the right thing for users, why aren’t apps doing that?

    Joshua brought up OpenDoc in a subsequent post. Yep, there is a similarity here, and apps don’t do this kind of thing for the same reason OpenDoc failed. (It didn’t fail because it was slow as molasses and Steve Jobs hated it.)

    OpenDoc failed because it would have disintermediated big and powerful companies such as Adobe, who would have had to sell 100 little OpenDoc components, instead of one gigantic monolith containing those 100 components as a take-it-or-leave-it package at “enterprise” pricing. No adoption by Adobe, Adobe feeling Apple proactively attacked their business model, it would have killed Apple right afterwards.

    But having OpenDoc would have sooo much better for users. We would have gotten much more innovation, and yes, lower prices. But software vendors, like all businesses, primarily do what is right for them, not their customers.

    Which is why we get silos everwhere we look.

    If we wanted to change that situation, about OpenDoc-like things, or messaging attached, in context, to things like calendar events, we have to change the economic situation in which the important vendors find themselves.

    Plus of course the entire technology stack, because if all you know is how to ship an int main(argv, argc) on your operating system, something componentized and pluggable and user-centric and context-centric is never able to emerge, even if you want to.

    (*) The title is meant to be sarcastically, in case you weren’t sure.

  • 2021-06-13

    Colorado is now the 3rd US state with modern privacy legislation, with a twist

    This past week, the Colorado legislature passed the “Colorado Privacy Act”, which makes Colorado the 3rd US state with modern privacy legislation, following the CCPA in California and the CDPA in Virginia. It will start going into effect about 24 months from now.

    Its provisions are similar to California’s and Virginia’s, except for this one, which goes substantially further:

    A CONTROLLER THAT PROCESSES PERSONAL DATA FOR PURPOSES OF TARGETED ADVERTISING OR THE SALE OF PERSONAL DATA SHALL ALLOW CONSUMERS TO EXERCISE THE RIGHT TO OPT OUT OF THE PROCESSING OF PERSONAL DATA CONCERNING THE CONSUMER FOR PURPOSES OF TARGETED ADVERTISING OR THE SALE OF PERSONAL DATA … BY CONTROLLERS THROUGH A USER-SELECTED UNIVERSAL OPT-OUT MECHANISM THAT MEETS THE TECHNICAL SPECIFICATIONS ESTABLISHED BY THE ATTORNEY GENERAL…

    In other words, Do Not Track – or something very much like it – is back in Colorado, and ignoring the setting, like companies did widely when Do Not Track was created, is not an option any more. The technical details will need to be figured out between now and when this provision goes into effect, which two and a half years away. So plenty of time to get this right.

    Progress! Which US state is next? The IAPP has a great chart showing the state of privacy legislation in states around the US.

    Here is the full text of the Colorado bill.

  • 2021-01-15

    Are most Facebook users cost centers, rather than profit centers?

    According to CNBC, Facebook made $7.89 in revenue per average global user in the 3rd quarter last year (with a high of $39.63 in the US and Canada, and a low of $2.22 outside US, Canada, Europe and Asia-Pacific).

    According to Yahoo! Finance and my calculation, if its expenses in the same quarter were $13.4 billion, expense per user was $13.4 / $21.5 * $7.89 = $4.92 on average (proportionally allocated given expense / revenue ratio).

    Revenue per user is obviously quite different in different parts of the world, but what about costs? It seems to me that on a per-user-basis, selling and serving all those ads in the US and Canada that led to so much revenue per user is probably more expensive, compared to some places that have less commerce. But as dramatically different as $39.63 and $2.22 on the revenue side? I don’t think so. Not even close.

    In other words, users in the rest of the world at $2.22 of revenue per user are almost certainly not profitable. Even if expenses there were only half of average, it would still not be enough.

    Of course these numbers are averages across the regions, and chances are that the differences between users within one region are also quite striking. I don’t have numbers on those. But I would bet that some users in the US and Canada also bring in less revenue than the $4.92 in average cost per user.

    Who would those unprofitable users be in the US, say? Well, those demographics and those neighborhoods in the social graph in which advertisers see little opportunities to make a sale, because, for example, everybody is unemployed and angry.

    (So if, for example, a certain presidential campaign came by and wanted to specifically target this demographic with political ads … I for one can vividly imagine the leap of joy of some Facebook business guy who finally saw how to get promoted: “I turned a million users from being a cost center to being a profit center”. And democracy be damned. Of course, I’m speculating here, but directionally I don’t think I’m wrong.)

    Which suggests another strategy to unseat Facebook as the dominant social network: focus on picking off the users that generate the most revenue for Facebook, as they subsidize the rest. If that relatively small subset of users jumped ship, the rest of the business would become unprofitable.

    (I jotting this down because I hadn’t seen anybody suggest this strategy. We do need to find ways of ending surveillance capitalism after all.)

  • 2021-01-02

    The terrible privacy of Facebook apps, visual edition

    Update 2021-01-07: Now consenting to let your data be shipped off is becoming mandatory (thanks @michel_slm@floss.social for the link.)

    Let’s take Whatsapp, acquired by Facebook, and Signal, independent. Both apps largely do the same thing (chat), are based on the same technology, and even led/funded by the same guy, Brian Acton (who is funding Signal to atone for his sin of selling Whatsapp to Facebook according to this article).

    Here are screen shot shots of the privacy implications of both apps, according to the excellent disclosures now required by Apple:

    If this doesn’t convince you to use Signal over Whatsapp, and that touching anything that Facebook does is a high-risk activity, I don’t know what will.

  • 2020-12-09

    Presenting at MyData 2020

    The annual MyData conference is starting in just a few hours. Thanks to COVID, I don’t have to get on an airplane to Helsinki!! They instead use QiQoChat, a conference wrapper around Zoom. See you there? (You can still get tickets.)

    I’ll be speeaking in the following sessions:

    • COVID Apps – Is Privacy Possible? With Julian Ranger, exec. chairman of digi.me in the UK, and myself. We’re planning to do a presentation each, and then open discussion.

      Thursday, Dec. 10, 2:45pm pacific (22:45 UTC).

    • Demo Lounge #3. I’ll be demonstrating UBOSbox, our home server product, that lets you take your personal data home from other people’s clouds on easy-to-administer hardware you control.

      Thursday, Dec. 10, 4:30pm pacific (Friday 0:30 UTC).

    • MyData Governance Interoperability Landscape. I’ll be moderating this international panel with panelists Matthias De Bievre (France), Nat Sakimura (Japan), Joni Brennon (Canada), Harshvardahn Pandit (Ireland), Paul Knowles (Switzerland), Antti “Jogi” Poikola (Finland) and Mark Lizar (Canada).

      Friday, Dec. 11, 2:45pm pacific (22:45 UTC).

    This is going to be fun! And a great kickoff for 2021, which I think will become Year 1 of the user-controlled personal data revolution.

  • 2020-11-14

    On Tim Hwang’s book: Subprime Attention Crisis

    My friend Doc Searls has been talking about this book repeatedly in recent months, as have many others interested in rolling back surveillance capitalism, improving privacy and user agency, and cleaning up the unholy mess that on-line advertising has become. Finally I have read the book, and here are a few notes.

    Tim Hwang makes three core points:

    1. Programmatic, on-line advertising is fundamentally, irredeamably broken.
    2. It’s not a matter of whether it will implode, but just when.
    3. Apply the lessons from the 2018 subprime mortgage crisis: advertising inventory is a different asset class, but the situation is fundamentally the same: eroding fundamentals in the face of an opaque, overhyped market, which will lead to a crash with similarly major consequences when it occurs.

    I buy his first point. I mostly buy his second, but there are too many important differences with the market for collateralized mortgages in 2008 for me to buy his third. Ultimately that parallel isn’t that important, however: if he’s right that programmatic on-line advertising is headed for something dramatic, whether it’s like 2008 subprime mortgages or some other crash doesn’t matter in the end.

    Why would anybody say programmatic, on-line advertising is broken? He has many examples, go read the book, but let me mention my personal favorite from personal experience: ads, to me, on Spotify:

    • Spotify, for a long time, advertised joining the Marine Corps to me. I should be flattered how young, vigorous, and gung-ho they consider me, but hmm, I don’t think so. This must be because they have some wrong data about me, and while Spotify got the Marine Corps’ money all the same, the Marine Corps totally wasted their spend.

      While this example is particularly egregious, Hwang has many other examples, which argue that this is a major and pervasive problem.

    • I recently downloaded the personal data Spotify have about me, as I can because we have the CCPA in California. Looking at the advertising subjects they have tagged me with, guess what?

    It was worse than I was afraid of. I loaded the tags into a spreadsheet, and categorized them into three groups:

    • Interests I definitely have. Example: “Computers and software high spender”. Guilty as charged.

    • Interests I definitely do not have. Example: “March Madness Basketball Fan”. What? Never watched basketball in my life. I don’t actually know what “March Madness” might even be and I’m disinclined to look it up.

    • Interests that I might or might not have, Meh so to speak. Example: “Vitamin C category purchasers”. Maybe I bought some one day. I don’t remember.

    How do you think these categories break down? The majority (30/66, almost half) of tags Spotify has about me is in the Meh category. Will I buy more Vitamin C if they advertise it to me? Maybe, but quite unlikely. Consider the ad spend money in this category mostly wasted on me.

    But this is the kicker: 24 of the remaining tags were “definitely not” and only 12 were “definitely yes”. Twice as many categories about me were absolutely wrong as were correct!!

    Only 18% of the total categories were clearly correct, and worth spending ad money on to target me.

    Eighteen.

    From the name of the tags in the Spotify export, I guess most of them were purchased from third parties. (Makes sense: how would Spotify know I’m interested in Vitamin C, or not?) In other words, 18% of the data they purchased about me was correct, 36% incorrect, and the rest more or less random. No wonder Hwang immediately thinks of junk mortgage bonds with numbers like these.

    But as he points out, advertisers keep spending money, however. Why? I suggest the answer is very simple: because of a lack of alternatives.

    If you stop advertising on-line, what are you going to do instead? As long as there isn’t a better alternative, it’s a better plan to pinch your nose and go to your CEO and say, yes, I know that today, not just half but a full 82% of our advertising money is wasted, but it’s better to waste all that money than not to advertise at all. I can understand that. Terrible, but reality.

    So, for me, the more interesting question is: “How can we do better?” And I think the times are getting ripe for doing something better… stay tuned :-)