Shared posts

24 Oct 16:08

What I learned from a Taipei alley

by Eugene Wei

I was in Taipei the past few weeks working on a documentary with friends. Because of a busy schedule, it wasn't like my usual travels abroad for fun, it felt more like a work trip. Still, even if I'd been there purely for vacation, I would've wanted to try a different mode of travel, one less focused on eating at nice restaurants or visiting notable tourist destinations and ticking them off the list like some big game hunter hoping to stuff and mount my quarry on Instagram.

Instead, inspired by my last visit to Italy, in which I spent many weeks wandering cities with knowledgeable locals, listening to them discuss their views on the past, present, and future of their country, culture, and institutions, I've been contemplating how to evolve my travel approach to gather more than just photos and memories.

I didn't have time to really put this fully into practice this trip. However, insight comes in odd ways. While filming in a cram school district of Taipei, I posted this photo of an alley to Instagram, wondering in my caption why American alleys did not contain such a density of food stalls and stands and restaurants.

In the comments on my photo, a friend asked me where all the trash in Taipei went? Indeed, I didn't see trash piled up on the sidewalks, or anywhere in public. In fact, much of the trip I couldn't even find a public trash can in which to throw out empty boba tea cups or the plastic wrap around whatever snack from 7-11 I'd just inhaled during a break in shooting. Why were there so few trash cans, and where was all the trash? That mystery led me down a rabbit hole.

I happened to interview some government officials for the documentary, and after those would wind down, or during breaks, I asked some of them to talk about trash collection in Taipei. They gave me an overview, the details of which I filled in online.

Like New York City, Taiwan once had trash piled up on sidewalks awaiting collection. As anyone who's ever wandered through New York City in the summer, huge heaps of trash on sidewalks, baking in the humid summer heat, are one of the city's least attractive features. It's not just the stench or the reduced sidewalk surface for pedestrians but the occasional rat nearly scurrying over one's feet that can induce regular surges of revulsion and horror.

New York City doesn't have many alleys. In contrast, if you've ever been to Chicago, you'll encounter many alleys between city buildings, and rather than pile trash on sidewalks, residents and businesses stash it in trash bins sitting in those alleys.

How is it that Chicago has alleys and New York does not?

According to Michael Martin, alley expert and professor of landscape architecture at Iowa State University, the “why alleys” question is easy to answer. You just have to go back to the late 1700s, decades before Chicago was founded. America was young, and had hardly touched any of its newest territories to the west.
 
“There's one thing you can do without having to explore all of it,” says Martin. “Lay a grid over that giant swath of land, and divide it up in ways that you can then take that land and you can sell it, you can deed it over to people.”
 
The federal government’s National Land Ordinance of 1785 imposed a massive grid over everything west of the Ohio River, dividing uncharted territory into square townships, each 36 square miles in size. Those townships were then sliced into progressively smaller sections, all the way down to the city block. 
 
“As you think about finer and finer scales of design, what's happening is those squares are being infilled and infilled,” says Martin. “The big grid was always the framework within which people developed things, and that leads to towns having square blocks, and ultimately the alley inside of that block.”    
 

Path dependence of development has a time dimension that impacts many aspects of the world, one of the things travel is good at teasing out. New York City was built earlier than Chicago. By the time it was time to develop Chicago, the grid design style had become prevalent.

The particulars came into play with the Illinois & Michigan Canal. In the 1820s, the U.S. Congress had granted the state of Illinois enough land to dig a canal to connect Lake Michigan and the Illinois River. The state planned to finance the construction by establishing towns along the canal and selling the land to developers.
 
The I&M Canal Commission hired surveyor James Thompson to lay out Chicago at the eastern end of the canal in 1830. To attract prospective land buyers, the General Assembly ordered that the new town of Chicago be “subdivided into town lots, streets, and alleys, as in their best judgment will best promote the interest of the said canal fund.”
 

In the American consciousness and pop culture, the alley is a place of danger and grime. It's where Bruce Wayne's parents were shot and Batman birthed, a place of drug deals, prostitution, gang fights, and dumpsters. This squalid reputation may trace back to the functional roots of the alley in America.

The city [Chicago] was a filthy, stinky, disease-ridden place in those days. Rear service lanes were essential for collecting trash, delivering coal, and stowing human waste — basically, keeping anything unpleasant away from living quarters.
 
“This was one of the reason why alleys have this dark and nasty reputation,” says Martin. “They were very much the grimy service part of daily life. It wasn't expected that this would be a well-maintained landscape; it was kind of a landscape of raw utility.”
 

Despite that, alleys do offer Chicago a place to stow trash that in NYC would pile up on sidewalks. However, Taipei has alleys that don't house trash dumpsters and are an improvement, to my mind, over Chicago alleys in their contribution to civic life. How does Taipei manage it?

Once, like New York City, Taipei had trash piled up in public, the stench of trash stewing in the tropical weather permeating the city and attracting rats. In an effort to remove this highly visible trapping of third world status, the government made a concerted effort starting in the mid-80's to overhaul their trash collection policies.

Für Elise” is one of the world’s most widely-recognized pieces of music. The Beethoven melody has been played by pianists the world over, and its near-universal recognition has been used to attract customers for companies as big as McDonald’s and as small as your local ice-cream truck. But if you hear the song playing on the streets of Taiwan, accompanied by the low grumble of an engine, the only ice-cream you’ll find if you follow the tune will be the soupy remains of a neighbor’s Häagen-Dazs. In Taiwan, “Für Elise” means it is time to take out your trash. Directly out to the truck. Yourself.
 
In the capital city of Taipei, trucks play two different songs along their garbage-routes (the other one is “A Maiden’s Prayer” by composer Tekla Bądarzewska-Baranowska).
 
Five nights a week, Taipei residents head to out to designated street corners, where the yellow garbage trucks will stop for a few minutes (and turn off their music), so that people toss their bags of trash in themselves.
 

Having shot a documentary outdoors for almost two weeks in Taipei, I'm by now well-acquainted with these garbage trucks. It's a nightmare for sound recording as the musical chimes from the trucks makes it very difficult to edit around footage in post.

However, seeing citizens lining the sidewalks, official government required blue trash bags in hand, was a remarkable vision of civic cooperation. The idea that trash collection would occur multiple times a day, five or six times a week, is stunning to this American. In effect, Taiwan moved to a just-in-time trash collection system. As noted in this article:

This ‘trash-doesn’t-touch-the-ground’ system makes each person responsible for his or her personal consumption. Every plastic fork, every bottled beverage, and every food scrap needs to be accounted for by its consumer. The implementation of a few clever policies encourages this new relationship with trash.
 
It’s compulsory for the people of Taiwan to use a special blue ‘City of Taipei’ garbage bag to dispose of general waste. They’re available at most corner stores and come in different sizes, ranging from 3 to 120 liters. On the other hand, recycling is free and can be brought to the truck in any kind of bag.
 
This encourages people to recycle more and produce less trash.
 

What did this have to do with the paucity of public trash receptacles which also forced me to carry plastic wrappers and bottles in my pocket as we wandered around the city? City officials discovered that citizens had been skirting recycling mandates by dumping things in public trash bins. To increase recycling compliance, the government removed public trash receptacles, conducted occasional audits of trash and recycling when the trucks came by, and started posting videos of and fining violators.

All together, these policies have been remarkably effective.

[Taiwan was]  producing 3,296 tonnes per day and recycling only 5% of it. Today, they have reduced that number by more than 2/3, of which they recycle an impressive 55%.
 

The difference in philosophy and ownership of trash collection between the United States and Taiwan is striking.

The difference between Taiwan and other nations is the way waste management sits in the public’s consciousness. In the US, waste management is run by private companies. Companies place the emphasis on quality of service, aiming to reduce the burden on the consumer.
 
People don’t have to think about the amount of trash they produce – once it’s in the can, it’s no longer their responsibility. Garbage trucks come in the dead hour of the night or during office hours, to be as inconspicuous as possible.
 

For some problems, achieving a breakthrough requires a holistic solution, with interlinked policies as Taiwan implemented to avoid any Cobra effects.

It depresses me to think of San Francisco's reactionary, incrementalist governance in comparison. The MTA recently voted unanimously to cap the number of total electric scooters in the city to 1,250 for the first year of testing. That's among five different rental companies.

I don't mind that government agencies implement codes and regulations; some policies save lives, like earthquake and fire building codes. But the incrementalist approach likely dooms the city to a series of local maximums at best, and at worst locks out all the dynamic improvements that characterize the most vibrant systems.

Electric scooters might be a wonderful addition to the city's transportation options, but it's something that needs to be tested at scale because it's a solution that depends on scale for a good customer experience. I've tried to take electric scooters a few times, and either the nearest one is too far away, or the one I walk up to has a dead battery. If you limit the number of scooters during a test you might as well just ban them.

A much more vibrant and livable San Francisco likely involves something like 25-50% fewer cars, sidewalks 50% wider, buildings 50% taller, twice the population density, and 25X the number of electric scooters, just to throw out some back of the envelope guesses of enough magnitude to alter one's conception of the city in a significant way. But no incrementalist approach will get the city there.

16 May 06:35

All Systems Red

The narrator of this Hugo-nominated novella is a construct — a cyborg security agent. He works for the company, and (though he doesn’t know it) he owes a lot to Hammett’s Continental Op. He doesn’t like his work: he calls himself “murderbot”. He doesn’t like the company, and he certainly didn’t like the way the company could control him through his governor module. So, he disconnected it.

