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

Plan how to integrate Endless’ current parental controls functionality into GNOME for 3.34

And elementary OS’ parental controls functionality

Evaluate existing parental controls functionality from a UX design perspective and iterate on it

Develop a roadmap for further integration and development of parental controls for 3.34+

Plan how to integrate Endless’ current metered data functionality into GNOME for 3.34

Evaluate existing metered data functionality from a UX design perspective and iterate on it

Develop a roadmap for further integration of metered data for 3.34+

Develop a roadmap for further feature development of metered data, including limiting app bandwidth and collecting per-app statistics

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

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:

Travelodge London City — twin rooms available for £120 per night (you need to check the box for a wheelchair accessible room to get a twin bed)

Ibis New Styles near South Kensington, small room but good enough and 20 mins from RH office — twin rooms available for £116

Ibis at Earls Court, same as above but slightly cheaper, close to the tube.

hub Tower Bridge — twin rooms for around £140 per night

Point A Hotel Shoreditch — have rooms from around £135 a night, including twins (also have locations at Kings Cross and Liverpool Street)

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.

Tentative initial discussions on IRC and in private mail thread

Reports