Parental Controls and Metered Data hackfest

London, UK, 2019-03-18 to 2019-03-21

Primary contact: Philip Withnall <philip@tecnocode.co.uk>
Secondary contact: Rob Mc​Queen <ramcq@gnome.org>

Relevant GNOME team

gnome-software, gnome-shell, flatpak, gnome-control-center developers; designers

Description

A hackfest to plan integration of parental controls and metered data features into the wider desktop.

Parental controls and metered data are two separate features, but it seems that they involve a lot of the same people upstream. gnome- software/flatpak/gnome-shell are touched quite a lot by both features.

Parental controls is the ability to prevent installation of apps which are too violent (or intense in other ways) for non-administrator accounts; and to set filters on which installed apps an account may run. Parents would set an account up for their child with such restrictions.

Metered data is the ability to set a policy for when ‘large’ downloads can happen, according to your internet capacity restrictions and a timing schedule. Phase 2 of it is planned to monitor the bandwidth usage of apps for reporting in the system monitor. Phase 3 could apply per-app limits. See https://tecnocode.co.uk/2018/07/13/guadec-2018-thoughts/.

Since there are a few questions about the UX to work out for both features, we’re targetting 3.34 with them. It’s a bit late for 3.32 now.

Agenda, goals

Some things to think about before the hackfest

At a higher level, paging back in the design work which has already been done on parental controls and metered data would be useful. A few things I can think of in particular:

  • When working on our metered data implementation for OS updates, we did some Shell integration which added an ‘Automatic Updates’ toggle to the settings drop-down. However, we aren’t very satisfied with how this, plus some popup notifications, conveys to the user the status of updates. Are updates available? If so, are they being downloaded, or are they deliberately not because the user’s connection is metered?
  • The language around ‘metered data’ and ‘automatic updates’ is something I’ve found a bit tricky. I know what it means, but do users?
  • We went with a principle of always allowing explicit user action to override the system’s metered data policy. For example, if an automatic update is held back because the user is on a metered connection, but then they explicitly press the ‘Update’ button, the update should be downloaded regardless. One question which the user is probably going to be asking is “how much will this update cost me if I do it now?”, which is something we don’t currently convey to them. Similarly, when installing a new flatpak app, if the user is given the estimated download cost, they can make a more informed decision about whether to force the download now, or later.
  • There were designs for per-app network statics collection and metering being implemented in the new Usage app. How do we tie in to that?
  • Regarding parental controls, I think there are fewer issues. One thing which some Endlessers have pointed out is that it’s hard to get a grasp on how different parental controls levels affect what’s visible. i.e. If I limit my child to PEGI 7 vs PEGI 12, what apps does that restrict them from running?
  • elementary have a different parental controls implementation from Endless, which Adam has documented here, which is worth a read: https://docs.google.com/document/d/1rc3qEdwZfktWg443C78Mc1fdzuTTZ4PncQ-OlzUDrm0/edit?usp=sharing

    • Particularly, where in g-c-c is it best for this stuff to live? elementary have a separate panel; Endless has added it to the existing user accounts panel.
  • How do we want parental controls to interact with administrator/non-administrator accounts? Currently it’s ignored for administrator accounts.
  • Relatedly, do we want to change the gnome-initial-setup experience so it can create non-administrator accounts? For example, to set up a computer with one account for parents, and one for children?

Some screenshots of Endless’ current parental controls and metered data functionality: https://cloud.gnome.org/s/EAHzDL7Gc24abTk

And the initial design documents and wireframes: https://cloud.gnome.org/s/NG3kDm4QC8Zafj9

Regarding testing, there shouldn’t be a need to get a mobile broadband dongle, since you can mark arbitrary NetworkManager connections as metered by ticking the ‘Restrict background data usage’ tickbox in the connection’s properties in the control centre.

Venue

Red Hat London offices, Peninsular House, 30–36 Monument Street, London

https://www.openstreetmap.org/way/142658148