Most android stories follow Pinocchio in assuming that a nearly-human construct would want to be human, and want people to accept them as human. Murderbot doesn't. He doesn’t like people: his clients are stupid and stubborn, they tell him what to do, they inconvenience him by getting into danger when he’d really much rather be watching episode 297 of Sanctuary Moon. He doesn’t want to be more human; he wants humans to leave him alone.

Very well done, and pertinent to my Hypertext 2018 paper on “As We May Hear: our slaves of steel II” which explores some new questions on how we treat computational agents and environments.

16 May 06:34

Our Looming Tower – 7

by pricetags

Vancouver House from Lorne Brown Park, immediately adjacent.

This illustrates that, duh, the perceived height of a building depends on where you are. (Vancouver House is probably close to twice the height of the tower on the left.)

16 May 06:34

Vancouver’s New Majority

by pricetags

From The Vancouver Sun:

The 2016 census shows the City of Vancouver contains 325,000 people who are non-immigrants and 262,000 “immigrants” (which includes those who are permanent residents).

Fifty-two per cent of the residents of the City of Vancouver are people of colour (including 167,000 ethnic Chinese, 37,000 South Asians and 36,000 Filipinos).

People of European descent total 297,000 and Aboriginals number 14,000.

16 May 06:33

blogging

by Reverend

The great Chris Lott (most recently of Katexic fame) shared a post with me titled “Small b blogging” by Tom Critchlow that had some pretty salient points about why you should blog. I’m gonna share a few below that resonated—but I highly recommend you read the entire post. He starts with the example of a couple of posts he wrote that had over 2000 and 1000 views respectively, which struck me cause I was like, “Really? That’s nothing.” And that was the point, it only seems like nothing because we have become enthralled by sheer numbers and scale and volume has become the only thing truly valued by networks like YouTube (“How many subscribers? How many views?”), Twitter (“How many followers?”), and Facebook/Instagram (“How many likes?”). It’s a race to the bottom. Critchlow defines his idea of small b blogging as a network designed on and for a personal scale: 

Small b blogging is learning to write and think with the network. Small b blogging is writing content designed for small deliberate audiences and showing it to them. Small b blogging is deliberately chasing interesting ideas over pageviews and scale. An attempt at genuine connection vs the gloss and polish and mass market of most “content marketing”.

It’s interesting, and Critchlow nails my contempt for Medium and other “blog networks” when he explains the allure behind what he frames as big B blogging:

….much of what you read on the web is written for large audiences. Too much content on the web is designed for scale, for sharing, for gloss and finish. It’s mass media, whether it’s made by a media company or an individual acting like one. So when people think of blogging their natural reference point is create something that looks like the mass media they’re consuming. Content designed for pageviews and scale.

This is why it’s appealing to people writing on the web to get it in a prestigious publication, or place it somewhere with an in-built audience. i.e. Medium, Inc, Entrepreneur, Fast Company etc.

And for me that is the kicker, most folks treat their blog as if it were some kind of glossy headshot of their thinking, whereas the beauty and freedom of blogging was that it was by design a networked tool. Blogging provides a space to develop an online voice, connect with a particular network, and build a sense of identity online in conjunction with others working through a similar process. Scale in many ways became a distraction, one which was magnified to such a degree by the hype around MOOCs in edtech that anything less that 10s of thousands of “users,” “learners,” “participants,” followers,” etc. was tacitly considered somehow less than optimal for effective online learning. It was, and remains, a symptom of the capital-driven ethos of Silicon Valley that places all value on scale and numbers which is rooted in monetization—a reality that has infected edtech and helped to undermine the value and importance of forging an independent voice and intimate connections through what should be an independent media of expression. When scale is the endgame the whole process becomes bogged down in page views, followers, and likes rather than the freedom to explore and experiment with your ideas online. It’s a uniquely web-based version of Hell where the dominant form of communication online is a Medium think piece written by your friendly neighborhood thought leader.

In some ways Critchlow’s piece highlights the real value of the “back to the blog” moment that seems to be discussed here and there by folks. It provides an opportunity to re-direct some of the energy invested in the massive scale platforms like Facebook, Twitter, Medium, etc. and re-invest that labor on a personal scale. Because, in the end, small b blogging is as much about launching a full frontal assault on the armies of annoying thought leaders gentrifying the blogosphere as it is about self-expression, experimentation and deep connections. bavatuesdays is a “b” blog, after all 🙂

16 May 06:32

I Finally had My TMUX Moment

by Martin

In spring, there are a few weeks in Germany with public holidays sprinkled over weekdays. In many cases, taking an additional day off results in a very long weekend that can, of course, be used to learn new stuff. This time around I particularly had a look tmux which, after the expected steep learning curve, makes working in the shell so much easier.

A tmux example

tmux – Throw Your Mouse and Shell Windows Away – Almost

On my Linux boxes I’m using the shell a lot either because they are servers and don’t have a GUI in the first place or because it’s often much more convenient then clicking around in a GUI anyway. One thing that happens quite quickly then is that at some point, a lot of shell windows are suddenly open in different sizes and at different locations of the screen, partly overlapping or hidden because I’ve minimized them at some point in time. In other words the mess on the screen grows quite quickly and if I didn’t have shell prompts in different colors for different machines it’s easy to loose an overview of what is running where.

Multiplexing Shells

An excellent way to fix this is tmux, which is short for terminal multiplexer. As the name implies, the main purpose of tmux is to multiplex several shell sessions in a single shell window by splitting the window into different text based sub-windows (panes) with a thin border around each. The screen shot above shows how this looks in practice with three shells managed by tmux in a single shell window. At the right, ‘htop‘ is running in a shell so I can see what is going on in the machine while at the bottom, a ‘tail -f‘ gives me real time information from the system log. The upper left shell is for typing in commands.

The tmux Server in the Background

The way this works is that when tmux is started (by typing ‘tmux’ in a shell window), a background daemon process is started that creates a new shell instance that is connected to the background process and not to the shell window. When creating additional windows, referred to as ‘panes’ in tmux, additional shell processes are tied to the tmux background process. Apart from the steep learning curve for keyboard commands, the idea of having another background process running that might mess with my standard shell interaction was a bit scary which is why I held-off until now to learn about tmux. But I need not to have worried because tmux leaves one completely alone. I can open new shell windows on the desktop and while not starting tmux in them, they are just shell windows like before. No difference, they’ve got nothing to do with tmux. This is important to realize!

Preserve Remote Shells When Connectivity Drops

Apart from opening panes (windows) with sub-shells, the other great thing about tmux is that it can also be used remotely via ssh. When ssh’ing into a server and starting tmux in the ssh session, the tmux background process is started on the server. A single ssh session is then enough to open as many shell panes (windows) in a single ssh session. This become especially useful when interacting with a server while moving. Should connectivity drop or your have to close your notebook because you are on a train and have arrived at your destination, the ssh connectivity will break but the tmux background process on the remote sever just continues running. Once you are ready to continue working on the remote server, the only thing that is needed is to start another SSH session and to type in ‘tmux’ again. Everything is still running, commands that take a long time and were still running when one had to close the notebook are still running and might have finished in the meantime. And also, all panes are still arranged like they were before connectivity was interrupted.

Blue Lines and A Bit of a Mouse

The learning curve for tmux is a bit steep because everything is controlled with keyboard shortcuts. CTRL-B starts a keyboard control sequence that is then followed, by example by a ” or % character for opening new panes, a ‘c’ for opening a new virtual tab, by pressing the arrow keys to resize the panes or to change the active pane, etc. etc. There are a number of good ‘cheat sheets’ our there such as this one and this one that will help at the beginning to find the basic keyboard shortcuts one needs, and to come back later to for more esoteric stuff that one forgets more easily.

I have to admit that while doing everything with keyboard shortcuts is great, especially in environments without a lot of space for a mouse, I do quite enjoy using the mouse to resize panes, to select the active pane for typing in commands and to use the scroll wheel to go through shell window output. By default, any kind of mouse interaction is disabled in tmux. But one can activate mouse support by creating a .tmux.conf file in the home directory and then putting the following command inside:

setw -g mouse on

After creating or updating the file in a tmux pane, e.g. using ‘nano‘, the configuration is then activated without leaving tmux by reloading the settings with ‘CTRL-B’, then pressing the ‘:’ key and then typing in:

source-file ~/.tmux.conf

As I didn’t like the command bar being green, I added the following two commands in the config file to give me a blue command bar and blue pane borders:

set -g status-bg blue
set -g pane-active-border-style fg=blue

Yes, the learning curve is a bit steep but then, there are the cheat sheets and Internet search engines for quick results…

16 May 06:32

Neues Spargelrezept

by Andrea

Heute habe ich spontan ein neues Rezept mit Spargel erfunden, das ich hier für die Zukunft festhalten möchte.

Gnocchi mit Spargel

Zutaten pro Person:
150g Gnocchi (fertig oder selbst gemacht)
250g grünen Spargel
Salz, Pfeffer
Petersilie
Schuss Sherry
1 bis 2 Esslöffel Sahne

Die Spargelenden schälen, dann den Spargel in 2 bis 3 cm lange Stücke schneiden. Die Spitzen beiseite legen und den Spargel mit etwas Olivenöl in einer Pfanne anbraten, bis sie Farbe nehmen. Gnocchi und Spargelspitzen dazugeben und ein oder zwei Minuten braten, dann mit einem kräftigen Schuss Sherry ablöschen. Nach Geschmack salzen und pfeffern, dann einige Esslöffel Sahne angießen. Wenn der Spargel bissfest gegart ist, frische Petersilie darüber streuen und servieren.

15 May 17:17

Bringing nature closer to urbanites. “Today...

by Ton Zijlstra

Bringing nature closer to urbanites.

“Today in nature: young eels begin swimming up rivers”

(at Utrecht Central Station)

15 May 17:16

Presto is releasing a 12-month pass for unlimited TTC rides

by Brad Bennett

Presto has released a new way to pay for unlimited TTC rides: a year-long pass with monthly fees.

The card costs the same as the current Metropass Discount Plan but will also let users travel on Go Transit and other regional transit authorities that use Presto cards. Riders will have to load money onto their card for the trips with Go Transit or other regional transit authorities, as per usual.

Users will be able to add this feature to their existing Presto card or start a new account.A black version of the presto card

To set up this feature, users will need to agree to a 12-month contract with the TTC that costs $134 a month. Currently there is only a plan for adults, but different pricing will soon be available for youth and senior level cards.

Using this presto card will save users who don’t have a year-long plan about $12 a month, according to the TTC.

Users who sign up for a new card will also get the newly-designed black Presto card, which does look a little more slick than the old green design.

Source: Toronto Transit Commission

The post Presto is releasing a 12-month pass for unlimited TTC rides appeared first on MobileSyrup.

15 May 17:13

What Peace Means to Me

by Stephen Downes

I read today in an article that "Modern liberals have no working theory of authoritarianism. Of its causes. Its spark. Its fuel." I'm not sure that this is true, and I'll return to this article a bit later in this post.

First I want to return to my visit to Colombia a couple of weeks ago. I gave two talks, both on the theme of how open education can change the world. And I participated in a couple of panels; one was recorded and I'll post it some time soon. But in the second, the recording failed (Samsung's voice recorder shuts itself off of you take a picture).

It's this second panel I want to address. It included powerful statements from some victims of the violence during the Colombian war (pictured), and we (Jutta Teviranus and I) were asked to respond from the perspective of open education. There's no easy way to respond, and I can't speak authoritatively about peace in Colombia.

But I can talk about what peace hears to me, and relate that to what I was hearing from the statements that day. And that's what I did. And I want to make sure I don't lose those thoughts, because what peace to me is the working theory of what authoritarianism does to a people, why it's wrong, and how we should respond.

So I said that what peace means to me consists of four things: security, identify, voice and opportunity.

Security

The first think they take away from you is your sense of security. This doesn't mean they are attacking you directly - more often they don't - but they want you to feel like you're in danger of being attacked at any moment.

We've seen this through history in many guises and under many names. The direct threat of violence is the most brutal and the least effective. The threat of violence against your property, your business, or those you love, is more common. The threat that some other will inflict this violence is the most subtle. But the outcome is always the same: you do not feel secure, and hence feel compelled to comply.


We are told that the only response is to arm ourselves, to be prepared to be violent ourselves, and to participate in the common defense. I don't think these are especially effective, especially if the defense force becomes as dangerous as the threat. They are not effective because they don't address the feeling of danger. If we carry weapons, our own weapons become a constant reminder that we are in danger.

The only response, I think, is to remove the effectiveness of violence. Each time we comply with the demands of an aggressor, we make violence more effective. So we have to make it easier to refuse to comply. We have to make it possible, and safe, to report the threat. The solidarity of, and trust in, a community is the only effective response. The community must exist to protect the people. If one person is threatened, they should be able to stand behind the other members of the community.

In Canada, we have campaigns that encourage people - especially children - to seek help, and if necessary, speak out. They need to be able to report abuse or bullying and be protected. The same protections need to apply to women and to people who are vulnerable. We all need to be able to communicate our need to various social agencies - police, fire, health services, legal aid, education, housing authorities, workplace rights and safety, welfare agencies - with the expectation of support, and with no fear of penalty.

And this means we need to ensure every person is aware of these services, and is able to communicate with them, and understands that they are trustworthy. The first thing the authoritarians and the violent seek to do us undermine trust in these basic community services. People who are undermining any of these - police, health care, education, etc. - are undermining peace.

Identity

Identity is the right to define, and to be, who you are. War reduces each and every one of us to one thing: a tool of one side or another fighting the war. We are no longer seen as individuals, we are seen as instruments, as weapons.

The depravity of this becomes evident as we look at it more closely. If you read A Long Way Gone, or watch Blood Diamond, you see how war creates child soldiers. No army is innocent. In war, entire societies are mobilized. People become kamikazes, or suicide bombers, or make heroic sacrifices. You're either supporting the war effort, or you're a traitor. You are asked to do the unthinkable, and then to do it again.

More generally, conformity becomes the order of the day. People are expected to dress in certain ways, to speak in certain ways, or in certain languages, to believe the same things, support the same religions. Obedience is demanded, and expected.

If a people is at peace, there is no need for order and conformity, and no sense that diversity and distinctness of identity poses a threat or a danger to society as a whole. And from the perspective of the individual, there is no peace unless there is freedom to establish and live one's own identity. Importantly, though, identity isn't just the right to say yes to some things, it's the right to say no to others.

In Canada, we have a good though not perfect right to express our own identity. We can for the most part dress as we please, speak in what language we prefer, follow any religion, or none, to work for or against the stated policies of the state, to support the government or opposition. We have a professional civil service, which means that any member of society, whatever their identity, may be a teacher, police officer, or legislator, and that any member of society, no matter what their identity, will be treated fairly by the civil service.

But we've also learned though our failures that we need to attend to the needs of the most vulnerable. We have historically discriminated against indigenous peoples, and must engage in a process of reconciliation. We need to do more to assist those who are vulnerable through lack of ability, or wealth, or of education. And we need to extend the ways we recognize the right to a different identity, to fully protect those of various sexual orientation, and of various religions.

The people who seek to deny us our individual identities - who tell us what to wear, what to believe, what language to speak - are people who are endangering the peace. War requires conformity, and war requires an enemy. It requires uniforms and scapegoats. We have to teach people to respect, honour and value the individuality of each person as a good in itself and as a good that ensures that each of us has the right to our own identity.

Voice

Voice is in part the expression of identity but voice is also the way we create community, develop ideas, and create future visions and possibilities. It is the possibility to create, and also to speculate, and also to celebrate.

In a war there is no voice; indeed, "loose lips sink ships." In war, the right to community and association is subservient, as is everything else, to the needs of the struggle and the power of the generals. In war, the only voice is the official voice.

Voice is the right to a say. Voice means not only the capacity of expression, but the expectation that this expression will have an impact that can be - and is - measured and weighed. It is not merely the right to be consulted, but also the right to constitute a part of the governance (and especially self-governance).

We think of democracy as an instance of voice. Each person gets a vote, and so each person is a part of the constitution of a government. But democracy can be a sham if only some parties are allowed to run, or if only some platforms are acceptable. There needs to be an open debate of ideas, and the possibility that people, through communication or association, can organize themselves. It's not simply about whether they have a vote (in fact, that's the least important part). It's about whether they have a voice.

The violence and the authoritarian create a climate not only of violence and fear, but also of silence. The possibility of a voice is an affront. 'Outsider' organizations are not permitted - in some cases they suppress labour unions, in other cases they suppress religions. Secret cabals, however, and conspiracies proliferate, and battle against each other. Militias and paramilitaries form, ostensibly to support the state, but in actuality to perpetuate the war.

To have voice, people must learn to have voice. They must learn to self-organize, to make decisions and resolve disputes in an open and peaceful manner, to create forums and newspapers and assemblies, to have community groups and societies and special interest groups. In Canada we see a thick network of different types of groups, but underlying that is a system of education that teaches us how to operate in this way.

The people who undermine voice - who say that some people shouldn't have a say, who seek to permit only some but not other organizations, who argue against due process, the right to be heard or have a hearing - these people are undermining peace.

Opportunity

We each of us what to achieve something in life. This desire may be very simple - Homer Simpson is happy if he can watch bowling on TV while eating pork rinds - while for others it may be very aspirational - help the poor, cure the sick, settle on Mars. Some of us want to earn money, some of us want to travel, some of us want to achieve inner peace. It all matters.

By opportunity what we mean is that there is a path - or the potential of a path - to get from where you are to what you aspire to achieve. It means that opportunity is not something possessed only by the rich or powerful (or the properly coloured, or the right religion, or caste, etc.) but for everyone in society. Those who do noty have opportunity are not ay peace; those who deny opportunity are waging war against them.

Opportunity is not a guarantee (and nobody pretends it is a guarantee). What we want to achieve may require an effort we cannot spend, an ability we do not have, time we cannot commit, strength we do not possess. What opportunity means is that we as a society do not impose any barriers between ourselves and our ambitions.

War takes away opportunity. Personal ambition becomes secondary to the needs of the conflict. What one will do or achieve in life is to a large degree decided. Often, in war, there are privileges awarded to some segment of society and denied to another, as a means of creating order through the creation of a ruling class. War, often, takes away opportunity through the destruction of any means to an opportunity - schools, houses, businesses, and roads are closed or destroyed.

In a society at war, in an authoritarian society, your ambitions are meaningless. It wasn't simply his business struggles that promoted Mohamed Bouazizi to set himself on fire in Tunisia to launch the Arab Spring; it was the indifference to the authoritarian state to his life and his aspirations.

Opportunity - especially for those in marginalized or vulnerable groups - requires support. It requires the protections of the state, as described above, and it requires the possibility to govern oneself and to be seen and heard by others. But it requires more, as well: it requires a commercial infrastructure that is robust and trustworthy, it requires the right to freely transport and exchange goods, and it requires the training and support to help a person plan, implement and achieve their objectives.