Nearest tube station: Monument (https://www.openstreetmap.org/relation/7673050)

If you’re coming on the Tube, you’re heading to the Monument (the big marble tower). When you pop out the subterranean walkways, it’s a two minute walk.

When you arrive, go up to the 1st floor reception and get a “building pass” from the receptionist. Then go to the 4th floor and go through to the reception area -- if you get stuck in the glass doors ping/ring me and I’ll let you in if the receptionist is somewhere else. As you go through the glass doors, please sign in with the receptionist and then look forwards and diagonal right. The meeting room is the one labelled Leadenhall (Monday–Wednesday) or Spitalfields (Thursday) and just come in and say hello.

The office will be open from 07:00 to 19:00, and the meeting room is booked all day on Monday to Wednesday. It’s booked from 09:00 on Thursday.

Code of Conduct

As for all GNOME-related events, the GNOME Events Code of Conduct and CodeOfConduct/PhotographyPolicy apply.

Any violations of either should be submitted to the event organizers (see above) or the GNOME Code of Conduct Committee

Timeline

  • 2019-03-18, morning: Parental controls work
  • 2019-03-18, afternoon (16:30ish onwards): remote discussion with Adam Bieńkowski about elementary OS’ parental controls, either a video call or on IRC

  • 2019-03-19: Parental controls work
  • 2019-03-19 at 18:30: GNOME London beers

  • 2019-03-20: Metered data work
  • 2019-03-20, evening: hackfest dinner at The Folly, 41 Gracechurch Street; at 19:30

  • 2019-03-21: Metered data work

Sponsors

  • Venue: Red Hat
  • Dinner on Wednesday night: Endless

Attendees

Name

Relevant contribution/aim

Arrives on

Departs on

Staying at

Robert McQueen

Upstream all the things; Board director; Endless PHB

TBC

TBC

TBC

Philip Withnall

Upstream parental controls and metered data developer; Endless developer

2019-03-18, 07:58 at EUS

2019-03-21, 20:30 at EUS

Dover Castle Hostel, 6a Great Dover Street

Richard Hughes

GNOME Software Maintainer, OARS initiator; Red Hat employee

Lives Here

Lives Here

Home, ~1h away

Kalev Lember

GNOME Software Maintainer; Red Hat employee

2019-03-18

2019-03-22

Richard's place

Georges Stavracas

GNOME Shell and GNOME Settings developer; Endless developer

2019-03-16

2019-03-22

Ibis Hotel @ Earls Court

Iain Lane

Canonical/Ubuntu desktop team; Debian developer; GNOME contributor

2019-03-17

2019-03-21 (evening, STP)

citizenM Tower of London Hotel, 40 Trinity Square, London EC3N 4DJ

Florian Müllner

GNOME Shell developer; RH

2019-03-17

2019-03-22

Travelodge @ Bethnal Green

Nick Richards

Product for Parental Controls and Metered Data when at Endless; Lucid

Lives In London

Lives in London

Home

WillThompson

Endless desktop team lead

Lives In London, days TBC

Home

AllanDay

Designer working across the desktop, mostly interested in metered data

2019-03-17, 21:22

2019-03-20, 19:01

Travelodge @ Bethnal Green

CassidyBlaede

Parental Controls & Digital Wellbeing, elementary OS UX architect, GNOME design contributor

2019-03-17, 12:15

2019-03-21, 10:15

36 Great St Helen's

NathanWillis

Offer font/text/typography UI feedback/input, on Mon & Wed

Lives Here

Lives Here

Top Secret Base

Officially the room we have booked only has room for 10 people. We could potentially squeeze a few more in, but we should check about this.

Costs

  • Venue: Sponsored by Red Hat

How to get there

If you are new in London and don’t have a contactless credit/debit card with no overseas transaction fees, it’s extremely recommended to go into one of the Underground stations and get yourself an Oyster card. You’ll pay a lot less on buses and underground. Don’t get the Visitor Oyster card, as you lose a £5 deposit on it.

Contactless credit/debit cards get the same travel prices as Oyster cards, but your card provider might charge overseas transaction fees.

See https://www.londontoolkit.com/briefing/travelcard_oyster.htm.

The quickest way to move around the city is the Underground, also known as "The Tube". Red buses are also fairly easy to catch and can take you anywhere.

If you have a smartphone and a data connection it's highly recommended to download the CityMapper app; it'll help you get anywhere you need to go, and warn you about eventual issues on the way.

From Europe

  • Fly to any of the London airports
  • Eurostar train to London St. Pancras then tube (Northern Line heading towards Bank station) to Monument station

From faraway places

  • Fly to any of the London airports

Accommodation

Suggested hotels:

Available couches:

  • None yet

Food

There are a variety of cafes/restaurants/fast food places centred around Monument station.

More places to eat are available at Leadenhall Market, which is a short walk north from the office.

Previous discussions, organization threads, drafts, relevant links, etc

  • Tentative initial discussions on IRC and in private mail thread

Reports

Hackfests/ParentalAndMetered2019 (last edited 2019-03-22 20:28:41 by OliverPropst)