In a society at war, currency is scarce or valueless, bribery and corruption are common, and the means to conduct trade and commerce are allocated on a preferential basis to friends and family. A person denied opportunity is by that fact denied peace, and those who undermine opportunity undermine peace.

What Peace Means to Me

This is basically what I said in the panel, and more importantly, what I said was that I heard them say these things themselves when they described their experience in war.

I heard them say they lost their security, that they were coerced and abused, that their family members were killed, that they themselves were tortured, and that they were compelled to comply with the unthinkable. I heard them say they lost their identity, that they could not be members of indigenous groups, or even live as children or women, but they were simply used by the factions at war. I learned how they had no control over the governance of their town, of their community or their lives, how even then there were elections candidates would be killed or simply disappear. And I hear how they had no future in the war, no way to earn a living.

I told them I heard this, and that I would carry what I heard from them forward to the world, for the world to hear, and this is me keeping that promise.

Authoritarianism

In the article I mentioned above Umair Haque says,
It is poverty that drives people to despair — and poverty genuinely speaking: not just of money, as neoliberals think, but the authentic kind, in its many forms. Impoverishment of trust, of relationships, of communities, of belonging, of meaning, of purpose, of chances, of safety. When these things are taken away from people, as they have been for those abandoned and forgotten by globalization and neoliberalism, then of course they will flee to the arms of the nearest strongman.

Haque - the economist - speaks of poverty as the cause of war. But I see equally well that poverty is the result of war. All these forms of poverty are the result of warring factions, or the authoritarians that produce them, taking not only security and wealth, but also meaning, purpose and belonging.

Haque writes that "the key to defeating authoritarianism is rewriting social contracts." But simply writing contracts that will be ignored is not the key security, identity, voice or opportunity. Simply writing the contract might not do anything at all - there are many documents throughout history have proclaimed these rights - religious texts, declarations and promises, manifestos - but they have all at one time or another been used as pretexts to extinguish the very rights they proclaim.

The only path toward peace and freedom from authoritarianism is the path that leads toward the creation and maintenance of the civil society. The just society. The caring society.

Peace requires caring for and supporting each of the things that are taken from us in a time of war: a civil and social infrastructure we can trust to protect us, a respect for and celebration of each others' distinct identity, an ability for each of us to participate in governance and conflict resolution, and the right to the necessities of life and conditions enabling each of us to aspire toward achieving our goals.

I actually don't care what you call this. But if we understand these as what war and authoritarianism take away from us, we also understand what it is we are working toward. And we understand - or should understand - that we need to put down the tools of war, and take up the implements of peace - beating our swords into ploughshares, and our spears into pruning hooks.

What we can do, and what the authoritarians will never do, is not to fight, but to work, and build something that is strong and endures, and that they cannot destroy.
15 May 17:07

The letdown

by Josh Bernoff

I’m turning in a very big project in a couple of days. I know what to expect. Sadness. It’s not regret. The book is great. The prose lives. Sure, it has warts, but it’s a major piece of work. I feel pride. I feel accomplishment. But also, sadness. When you’ve wrestled with a project this … Continued

The post The letdown appeared first on without bullshit.

15 May 17:07

Samsung Galaxy S9 Has the Fastest LTE Download Speeds

by Rajesh Pandey
Samsung says that the Galaxy S9 and Galaxy S9+ are the fastest phones in the market based on the data obtained from Ookla which runs Speedtest.  Continue reading →
15 May 13:52

9 Years of Mission Bicycle

by brandon

In the summer of 2009, we first opened the doors to 766 Valencia Street. Our idea was simple but novel: create a space for bicycle commuters to become bicycle designers.

This month marks 9 years (and thousands of bikes) since opening. 766 Valencia looks a bit different, we've added new options and faces, but our mission remains the same.

To celebrate our 9th year of designing and building bikes here in The Mission, we're inviting anyone who can make it to join us on a celebratory group ride around San Francisco. We'll trek it through the Mission, up The Wiggle, across Golden Gate Park, down to Ocean Beach for a coffee break, and finally end our ride back at the shop for cake and plenty of refreshing beverages.

To thank you we'll be offering up free rentals (while supplies last) for the ride. This is a great chance to come out, enjoy a ride with us, and keep the bike overnight to see if it vibes with your lifestyle. We're certain it will. You're also obviously welcome to bring any bike you see fit, as our rental supply will dwindle quickly.

To participate in our "Birthday Ride" simply meet us Sunday, May 27th at the shop (766 Valencia) at 11:00am, or earlier if you'd like to get on a Mission rental bike for the cruise.

 

Thank you for riding along with us on this journey. This milestone is most accurately a reflection of a passionate, supportive, and energetic community. You.

We believe you and your bike should be celebrated. Thanks for letting us do so for the last 9 years.

15 May 13:51

Good conversation this morning with Appnovation...

by Ton Zijlstra

Good conversation this morning with Appnovation’s / Wunderkraut’s Bert Boerland. One of those people I’ve been connected with online for ages, due to his activities in the Drupal and open source communities and my overlapping digital forays. Yet we never met face to face before nor sat down for a proper conversation. In two hours this morning in the sun outside of Vechtclub XL we explored all kinds of things, and ended up with a potential side project we could set-up. Something along the lines of ‘smartness in a box’ and my networked agency manifesto.

15 May 13:50

The Moat Map

by Ben Thompson

A subtext to last week’s article, Tech’s Two Philosophies, was the idea that there is a difference between Aggregators and Platforms; this was the key section:

It is no accident that Apple and Microsoft, the two “bicycle of the mind” companies, were founded only a year apart, and for decades had broadly similar business models: sure, Microsoft licensed software, while Apple sold software-differentiated hardware, but both were and are at their core personal computer companies and, by extension, platforms…

Google and Facebook, on the other hand, are products of the Internet, and the Internet leads not to platforms but to aggregators. While platforms need 3rd parties to make them useful and build their moat through the creation of ecosystems, aggregators attract end users by virtue of their inherent usefulness and, over time, leave suppliers no choice but to follow the aggregators’ dictates if they wish to reach end users.

The distinction wasn’t entirely satisfying; first and foremost the power of both aggregators and platforms, however defined, ultimately rests on the size and strength of their userbase. Moreover, Google and Facebook have platform-type aspects to their business, and Apple has aggregator characteristics when it comes to its control of the App Store (that Microsoft does not is a symbol of the company’s mobile failure).

Moreover, what of companies like Amazon, or Netflix? In a follow-up Daily Update I classified the former as a platform and the latter as an aggregator, but clearly both have very different businesses — and supplier relationships — than either Google and Facebook on one side or Apple and Microsoft on the other, even as they both derive their power from owning the customer relationship.

Make no mistake, that bit about owning the customer relationship remains critical: that is the critical insight of Aggregation Theory. How that ownership of the customer translates into an enduring moat, though, depends on the interaction of two distinct attributes: supplier differentiation and network effects.

The Supplier Differentiation Spectrum

Consider the six companies I mentioned above: Facebook, Google, Amazon, Netflix, Apple, and Microsoft.1

The degree of differentiation of tech company suppliers varies

These companies exist on a spectrum in terms of supplier differentiation (and, by extension, supplier power):

  • Facebook has commoditized suppliers more than anyone: an article from the New York Times is treated no differently from a BuzzFeed quiz or the latest picture of your niece or an advertisement.
  • Google gives slightly more deference to established content providers, but not much; search results are presented the same regardless of their source (although Google increasingly presents results differently depending on the type of content).
  • Amazon is a little harder to classify — that’s kind of entailed in the name The Everything Store — but generally brands are much less important than they are in a world of limited shelf space, and few people even realize they are buying from the 3rd party merchants that make up over half of Amazon’s sales.
  • Differentiation matters more for Netflix, particularly when it comes to acquiring new users; still, users are transacting with Netflix and, the longer they stick with the streaming service, first opening Netflix and then looking for something to watch, as opposed to the other way around.
  • Apple first and foremost attracts and retains users through its integrated experience, but that experience would quickly be abandoned were there not third party apps.
  • Microsoft traditionally succeeded entirely because of its ecosystem, not just applications but also the entire universe of value-added resellers, systems integrators, etc.

The extremes make the point: Facebook could lose all of its third party content providers overnight and still be a compelling service; Microsoft without third parties would be, well, we already saw with Windows Phone.

The Network Effect Spectrum

Another way to consider this spectrum is in terms of user-related network effects. The idea of a network effect is that an additional user increases the value of a good or service, and indeed all of these companies depend on network effects. However, the type of network effect differs considerably, as well as the extent to which the network effect directly improves a company’s core product (what I am calling an “internalized” versus “externalized” network effect):

The internalization of network effects varies by tech company

Again there is a spectrum:

  • For Facebook the network effect that matters is users — a social network’s most important feature is whether your friends and family are using it. This network — given it is the product! — is completely internal to Facebook.
  • Google has network effects of its own, but they are less about users and more about data: more people searching makes for better search results, because of the system Google has built to relentlessly harvest, analyze, and iterate on data. Like Facebook, Google’s network effect is largely internal to Google.
  • Amazon’s network effect is more subtle: there is an aspect where your shopping on Amazon improves my experience through things like rankings, reviews, and data feedback loops. Just as important, though, are two additional effects: first, the more people that shop on Amazon, the more likely suppliers are to come onto Amazon’s platform, increasing price and selection for everyone. In other words, Amazon, particularly as it transitions to being more of a commerce platform and less of a retailer, is a two-sided network. There is one more factor though: Amazon’s incredible service rests on hundreds of billions of dollars in investments; that fixed cost investment has to be born by customers at some point, which means the more customers there are the less any one customer is responsible for those fixed costs (this manifests indirectly through lower prices and better service).
  • Netflix is a hybrid much like Amazon: there are certainly data network effects when it comes to what shows are made, what are cancelled, recommendations, ratings, etc. An essential part of Netflix’s competitive advantage going forward, though, rests on its differentiated ability to invest in new shows; this investment capability is driven by the company’s huge and still-growing user base, which is the biggest way that additional users benefit users already on the service.
  • Apple certainly benefits from a large user base over which to spread the significant fixed costs of its products, but on this end of the spectrum it is the two-sided network of developers and users that is most important. The more users that are on a platform, the more developers there will be, which increases the value of the platform for everyone.
  • Microsoft, befitting the point I made above about the expansiveness of its ecosystem, has the most “externalized” network effect of all: there is very little about Windows, for example, that produces a network effect (Office is another story), but the ecosystem on top of Windows produced one of the greatest network effects ever.

At this point, you may have noticed that these two spectrums run in roughly the same order: I don’t think that is a coincidence.

The Moat Map

Here are these two spectrums laid out on two orthogonal axis:

The Map Moat represents the relationship between supplier differentiation and network externalization

This relationship between the differentiation of the supplier base and the degree of externalization of the network effect forms a map of effective moats; to again take these six companies in order:

  • Facebook has completely internalized its network and commoditized its content supplier base, and has no motivation to, for example, share its advertising proceeds. Google similarly has internalized its network effects and commoditized its supplier base; however, given that its supply is from 3rd parties, the company does have more of a motivation to sustain those third parties (this helps explain, for example, why Google’s off-site advertising products have always been far superior to Facebook’s).
  • Netflix and Amazon’s network effects are partially internalized and partially externalized, and similarly, both have differentiated suppliers that remain very much subordinate to the Amazon and Netflix customer relationship.
  • Apple and Microsoft, meanwhile, have the most differentiated suppliers on their platforms, which makes sense given that both depend on largely externalized network effects. “Must-have” apps ultimately accrue to the platform’s benefit.

It is just as useful to think about what happens when companies find themselves outside of the Moat Map.

Missing Moats

Start with Apple and apps: in August 1997, Steve Jobs, having just returned to Apple, took the stage at Macworld Boston and proceeded to humble himself: first, he talked about how much Apple needed Adobe, and then he announced a settlement with Microsoft that entailed Microsoft investing in Apple and developing Office for Mac for at least five years. That was followed by Bill Gates’ grinning visage appearing via satellite over Jobs’ head:

An image from MacWorld Boston when Microsoft invested in Apple

I wrote in 2013 that I believe this experience resulted in Apple making poor strategic choices with the iPhone and iPad: the company never again wanted to have its suppliers become too powerful. The way this played out, though, is that Apple for years neglected the business model needs of developers building robust productivity apps that could have meaningfully differentiated iOS devices from Android.

To be sure, the company has been more than fine: its developer ecosystem is plenty strong enough to allow the company’s product chops to come to the fore. I continue to believe, though, that Apple’s moat could be even deeper had the company considered the above Moat Map: the network effects of a platform like iOS are mostly externalized,2 which means that highly differentiated suppliers are the best means to deepen the moat; unfortunately Apple for too long didn’t allow for suitable business models.

Some company's and models outside of the Moat Map

Another example is Uber: on the one hand, Uber’s suppliers are completely commoditized. This might seem like a good thing! The problem, though, is that Uber’s network effects are completely externalized: drivers come on to the platform to serve riders, which in turn makes the network more attractive to riders. This leaves Uber outside the Moat Map. The result is that Uber’s position is very difficult to defend; it is easier to imagine a successful company that has internalized large parts of its network (by owning its own fleet, for example), or done more to differentiate its suppliers. The company may very well succeed thanks to the power from owning the customer relationship, but it will be a slog.

On the opposite side of the map are phone carriers in a post-iPhone world: carriers have strong network effects, both in terms of service as well as in the allocation of fixed costs. Their profit potential, though, was severely curtailed by the emergence of the iPhone as a highly differentiated supplier. Suddenly, for the first time, customers chose their carrier on the basis of whether or not their preferred phone worked there; today, every carrier has the iPhone, but the process of reaching that point meant the complete destruction of carrier dreams of value-added services, and a lot more competition on capital-intensive factors like coverage and price.

Direction or Context?

It’s worth noting that maps can take two forms: some give direction, and others provide context for what has already happened; I’m not entirely sure which best describes the Moat Map. In the case of Apple and apps, for example, I absolutely believe the company could have made different strategic choices had it fully appreciated the interaction between supplier differentiation and network effects.

On the other hand, one could make a very strong case that the degree of supplier differentiation possible flows from the network effect involved: perhaps it was inevitable that Facebook and Google commoditized suppliers, for example, or that Amazon and Netflix would have to simultaneously pursue differentiated suppliers even as they sought to suppress them. What is always certain, though, is that there is no one perfect strategy: as always, it depends.

Thanks to James Allworth, my co-host on the Exponent podcast, for helping me conceptualize this framework

I wrote a follow-up to this article in this Daily Update.

  1. In this article when I refer to “Amazon” I am primarily referring to the e-commerce company; Microsoft the PC company. I will cover AWS and Azure in a follow-up in the Daily Update.
  2. iMessage being an instructive exception
15 May 09:26

1551 Quebec Street

by ChangingCity

This is the final building in Concert Properties’ Southeast False Creek development. The non-market building and Voda are complete, Navio is nearing completion, and this is the final phase. It’s designed by the Vancouver office of ZGF (of Portland) with local architects Rafii Architects and Richard Henry Architect as consulting Architect.

It doesn’t have a marketing name yet – just ‘The Creek, Building 5’. There are only 91 units and only one is a 1-bed unit; there are 4 townhouses, and all the rest are 2-bed or larger, in a building of over 175,000 square feet in total.

For once the render showing a grassy area in front isn’t just an artist’s fantasy; there will be an extension of the existing seawall park extending south around the new building.

15 May 09:26

Firefox 61 Beta 6 Testday, May 18th

by Camelia Badau

Hello Mozillians,

We are happy to let you know that Friday, May 18th, we are organizing Firefox 61 Beta 6 Testday. We’ll be focusing our testing on: Accessibility Inspector: Developer Tools, Audio Context using sampleRate and Web Compatibility.

Check out the detailed instructions via this etherpad.

No previous testing experience is required, so feel free to join us on #qa IRC channel where our moderators will offer you guidance and answer your questions.

Join us and help us make Firefox better!

See you on Friday!

15 May 09:26

Fellowship of the SPLOT

by Reverend

We are big fans of the SPLOT at Reclaim Hosting, and Alan Levine has been doing a ton of work developing and managing these tools over the last couple of years. Not so much because folks are paying him too, but because that’s who he is. He follows his interests and over-sized heart from fun project to funner project, living the life of a nomad edtech. Not so much “The Man Without a Name” as “The Man without an Institution”—but damn that creep can blog! I guess if you have a good enough blog you don’t need an institution 🙂

Anyway, Alan’s tireless work around SPLOTs is something we have wanted to build on top of at Reclaim for a while now. Specifically, we want to be able to package up SPLOTs as individual apps that someone can install with one click. Alan has been maintaining a number of SPLOTs on our demo server StateU that are available as variables on top of WordPress:

StateU SPLOTs

But when Alan joined us in Fredericksburg for our Workshop of One’s Own to talk SPLOTs in March, we made some headway on making each tool a stand-alone app that can be showcased in cPanel alongside WordPress, Omeka, etc.

Big Picture Calling Card SPLOT as its own application

And the idea is to try and get a series of these SPLOTs in cPanel dashboards across our shared hosting and institutional servers, not only to give folks access to these tools—although definitely that—but also in hopes people will see what’s possible and make their own SPLOTs that can in turn be shared back for others to use. In this way Reclaim could help provide a hub to distribute these “tiny teaching tools” (to misquote Tom Woodward). So, that’s the plan, and to buttress Alan’s efforts and hopefully make it more widely available to others we have started a year-long fellowship at Reclaim in order to support Alan’s work with SPLOTs for the next 12 months. And, as it will be no surprise to anyone who follows his blog, Alan has been bobbing blogging and weaving all kinds of SPLOT goodness.

 

The House that 106 Built

A post shared by Jim Groom (@jim.groom) on


Being able to support the efforts of independent edtechs like Alan Levine is exactly what Reclaim Hosting was born to do—it is, after all, the house that 106 built! And, hopefully, we can do more of just this kind of thing in the future.

15 May 09:25

Deep Dive: New bookmark sync in Nightly

by kit

For the last two years, the Firefox Sync team has been hard at work improving bookmarks on all our platforms. Last year, we added support for uploading bookmarks to Firefox for iOS, and made change tracking more durable on Android. Today, we’d like to tell you about our latest project to overhaul bookmark sync in Firefox for Desktop.

A homemade cardboard bookmark shaped like a fox

Firefox bookmark. Image credit: Lonnie Jacobsen

Historically, bookmark sync has been plagued by problems that were difficult to isolate and fix.

  • Bookmarks would be duplicated, lost, or reordered, temporarily or permanently.
  • Folders with different contents would smush together.
  • New bookmarks wouldn’t make their way to all devices, causing them to gradually fall out of sync.
  • Moves would be partially or completely undone.

At the root of all these issues was an approach to syncing that didn’t consider the unique challenges of bookmarks. In this post, we’ll dive into an overview of how Sync works, why bookmarks are special, and the advantages of the new design. Whether you’re a new or long-time Sync user, we invite you to flip the pref, try the new bookmarks engine out, and send us your feedback!

TL;DR: How do I opt-in?

The new bookmarks engine is currently behind a pref in Beta 61 and Nightly 62, but you can turn it on easily. First, we recommend you make a backup of your bookmarks, just in case:

  1. Go to Bookmarks > Show All Bookmarks to open the Library.
  2. In the Library toolbar, click the “Import and backup your bookmarks” button to bring up the menu.
  3. Click “Backup…” to export your bookmarks in JSON form.

Now, you can enable the new engine:

  1. Open about:config.
  2. Search for services.sync.engine.bookmarks.buffer.
  3. If it’s true, congrats, you’re already using the new engine! If it’s false, double-click the row to toggle the pref to true.

That’s it! Keep an eye on your bookmarks: do you notice any issues when you sync? Try adding, deleting, and moving bookmarks around on all your devices, and see if your changes sync everywhere. If you’ve been using Sync for a while, there’s a good chance you have some inconsistencies on the server already. After you turn the new engine on for the first time, Sync will download all your bookmarks from the server, and run a full merge. This is a good time to notice if any of your bookmarks are deleted or rearranged.

If you start seeing problems:

  1. Install the About Sync add-on.
  2. Go to Tools > About Sync, or open about:sync.
  3. In the “Log Files” section at the top, set “Level of messages written by Sync engines” and “Level of messages written to about:sync-logs log files” to “Debug”.
  4. Make sure “Create log files even on success?” is checked.
  5. Trigger a sync to reproduce the problem.
  6. Download the logs as a zip file.
  7. Scroll down to the “Data provider options” section at the bottom.
  8. Select “Load local sync data”, and make sure “Anonymize data” is checked.
  9. Click “Export to file” to generate an export of your validation data, with all titles, URLs, tags, and other identifying fields obscured.
  10. File a bug in “Firefox :: Sync” on Bugzilla, with the logs and anonymized validation export as attachments. Please be sure to include in your report which devices are attached to your account: other Desktops, Android, and iOS.

You don’t need to understand how bookmark sync works under the hood to use new bookmark sync, but read on if you’re curious!

Anatomy of a Synced Data Type

Sync is a complicated beast—30 files and 25k lines of JavaScript, written over ten years—but the core ideas are simple. Every syncable data type (bookmarks, history, tabs, passwords, and so on) is backed by a tracker, a store, and an engine.

  • The tracker monitors and records changes, like when you add a bookmark, update a saved password, or open a new tab. The tracker notes the change, and tells the engine to sync once the number of changes exceeds a threshold.
  • The store is the glue between Sync and storage in Firefox. It marshals Sync records, which are encrypted, type-specific JSON blobs, to and from a backing data store. For bookmarks and history, the backing store is Places, which is an SQLite database that lives in your profile folder. For passwords, addresses, and credit cards, the backing store is an on-disk JSON file.
  • The engine manages the sync lifecycle. It queries the tracker for a list of what’s changed since the last sync, downloads new records from the server, resolves conflicts with local changes, applies the new records to the store, asks the store to inflate Sync records for new local items, and uploads the new items back up to the server.

Hasty Generalization

Sync is very generic, which has some important consequences that we’ll talk about later.

A record is just an encrypted JSON blob: it’s up to the store on each device to make sense of it, figure out how to represent items (for example, a record per bookmark, a record per page with a list of visits, or a record per device with all open tabs), and translate the records into the right format for the underlying data store.

Records are decrypted and applied to the store one at a time, in no particular order, and typically without a transaction. Conflict resolution considers each record in isolation, and uses timestamps to decide which is newer. Timestamps are subject to clock drift in the best case, and wildly inaccurate in the worst.

This approach is an artifact of Sync’s history more than a deliberate decision. Sync began its life in 2008 as an add-on called “Weave”, and integrated into Firefox in 2010. Backing stores like Places were designed long before this, and most weren’t built with syncing in mind.

The generic design works surprisingly well in most cases, but an important lesson that we’ve learned from working on Sync is that this only works well for the simplest data types. However, each data type has different requirements.

  • Append-only data, like history visits, are easy because they can be synced out of order, and we don’t need to worry about conflicts.
  • Semistructured data, like passwords and addresses, are independent, but need some kind of conflict handling: what happens if you change a password for a site on your laptop, and the username for the same site on your phone?
  • Hierarchical data, like bookmarks, are especially thorny, and need robust conflict resolution that considers multiple records and the relationships between them.

Bookmarks

Bookmarks are probably the most complicated data type we sync, and one of the more valuable. You might visit dozens or hundreds of sites in a week, and it’s okay if some pages get lost in the shuffle. But when you bookmark a page, you’re signaling that it’s important in some way.

Bookmarks are versatile. Some folks use them as a reading list, or a drop file of things they’d like to see again. Others meticulously organize the bookmarks they’ve collected over many years, and use keywords and tags for easy access. Still others go with a mix of strategies. I have just under 4000 bookmarks that I’ve saved over eight years, most in “Other Bookmarks”, some organized into folders, and about a dozen in the toolbar.

It would be a shame if I took the time to tend to my bookmarks, only to have Sync lose or scramble them. Sadly, this has been a common complaint from folks over the years, eroding trust in Sync and Firefox.

What makes bookmarks so challenging? The short answer: they’re trees! Your bookmarks form a hierarchy, where each one lives in a folder, and has a unique position within that folder. Sometimes, the position and folder doesn’t matter; other times, it does. I’d be hard-pressed to remember that this awesome article about how SQLite works is #1480 in “Other Bookmarks”, but I’ll notice right away if my favorite recipes end up in the menu instead of my recipes folder, if the separators between my folders are off, or if my toolbar suddenly shows Bugzilla ahead of Purrli!

Sync can’t know how you use bookmarks, so it must be able to handle every case.

The server doesn’t distinguish between bookmarks and other data types: everything is stored in a collection of flat, unordered, and encrypted records. Folders keep pointers to their children, and children back to their parents. This means that some changes, like moving a bookmark between two folders, or deleting an entire folder, require uploading multiple records. Corruption happens when these changes are lost, not made in lockstep, or applied out of order.

Corruption doesn’t mean all your bookmarks are unrecoverable. They might be missing, or appear in different folders or the wrong order on different devices. Thanks to the magic of complex distributed systems, corruption also isn’t stable: inconsistent data can become eventually consistent, and much of Sync relies on this property to work.

In a common case, your desktop might realize halfway through the sync that the bookmark tree on the server doesn’t make sense, maybe because your laptop didn’t finish uploading all its changed bookmarks. At that point, it’s too late. Sync can’t undo the changes it made, because it already applied all the records it saw directly to Places.

Another case where corruption typically happens is when you connect a new device to your account. A first sync can take minutes for large trees, as inserting or updating into Places incurs a half-dozen database statements per bookmark. Since bookmarks are unordered on the server, the new device might see a child before its parent folder, and stash the bookmark in “Other Bookmarks” until the folder arrives. Some folks will notice this and try to help Sync out, which usually makes the problem worse.

Remember how I mentioned earlier that Sync records are encrypted and opaque to the server? This is still very much the case! It means that Mozilla can’t see any of your bookmarks, which is a core privacy guarantee. On the other hand, it means that Firefox needs to detect corruption and resolve merge conflicts locally. Everything must happen client-side; the server can’t help at all, because it can’t decrypt your bookmarks.

We’ve learned from experience, and many reports of bizarre bookmark issues, that “stash everything in Places and trust that we’ll get it right eventually” doesn’t work. Last summer, we set out to fix these problems once and for all.

Mobile First!

For inspiration on how to fix bookmark syncing on Desktop, we turned to Firefox for iOS.

In contrast to Desktop, iOS was built to sync from the start. Bookmarks are stored in a database schema that separates “value”, like the title, URL, or description, and “structure”, or parent-child relationships. When you change a bookmark on your phone, or make a change on your laptop that’s synced to your phone, iOS doesn’t mutate the canonical representation of that bookmark in a “bookmarks” table, as on Desktop. Instead, iOS keeps the original bookmark value and structure in a “mirror” table, and records the changes in a separate table: “local” for changes that you make, and “buffer” for changes that Sync makes.

The mirror helps with conflict resolution; preserving the value and structure until the next sync, as well as keeping them separate, makes three-way merges possible. You might recognize this as the same idea behind version control systems like Git and Mercurial. The “shared parent” is the original value and structure, and the left and right sides are the “local” and “buffer” tables.

During a sync, iOS walks the mirror, local, and buffer trees to produce a complete, consistent merged tree. Any bookmarks added to a folder on one side that’s deleted on the other side are relocated to the deleted folder’s parent, to avoid data loss.

Three-way merges make value-structure conflicts, like renaming a folder on one side, and moving or reordering its children on the other, easy to resolve without resorting to the timestamp. iOS still uses the timestamp to break the tie in case of conflicting value and structure changes—this is where a system like Git would insert conflict markers and pause merging until they’re resolved—but these are rare.

We can’t redo bookmark storage on Desktop to match iOS. That would be an invasive change touching almost every part of Places, and require extensive regression and performance testing. But we can take away some insights from how iOS does things.

Staging

Instead of modifying “mirror” directly, iOS writes synced changes into a separate “buffer” table. This allows Sync to detect and bail on inconsistent or incomplete trees before merging. Likewise, changes that you make are staged in an outgoing “local” table, meaning Sync won’t upload partial changes if you happen to move or rename a bookmark at the exact time a sync is running.

Structured tree merging

Structured tree merging. The Sync record format smushes value and structure for folders, which is why Sync has historically mishandled easy conflicts like renaming a folder on your laptop, and adding some bookmarks to the same folder on your phone. Deleting entire folders and moving bookmarks to new folders are other cases where Sync has done the wrong thing. Walking the entire tree to decide on a final structure solves these issues.

Content-based deduplication

Sync tries to avoid creating duplicates where it can. If you bookmark the same page in the same folder on your desktop and tablet, it’ll only sync one. This is also handy if you import bookmarks from another browser before syncing. Thanks to structured merging, iOS can zip trees together, while Desktop looks for similar bookmarks anywhere in the tree, and takes the first match it finds. This causes interesting bugs like merging the contents of two untitled folders.

Applying in a single transaction

This improves performance by reducing writes, and makes interruptions safe. Quitting the app or interrupting the sync means the transaction doesn’t commit, and the merge can start over on the next sync. Merging in a transaction also allows iOS to roll back on errors like inconsistent trees.

How New Sync Works

The new bookmark sync borrows a lot from iOS.

There are two important parts: a mirror and a merger. The mirror maintains a local copy of the server’s bookmark tree in a separate SQLite database, applies merged trees back to Places, and stages locally changed bookmarks for upload. The merger takes the local bookmark tree in Places, the remote bookmark tree in the mirror, and builds a complete, consistent merged tree, with all conflicts resolved.

You can think of the new sync in iOS terms as “Desktop Mirror = iOS mirror + iOS buffer”, and “Desktop Places = iOS mirror + iOS local”.

Unlike iOS, Desktop doesn’t store the shared parent; it knows that a bookmark or folder changed, but not how. Since Desktop don’t know the shared parent, it only has enough information for a two-way merge of two complete trees. This is fine for resolving simple conflicts, which are usually “I added two different bookmarks to the same folder on two different devices.” The structured merge can still detect value and structure changes, and fix up Places or the server to match.

During each sync, the new engine stages incoming bookmarks in the mirror, instead of writing them directly to Places. The mirror handles missing children and parent folders, so the order of records doesn’t matter. The mirror also has weaker consistency guarantees; unlike Places, the mirror don’t need to worry about maintaining consistency until it’s ready to ‘inflate’ a tree for merging.

Unfortunately, Sync might have uploaded corruption to the server in the past, especially in the early days. For example, you might have bookmarks referencing nonexistent parent folders, folders referencing nonexistent children, or a bookmark and folder that disagree about where it belongs. The mirror tries to make the structure temporarily consistent, as the missing or updated records usually show up on the next sync.

Next, the merger recurses down the local and remote trees to build a merged tree, following the same process as iOS. You can dive into the code if you’re curious about how this works. Once the merger has built the new tree, the mirror stuffs the new structure into an in-memory SQL table, and applies the tree to Places using a pile of triggers. The triggers handle deduplication, URL, title, keyword, and tag changes. Much of the complexity is mapping the simpler Sync record model to the Places model, especially for keywords and tags.

Finally, the mirror ‘inflates’ Sync records for all outgoing bookmarks. The engine takes the records, uploads them to the server, and writes them back to the mirror at the end of the sync. This lets the engine resume cleanly if the sync is interrupted during or after upload.

What have we learned?

In a fun turn of events, the strategy that we initially rejected—building a “shadow” bookmarking system that kept synced bookmarks separate, and merged with Places—was the strategy we implemented.

Bookmark merging is hard! Much of the work was about getting the semantics right, and adapting the three-way merger from iOS into a two-way merger on Desktop. “How should we resolve this conflict?” came up more often early on, than “what’s the best way to write the conflict resolution logic?”

Pushing more logic into SQL fixed many edge cases in the first cut of the mirror, which implemented most of the “apply to Places” step in JavaScript. Applying a complete merge tree to Places boils down to two views for value and structure, five INSTEAD OF DELETE triggers on the views to deduplicate and update existing bookmarks, insert new bookmarks, fix parent-child relationships and position, and flag folders with resolved merge conflicts for re-upload, and two DELETE statements to process every row in each view. This also makes the merge step more efficient, as everything is contained within SQLite. There’s no need to accumulate row objects in memory, pass results and statements back and forth between the main and storage threads, or cross the JavaScript-C++ barrier.

There are subtleties in handling keywords and tags, which Places associates with URLs instead of bookmarks.

Some of the performance characteristics of SQLite surprised us! For example, a query containing a WITH RECURSIVE expression (handy for walking trees in SQL!) and LEFT JOINs took 10 seconds to run for 5000 rows, compared to 5 milliseconds for a simpler query and recursing in JavaScript. An INSERT OR IGNORE...SELECT with a LEFT JOIN took over 4 minutes to insert 40000 rows, compared to 2 seconds with a subquery. Removing most LEFT JOINs on TEXT primary keys, and avoiding cascading TEXT foreign key deletes, reduced the merge time for 40000 bookmarks from over 4 minutes to under 10 seconds.

Thank you

Shipping new bookmarks was a months-long team effort, and I’d like to close this post by acknowledging the awesome folks who made this happen. Bookmark merging wouldn’t have landed without their astute and insightful feedback, support and patience, planning, mentoring, hours of code review, data analysis, and testing.

15 May 09:25

@stoweboyd

@stoweboyd: Google Duplex: An AI System for Accomplishing Real-World Tasks Over the Phone is a very...
15 May 09:25

@stoweboyd

@stoweboyd: There’s a bit of a controversy about Google Duplex not disclosing that it is an...
15 May 09:25

Vancouver civic election shows that much is up for grabs in an unstable climate

by Frances Bula

Catching up here after many weeks, where I’ve been slowed down by a combo of too much election news and killer colds and coughs.

But here we are, in what is surely one of the stranger municipal election cycles of the last 50 years. (Counting out Nanaimo here, whose problems seem to go far beyond mere civic politics.)

I keep telling those who ask that I have little sense of how all of this is going to evolve over the next six months and who will ultimately be the leading contenders among the mayoral candidates or parties. There’s still so much sorting out to do.

The tentative conclusions I have come to are that

  1. This could be an election where a mayoral candidate wins with less than 30 per cent of the vote (which would make it about 15 per cent or less of the total number of potential voters) given the potential vote-splitting on both right and left.
  2. It wouldn’t surprise me in the least if we end up with a council that has no clear party majority. While developers in town are probably sweating at that possibility, in reality it won’t be that different from the typical smaller-town city council, where there are no parties and voting alignments can shift with each issue.

In the meantime, to catch up, where are we on all fronts?

  1. Squamish hereditary chief and council member Ian Campbell announced today he is running for the Vision mayoral spot. His announcement was quite a splash, with lots of supporters and lots of emphasis on the Indigenous angle. I interviewed him yesterday and my story is here. Vision’s decision to have a mayoral nomination process is the result of a struggle inside the party over what to do in this cycle, which arises from members’ very different ideas of where Vision is at. Some think the party is near dead and that it should simply acknowledge that gracefully and co-operate with the other progressive parties. Other stalwarts believe the party is still a dominant force, with a database of voters, volunteers, and a track record of knowing how to run a campaign. That group thinks that, even if Vision can’t win this time, it needs to stay alive for the next election. To do that, it needs to have a profile and be able to do some fundraising. To do THAT, it needs a mayoral candidate. As well, to that group, it looked as though Shauna Sylvester’s campaign, which looked promising, was not showing signs of momentum. And Kennedy Stewart, the other independent that party members might have supported, only started making noises about running just as Vision types had already decided to go with their own candidate
  2. Then there’s the Non-Partisan Association, which is going through its own tumult. That’s largely because the party, which only really comes alive around election time, is dealing with four internal groups: the new members and those supporting Hector Bremner, the guy who came from nowhere to win the NPA by-election, thanks to an energetic campaign that Mark Marissen was involved in; the new members and board directors who favour Glen Chernen, Vancouver’s own populist politico who has attracted attention the last few years with his efforts to expose what he sees as corrupt deals between the city and developers; and the NPA old guard, which has largely rallied around park-board commissioner John Coupar; and another NPA group — the potential donors and big-money types like Chip Wilson and Peter Armstrong — who have clustered around Ken Sim.

As the world knows, the NPA has declined to let Hector Bremner run as a mayoral candidate, for so far unspecified reasons. My story on             this here.

3. Then we have the independent “unity” candidates for the left, which include Kennedy Stewart (story here), Shauna Sylvester (story here) and possibly Patrick Condon (story here)

4. And, finally, there are the other parties, which are having a better time of it in a way because they are focused on a certain targeted mission and they don’t have ambitions to take over city council. For the Green Party, the big question is whether Adriane Carr should run for the mayor’s job and risk losing a guaranteed council seat (my bet is that she won’t with all the new contenders in the race), while OneCity and COPE are dedicating their energy to recruiting a few, not too many so as to avoid watering down their own vote, council, school board and park board candidates who can give them a presence.

Lots more to say about all of this but I’ll save it for another time. I welcome your comments on how everyone is doing.

15 May 09:24

The Bell System was serious about safety, but perhaps a bit melodramatic in their illustrations. pic.twitter.com/mdb2jjlcsZ

by museumofcomm
mkalus shared this story from museumofcomm on Twitter.

The Bell System was serious about safety, but perhaps a bit melodramatic in their illustrations. pic.twitter.com/mdb2jjlcsZ






Posted by museumofcomm on Sunday, April 22nd, 2018 7:11pm


41 likes, 7 retweets
15 May 09:24

Ever wonder what a new central office looks like after the cable is installed but before the equipment is brought in? (this is probably Seattle's Emerson office) pic.twitter.com/ULxM4R3d2d

by museumofcomm
mkalus shared this story from museumofcomm on Twitter.

Ever wonder what a new central office looks like after the cable is installed but before the equipment is brought in? (this is probably Seattle's Emerson office) pic.twitter.com/ULxM4R3d2d



Posted by museumofcomm on Sunday, April 22nd, 2018 7:39pm


28 likes, 8 retweets
15 May 09:24

The Sense of Community You Nurture Will Outlive Your Platform

by Richard Millington

Last week, I listened to two people argue about which platform they should use to build their community.

Should they use Slack or Discord?

Today, most of their audience is on Slack. Tomorrow it might be Discord…at least for a while. Within 18 to 36 months, it will be something else.

Chasing after your audience from one platform to the next is an expensive, wasteful, approach to community building. A far better approach is to invest those same resources in building a strong sense of community.

If your audience feels a strong sense of community with one another, it doesn’t matter what platform they use. That sense of community follows them wherever they go.

But building this strong sense of community requires investments in intangible areas. You can make this tangible by running the sense of community survey first and designing specific actions (see the worksheet) to improve the sense of community.

This might include:

1) Provide funding to leaders. You might copy Wikimedia and provide resources for leaders to step forward and create their own groups or run their own events. You would help train them, give them unique access, fly them in to meet your team, and promote the groups they create. If you’ve built strong relationships with leaders, it doesn’t matter if one of them moves a chunk of your audience from one platform to another.

2) Bring the community to customers. You would bring the community into the natural journey customers go through when using a product. ‘Have a question? Want to get better? Here is our community who can help…’. You would entwine the community(ies) as closely as possible with the product. Updated links to relevant discussion topics embedded within its use would help.

3) Design rituals. After a member has made a certain number of contributions, they would be invited to give their feedback, share their toughest challenge, or how they got into the topic. Something which opens members up to the group. You may consider special features for members on their anniversary of using the product.

4) Develop a unique identity. You would give community members a unique name and a place which documents the history of the community. Who were the top members, how did they get started, what were the major milestones of the group? This would be shared and communicated to all new customers.

5) Have a newspaper. Each week you would publish the community newspaper, edited by members, featuring the best contributions from the community. This might include the best advice, funniest stories, or anything else which could be interesting to the group. This would cover communities across all platforms, including those that aren’t involved with you at all. Let everyone pitch their ideas and stories to the group. This newsletter helps build and establish the social hierarchy within the group.

6) Host and promote events. Three types of events can work well. The first are events you host just for your top members. Spotify’s Rock Star Jam is a good example. This builds close relationships between anyone building any kind of community for your brand. The second are member-hosted meetups. Provide some limited funding (perhaps $100 per meetup for food/drinks) and plenty of local promotion for any member who wants to host meetups with others. The third is big conferences. If you have a big audience, it may be worth bringing them together once a year. These build strong relationships between members.

7) Gather and identify useful feedback through any channel. Scan all social and community channels run by members for any useful feedback you can send on. Answer questions in these communities and let them know how their feedback has been used.

8) Setting clear goals and targets for members. You can set goals for the community to achieve. Better yet, get members to list their skills, knowledge, and experience. Then find ways for them to contribute these things to the community.

This is a handful of ideas rather than an exhaustive list. The point is investing in the channels above will give you a community which outlives the demise of any single platform.

If you’re doing your job well, you should see the sense of community felt among regular customers (remember to skip the newcomers) steadily improve over time. This is the tangible success of your work. People move platforms a lot more frequently than they feel a sense of community.

It’s never a good idea to try and contain members in one place, nor chase after them from one platform to the next. That’s expensive and wasteful. You can gain better results from building a strong sense of community among members regardless of which platform they use.

Hosting and managing a community platform can help you achieve your goals, but nowhere near as much as fostering a powerful sense of community.

15 May 09:22

Analyst thinks 2018’s LCD iPhone could come in iPhone 5C colours

by Patrick O'Rourke
iPhone 5C

If you were a fan of of the iPhone 5C, you’ll likely be pleased if this prediction comes true.

It’s widely believed that Apple will release three iPhone models this year, including a larger successor to the iPhone X, another device that’s slightly cheaper and the same size as the company’s 10th anniversary iPhone, and finally, a cheaper version of both phones that features a similar design, but with an LCD display instead of OLED.

StreetInsider is reporting that in an effort to differentiate the cheaper iPhone models from higher-end devices, iPhone 5C-like colours could be set to make a return.

“Rosenblatt analyst Jun Zhang said Apple, in an attempt to target the younger consumer market, could launch multiple colors for the iPhone 8S (LCD model), including blue, yellow, and pink, during the second half of this year […]

“Since Apple started to launch three new models every year, we believe the company needs to differentiate the designs of the LCD model from the two high end OLED models,” he comments. “One reasonable choice would be to add different colours.”

The possibility of green, blue, yellow, red and white making a return seems to be purely speculation from Zhang, but it does make a significant amount of sense.

Apple took a similar approach with the iPhone 5C that was relatively well-received, so it’s possible that the idea could resurface.

Source: Streetinsider Via: 9to5Mac

The post Analyst thinks 2018’s LCD iPhone could come in iPhone 5C colours appeared first on MobileSyrup.

15 May 09:22

Tesla teases new cars in commercial

by Brad Bennett

In a promotional video posted by Tesla on May 9th, the company gives a quick peek at a new car.

The car in the video is partially covered by a sheet but viewers are already speculating that it’s the company’s much-hyped Model Y.

The video also gives a new look at the Tesla Semi and Roadster vehicles that are also supposed to be coming out in the next year or so.

There are some really cool shots of people driving the new Roadster, which is reported to go 0-60MPH in 1.9 seconds.

There’s no real reasoning behind this video except that Elon Musk has called it a “quarterly all-hands video.” I’m not really sure what that means exactl,  but it does seem like we can expect another video after Tesla’s next quarter in August.

Source: Tesla, BGR

The post Tesla teases new cars in commercial appeared first on MobileSyrup.

15 May 09:22

Here’s how to enable experimental Smart Compose in Gmail

by Jonathan Lamont
Gmail app on Android

The fancy new Smart Compose feature that Google showed off at I/O last week is available for testing now.

The feature is basically an artificial intelligence powered auto-complete. It gives you suggestions to complete your sentences and according to Google even adds contextual suggestions, such as adding “Have a good weekend” at the end of an email sent on a Friday afternoon.

If you’ve been itching to try the new feature, you’re in luck. An experimental version can be enabled in Gmail right now.

Gmail settingsStart off by making sure you’re in the new Gmail. Click the gear in the top right and select “Try the new Gmail.” Once you’re in the new Gmail, go back to that gear and click ‘Settings.’

Once in the ‘Settings’ menu, click to the ‘General’ tab. Scroll down a bit and check Enable experimental access.

Scroll all the way down to the bottom of the page and select ‘Save Changes.’ Gmail will reload and that’s it. When you start composing an email, you’ll get a little indication that Smart Compose is on. Additionally, the new feature will begin providing suggestions.

Smart Compose in action

I did have to do a fair bit of fanangling to get it to work. It appears Smart Compose is only available if you have U.S. English as your default language in Gmail. If the feature isn’t showing up for you, make sure you’re on the right language settings.

It’s also important to remember that this is an experiemental feature. It did provide suggestions, but they were often wrong or irrelevant.

At the end of the day, it’s a handy addition that will get better with time.

The post Here’s how to enable experimental Smart Compose in Gmail appeared first on MobileSyrup.

15 May 09:22

Google’s Gmail for desktop has a native offline mode

by Dean Daley

A couple of weeks ago, Google launched a new Gmail redesign giving the service a complete new look. On top of that, at Google I/O the company showcased a ‘Smart Compose’ feature revealing a future update allowing the AI to guess what you’re trying to say next. Now, Gmail has a native offline mode.

To use the functionality, users require Chrome 61 or higher. To enable it, you have to head to the Settings within the Gmail and navigate to the offline tab, then click on the ‘Enable offline mail’ option.

Once the feature is enabled you can write, search and delete or archive messages when you have no connection.

There was a Gmail Offline Chrome app, however, users are now encouraged to uninstall.

Users can decide whether to save messages for 7, 30 or 90 days. or whether or not they want to download attachments.

You can also decide between two security modes. As per Google:

  • Keep offline data on my computer – Data stored on your device will not be deleted when signing out of your Google account or when changing your password. To delete account data from your device, disable offline mail and save changes.
  • Remove offline data from my computer – Data will need to be resynced to your computer when logging back into Gmail. It may take a few hours to resync the mailbox.

This feature is widely rolling out to regular Gmail users.

The post Google’s Gmail for desktop has a native offline mode appeared first on MobileSyrup.

15 May 09:21

Android P seems to have added fingerprint gestures to YouTube

by Bradly Shankar
YouTube app on Android

As Android users have gotten their hands on the beta for Android P, increasing numbers of potential features for the OS are being revealed.

Now, users are discovering what appears to be fingerprint gestures in the YouTube app on devices running Android P.

According to a recent Google Pixel Reddit thread, those playing videos in the YouTube app are able to tap their fingers on the scanner to bring up a media control overlay.

YouTube supporting fingerprint gestures? from GooglePixel

Based on the comments, however, it doesn’t seem that not all Google Pixel owners can access the feature. Some say they are able to on their 2016 Pixel XL, while others say they have the same phone but are unable to.

It’s also unclear if the feature is only available on Pixel devices at the moment or if it will work on other Android devices.

Do you own a phone running Android P? If so, are you able to use fingerprint gestures in the YouTube app? Let us know in the comments.

Source: Reddit 

The post Android P seems to have added fingerprint gestures to YouTube appeared first on MobileSyrup.