From fb8102491c75368fa7f08766628354ea12723645 Mon Sep 17 00:00:00 2001 From: Michael Kelly Date: Wed, 17 Dec 2014 22:03:17 -0800 Subject: [PATCH] Bug 1088752: Add Shape of the Web app to serve JSON. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Shape of the Web is a standalone site that pulls data from JSON files. In order to make the l10n easier initially, we’re going to host the JSON files on Bedrock to take advantage of the existing l10n process. Also adds a middleware to handle adding CORS headers to the locale redirects when loading the JSON. --- bedrock/mozorg/middleware.py | 15 + bedrock/mozorg/tests/test_middleware.py | 39 + bedrock/settings/base.py | 6 + bedrock/shapeoftheweb/__init__.py | 0 bedrock/shapeoftheweb/models.py | 0 .../templates/shapeoftheweb/country-data.json | 3740 +++++++++++++++++ .../templates/shapeoftheweb/infographics.json | 1445 +++++++ .../templates/shapeoftheweb/main.json | 745 ++++ bedrock/shapeoftheweb/urls.py | 12 + bedrock/shapeoftheweb/views.py | 13 + bedrock/urls.py | 1 + etc/httpd/global.conf | 3 + 12 files changed, 6019 insertions(+) create mode 100644 bedrock/mozorg/tests/test_middleware.py create mode 100644 bedrock/shapeoftheweb/__init__.py create mode 100644 bedrock/shapeoftheweb/models.py create mode 100644 bedrock/shapeoftheweb/templates/shapeoftheweb/country-data.json create mode 100644 bedrock/shapeoftheweb/templates/shapeoftheweb/infographics.json create mode 100644 bedrock/shapeoftheweb/templates/shapeoftheweb/main.json create mode 100644 bedrock/shapeoftheweb/urls.py create mode 100644 bedrock/shapeoftheweb/views.py diff --git a/bedrock/mozorg/middleware.py b/bedrock/mozorg/middleware.py index 4d6f61edb6d..cd261dc0852 100644 --- a/bedrock/mozorg/middleware.py +++ b/bedrock/mozorg/middleware.py @@ -4,6 +4,7 @@ import datetime from email.utils import formatdate +import re import time from django.conf import settings @@ -45,3 +46,17 @@ def process_view(self, request, view, view_args, view_kwargs): else: f = super(MozorgRequestTimingMiddleware, self) f.process_view(request, view, view_args, view_kwargs) + + +class CrossOriginResourceSharingMiddleware(object): + + def process_response(self, request, response): + """ + If the URL pattern for the request matches one of those + in the CORS_URLS setting, apply the matching + Access-Control-Allow-Origin header to the response. + """ + for pattern, origin in settings.CORS_URLS.items(): + if re.search(pattern, request.path): + response['Access-Control-Allow-Origin'] = origin + return response diff --git a/bedrock/mozorg/tests/test_middleware.py b/bedrock/mozorg/tests/test_middleware.py new file mode 100644 index 00000000000..6e34ce37ebe --- /dev/null +++ b/bedrock/mozorg/tests/test_middleware.py @@ -0,0 +1,39 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +from django.http import HttpRequest, HttpResponse + +from bedrock.mozorg.middleware import CrossOriginResourceSharingMiddleware +from bedrock.mozorg.tests import TestCase + + +class TestCrossOriginResourceSharingMiddleware(TestCase): + def setUp(self): + self.middleware = CrossOriginResourceSharingMiddleware() + self.request = HttpRequest() + self.response = HttpResponse() + + def test_match(self): + self.request.path = '/foo/bar/baz/' + + cors_urls = {r'^/foo/bar': '*'} + with self.settings(CORS_URLS=cors_urls): + self.middleware.process_response(self.request, self.response) + self.assertEqual(self.response['Access-Control-Allow-Origin'], '*') + + def test_middle_match(self): + # Ensure that matches in the middle of the URL work. + self.request.path = '/foo/bar/baz/' + + cors_urls = {r'/bar': '*'} + with self.settings(CORS_URLS=cors_urls): + self.middleware.process_response(self.request, self.response) + self.assertEqual(self.response['Access-Control-Allow-Origin'], '*') + + def test_no_match(self): + self.request.path = '/foo/bar/baz/' + + cors_urls = {r'^/biff/bak': '*'} + with self.settings(CORS_URLS=cors_urls): + self.middleware.process_response(self.request, self.response) + self.assertFalse('Access-Control-Allow-Origin' in self.response) diff --git a/bedrock/settings/base.py b/bedrock/settings/base.py index b30b93d6e1e..b4b8a4ecb0c 100644 --- a/bedrock/settings/base.py +++ b/bedrock/settings/base.py @@ -1057,6 +1057,7 @@ def JINJA_CONFIG(): 'dnt.middleware.DoNotTrackMiddleware', 'lib.l10n_utils.middleware.FixLangFileTranslationsMiddleware', 'bedrock.mozorg.middleware.ConditionalAuthMiddleware', + 'bedrock.mozorg.middleware.CrossOriginResourceSharingMiddleware', )) AUTHENTICATED_URL_PREFIXES = ('/admin/', '/rna/') @@ -1106,6 +1107,7 @@ def JINJA_CONFIG(): '%s.events' % PROJECT_MODULE, '%s.releasenotes' % PROJECT_MODULE, '%s.thunderbird' % PROJECT_MODULE, + '%s.shapeoftheweb' % PROJECT_MODULE, # libs 'django_extensions', @@ -1416,6 +1418,10 @@ def facebook_tab_url_lazy(): MOFO_SECURITY_ADVISORIES_PATH = path('mofo_security_advisories') MOFO_SECURITY_ADVISORIES_REPO = 'https://github.com/mozilla/foundation-security-advisories.git' +CORS_URLS = { + r'^/([a-zA-Z-]+/)?shapeoftheweb': '*', +} + LOGGING = { 'root': { 'level': 'WARNING', diff --git a/bedrock/shapeoftheweb/__init__.py b/bedrock/shapeoftheweb/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/bedrock/shapeoftheweb/models.py b/bedrock/shapeoftheweb/models.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/bedrock/shapeoftheweb/templates/shapeoftheweb/country-data.json b/bedrock/shapeoftheweb/templates/shapeoftheweb/country-data.json new file mode 100644 index 00000000000..8fd66172928 --- /dev/null +++ b/bedrock/shapeoftheweb/templates/shapeoftheweb/country-data.json @@ -0,0 +1,3740 @@ +{# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. -#} +[ + { + "displayName": "Aruba", + "id": "ABW", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 45, + "pointsOfControl": 1, + "governmentControl": 1, + "percentBitTorrent": 50, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Afghanistan", + "id": "AFG", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 47, + "pointsOfControl": 2, + "governmentControl": 0, + "percentBitTorrent": 80, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Angola", + "id": "AGO", + "labelArea": 2, + "hoursOfWork": 197.8, + "salaryPercentage": 105.0, + "levelOfFreedom": 1, + "freedomScore": 34, + "internetPopPercentage": 1, + "pointsOfControl": 3, + "governmentControl": 2, + "percentBitTorrent": 100, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Anguilla", + "id": "AIA", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 24, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Åland Islands", + "id": "ALA", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 3, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Albania", + "id": "ALB", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 95, + "pointsOfControl": 5, + "governmentControl": 2, + "percentBitTorrent": 29, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Andorra", + "id": "AND", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 56, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "United Arab Emirates", + "id": "ARE", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 0, + "freedomScore": 66, + "internetPopPercentage": 3, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 35, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Argentina", + "id": "ARG", + "labelArea": 1, + "hoursOfWork": 2.3, + "salaryPercentage": 2.5, + "levelOfFreedom": 2, + "freedomScore": 27, + "internetPopPercentage": 53, + "pointsOfControl": 7, + "governmentControl": 1, + "percentBitTorrent": 21, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Armenia", + "id": "ARM", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 2, + "freedomScore": 29, + "internetPopPercentage": 46, + "pointsOfControl": 6, + "governmentControl": 1, + "percentBitTorrent": 50, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "American Samoa", + "id": "ASM", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 84, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Antarctica", + "id": "ATA", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 99, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "French Southern Territories", + "id": "ATF", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 69, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Antigua and Barbuda", + "id": "ATG", + "labelArea": null, + "hoursOfWork": 11.9, + "salaryPercentage": 7.0, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 90, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 50, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Australia", + "id": "AUS", + "labelArea": 3, + "hoursOfWork": 3.2, + "salaryPercentage": 2.0, + "levelOfFreedom": 2, + "freedomScore": 18, + "internetPopPercentage": 37, + "pointsOfControl": 7, + "governmentControl": 1, + "percentBitTorrent": 18, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Austria", + "id": "AUT", + "labelArea": 2, + "hoursOfWork": 4.8, + "salaryPercentage": 2.8, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 11, + "pointsOfControl": 4, + "governmentControl": 1, + "percentBitTorrent": 10, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Azerbaijan", + "id": "AZE", + "labelArea": 3, + "hoursOfWork": 4.6, + "salaryPercentage": 2.7, + "levelOfFreedom": 1, + "freedomScore": 52, + "internetPopPercentage": 91, + "pointsOfControl": 1, + "governmentControl": 1, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Burundi", + "id": "BDI", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 24, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Belgium", + "id": "BEL", + "labelArea": 2, + "hoursOfWork": 2.6, + "salaryPercentage": 1.6, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 88, + "pointsOfControl": 10, + "governmentControl": 1, + "percentBitTorrent": 13, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Benin", + "id": "BEN", + "labelArea": 2, + "hoursOfWork": 43.1, + "salaryPercentage": 23.2, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 51, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 100, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Bonaire, Sint Eustatius and Saba", + "id": "BES", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 83, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Burkina Faso", + "id": "BFA", + "labelArea": 2, + "hoursOfWork": 95.2, + "salaryPercentage": 54.2, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 1, + "pointsOfControl": 2, + "governmentControl": 1, + "percentBitTorrent": null, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Bangladesh", + "id": "BGD", + "labelArea": 3, + "hoursOfWork": 17.0, + "salaryPercentage": 7.9, + "levelOfFreedom": 1, + "freedomScore": 49, + "internetPopPercentage": 34, + "pointsOfControl": 2, + "governmentControl": 2, + "percentBitTorrent": 19, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Bulgaria", + "id": "BGR", + "labelArea": 2, + "hoursOfWork": 14.1, + "salaryPercentage": 8.2, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 56, + "pointsOfControl": 32, + "governmentControl": 2, + "percentBitTorrent": 17, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Bahrain", + "id": "BHR", + "labelArea": null, + "hoursOfWork": 6.2, + "salaryPercentage": 3.0, + "levelOfFreedom": 0, + "freedomScore": 72, + "internetPopPercentage": 72, + "pointsOfControl": 4, + "governmentControl": 2, + "percentBitTorrent": 65, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Bahamas", + "id": "BHS", + "labelArea": 0, + "hoursOfWork": 2.1, + "salaryPercentage": 1.3, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 49, + "pointsOfControl": 2, + "governmentControl": 0, + "percentBitTorrent": 79, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Bosnia and Herzegovina", + "id": "BIH", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 13, + "pointsOfControl": 6, + "governmentControl": 1, + "percentBitTorrent": 0, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Saint Barthélemy", + "id": "BLM", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 53, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Belarus", + "id": "BLR", + "labelArea": 2, + "hoursOfWork": 9.3, + "salaryPercentage": 5.4, + "levelOfFreedom": 0, + "freedomScore": 67, + "internetPopPercentage": 69, + "pointsOfControl": 1, + "governmentControl": 1, + "percentBitTorrent": 20, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Belize", + "id": "BLZ", + "labelArea": 0, + "hoursOfWork": 12.3, + "salaryPercentage": 7.3, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 50, + "pointsOfControl": 1, + "governmentControl": 1, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Bermuda", + "id": "BMU", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 71, + "pointsOfControl": 4, + "governmentControl": 2, + "percentBitTorrent": 17, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Bolivia, Plurinational State of", + "id": "BOL", + "labelArea": 1, + "hoursOfWork": 15.0, + "salaryPercentage": 9.8, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 62, + "pointsOfControl": 4, + "governmentControl": 1, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Brazil", + "id": "BRA", + "labelArea": 1, + "hoursOfWork": 4.1, + "salaryPercentage": 2.4, + "levelOfFreedom": 1, + "freedomScore": 32, + "internetPopPercentage": 95, + "pointsOfControl": 8, + "governmentControl": 1, + "percentBitTorrent": 14, + "dataRegulationStatus": 0, + "dataRegulationType": "Light touch / Self-regulation" + }, + { + "displayName": "Barbados", + "id": "BRB", + "labelArea": null, + "hoursOfWork": 8.1, + "salaryPercentage": 4.8, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 76, + "pointsOfControl": 3, + "governmentControl": 2, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Brunei Darussalam", + "id": "BRN", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 84, + "pointsOfControl": 1, + "governmentControl": 1, + "percentBitTorrent": 33, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Bhutan", + "id": "BTN", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 48, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Bouvet Island", + "id": "BVT", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 3, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Botswana", + "id": "BWA", + "labelArea": 2, + "hoursOfWork": 76.5, + "salaryPercentage": 39.2, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 47, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 100, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Central African Republic", + "id": "CAF", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 37, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Canada", + "id": "CAN", + "labelArea": 0, + "hoursOfWork": 2.1, + "salaryPercentage": 1.4, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 53, + "pointsOfControl": 14, + "governmentControl": 1, + "percentBitTorrent": 17, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Cocos (Keeling) Islands", + "id": "CCK", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 34, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Switzerland", + "id": "CHE", + "labelArea": 2, + "hoursOfWork": 4.8, + "salaryPercentage": 2.7, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 45, + "pointsOfControl": 22, + "governmentControl": 1, + "percentBitTorrent": 14, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Chile", + "id": "CHL", + "labelArea": 1, + "hoursOfWork": 5.8, + "salaryPercentage": 3.0, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 91, + "pointsOfControl": 5, + "governmentControl": 1, + "percentBitTorrent": 17, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "China", + "id": "CHN", + "labelArea": 3, + "hoursOfWork": 20.0, + "salaryPercentage": 11.1, + "levelOfFreedom": 0, + "freedomScore": 86, + "internetPopPercentage": 49, + "pointsOfControl": 3, + "governmentControl": 0, + "percentBitTorrent": 44, + "dataRegulationStatus": 0, + "dataRegulationType": "Light touch / Self-regulation" + }, + { + "displayName": "Côte d'Ivoire", + "id": "CIV", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 48, + "pointsOfControl": 1, + "governmentControl": 1, + "percentBitTorrent": 50, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Cameroon", + "id": "CMR", + "labelArea": 2, + "hoursOfWork": 54.0, + "salaryPercentage": 28.8, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 90, + "pointsOfControl": 2, + "governmentControl": 2, + "percentBitTorrent": 100, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Congo, the Democratic Republic of the", + "id": "COD", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 50, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Congo", + "id": "COG", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 88, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Cook Islands", + "id": "COK", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 51, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Colombia", + "id": "COL", + "labelArea": 1, + "hoursOfWork": 24.3, + "salaryPercentage": 11.4, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 76, + "pointsOfControl": 5, + "governmentControl": 0, + "percentBitTorrent": 11, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Comoros", + "id": "COM", + "labelArea": null, + "hoursOfWork": 67.9, + "salaryPercentage": 41.9, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 69, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Cabo Verde", + "id": "CPV", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 46, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Costa Rica", + "id": "CRI", + "labelArea": 1, + "hoursOfWork": 5.7, + "salaryPercentage": 2.7, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 71, + "pointsOfControl": 2, + "governmentControl": 0, + "percentBitTorrent": 20, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Cuba", + "id": "CUB", + "labelArea": 0, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 0, + "freedomScore": 86, + "internetPopPercentage": 83, + "pointsOfControl": 1, + "governmentControl": 1, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Curaçao", + "id": "CUW", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 13, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Christmas Island", + "id": "CXR", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 72, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Cayman Islands", + "id": "CYM", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 45, + "pointsOfControl": 3, + "governmentControl": 2, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Cyprus", + "id": "CYP", + "labelArea": 2, + "hoursOfWork": 1.4, + "salaryPercentage": 0.9, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 47, + "pointsOfControl": 5, + "governmentControl": 1, + "percentBitTorrent": 4, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Czech Republic", + "id": "CZE", + "labelArea": 2, + "hoursOfWork": 3.8, + "salaryPercentage": 2.2, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 3, + "pointsOfControl": 31, + "governmentControl": 2, + "percentBitTorrent": 16, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Germany", + "id": "DEU", + "labelArea": 2, + "hoursOfWork": 1.6, + "salaryPercentage": 0.9, + "levelOfFreedom": 2, + "freedomScore": 17, + "internetPopPercentage": 71, + "pointsOfControl": 19, + "governmentControl": 0, + "percentBitTorrent": 10, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Djibouti", + "id": "DJI", + "labelArea": 2, + "hoursOfWork": 10.7, + "salaryPercentage": 6.2, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 6, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 100, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Dominica", + "id": "DMA", + "labelArea": null, + "hoursOfWork": 14.1, + "salaryPercentage": 8.1, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 84, + "pointsOfControl": 1, + "governmentControl": 0, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Denmark", + "id": "DNK", + "labelArea": 2, + "hoursOfWork": 1.1, + "salaryPercentage": 0.6, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 95, + "pointsOfControl": 16, + "governmentControl": 1, + "percentBitTorrent": 4, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Dominican Republic", + "id": "DOM", + "labelArea": 0, + "hoursOfWork": 9.7, + "salaryPercentage": 5.3, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 56, + "pointsOfControl": 2, + "governmentControl": 0, + "percentBitTorrent": 27, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Algeria", + "id": "DZA", + "labelArea": 2, + "hoursOfWork": 5.9, + "salaryPercentage": 3.4, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 6, + "pointsOfControl": 2, + "governmentControl": 0, + "percentBitTorrent": 22, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Ecuador", + "id": "ECU", + "labelArea": 1, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 1, + "freedomScore": 37, + "internetPopPercentage": 1, + "pointsOfControl": 4, + "governmentControl": 1, + "percentBitTorrent": 50, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Egypt", + "id": "EGY", + "labelArea": 2, + "hoursOfWork": 14.0, + "salaryPercentage": 5.4, + "levelOfFreedom": 1, + "freedomScore": 60, + "internetPopPercentage": 24, + "pointsOfControl": 3, + "governmentControl": 0, + "percentBitTorrent": 31, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Eritrea", + "id": "ERI", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 53, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Western Sahara", + "id": "ESH", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 37, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Spain", + "id": "ESP", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 56, + "pointsOfControl": 10, + "governmentControl": 0, + "percentBitTorrent": 27, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Estonia", + "id": "EST", + "labelArea": 2, + "hoursOfWork": 13.1, + "salaryPercentage": 9.2, + "levelOfFreedom": 2, + "freedomScore": 9, + "internetPopPercentage": 46, + "pointsOfControl": 3, + "governmentControl": 1, + "percentBitTorrent": 69, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Ethiopia", + "id": "ETH", + "labelArea": 2, + "hoursOfWork": 32.8, + "salaryPercentage": 19.7, + "levelOfFreedom": 0, + "freedomScore": 79, + "internetPopPercentage": 45, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 100, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Finland", + "id": "FIN", + "labelArea": 2, + "hoursOfWork": 1.7, + "salaryPercentage": 1.1, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 49, + "pointsOfControl": 6, + "governmentControl": 0, + "percentBitTorrent": 20, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Fiji", + "id": "FJI", + "labelArea": 3, + "hoursOfWork": 11.9, + "salaryPercentage": 6.9, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 91, + "pointsOfControl": 2, + "governmentControl": 0, + "percentBitTorrent": 7, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Falkland Islands (Malvinas)", + "id": "FLK", + "labelArea": 1, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 37, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "France", + "id": "FRA", + "labelArea": 2, + "hoursOfWork": 1.6, + "salaryPercentage": 1.0, + "levelOfFreedom": 2, + "freedomScore": 20, + "internetPopPercentage": 72, + "pointsOfControl": 7, + "governmentControl": 1, + "percentBitTorrent": 22, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Faroe Islands", + "id": "FRO", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 11, + "pointsOfControl": 2, + "governmentControl": 2, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Micronesia, Federated States of", + "id": "FSM", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 13, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Gabon", + "id": "GAB", + "labelArea": 2, + "hoursOfWork": 13.8, + "salaryPercentage": 7.8, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 88, + "pointsOfControl": 1, + "governmentControl": 0, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "United Kingdom", + "id": "GBR", + "labelArea": 2, + "hoursOfWork": 1.0, + "salaryPercentage": 0.6, + "levelOfFreedom": 2, + "freedomScore": 24, + "internetPopPercentage": 95, + "pointsOfControl": 13, + "governmentControl": 1, + "percentBitTorrent": 28, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Georgia", + "id": "GEO", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 2, + "freedomScore": 26, + "internetPopPercentage": 51, + "pointsOfControl": 2, + "governmentControl": 1, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Guernsey", + "id": "GGY", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 84, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Ghana", + "id": "GHA", + "labelArea": 2, + "hoursOfWork": 183.2, + "salaryPercentage": 87.0, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 48, + "pointsOfControl": 5, + "governmentControl": 2, + "percentBitTorrent": 25, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Gibraltar", + "id": "GIB", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 62, + "pointsOfControl": 2, + "governmentControl": 2, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Guinea", + "id": "GIN", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 56, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Guadeloupe", + "id": "GLP", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 3, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Gambia", + "id": "GMB", + "labelArea": 2, + "hoursOfWork": 369.2, + "salaryPercentage": 224.3, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 50, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Guinea-Bissau", + "id": "GNB", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 1, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Equatorial Guinea", + "id": "GNQ", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 90, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Greece", + "id": "GRC", + "labelArea": 2, + "hoursOfWork": 15.1, + "salaryPercentage": 8.7, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 83, + "pointsOfControl": 11, + "governmentControl": 1, + "percentBitTorrent": 7, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Grenada", + "id": "GRD", + "labelArea": null, + "hoursOfWork": 10.0, + "salaryPercentage": 5.6, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 47, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 33, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Greenland", + "id": "GRL", + "labelArea": 0, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 13, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Guatemala", + "id": "GTM", + "labelArea": 0, + "hoursOfWork": 21.0, + "salaryPercentage": 9.8, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 6, + "pointsOfControl": 4, + "governmentControl": 1, + "percentBitTorrent": 20, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "French Guiana", + "id": "GUF", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 34, + "pointsOfControl": 1, + "governmentControl": 1, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Guam", + "id": "GUM", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 95, + "pointsOfControl": 3, + "governmentControl": 1, + "percentBitTorrent": 20, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Guyana", + "id": "GUY", + "labelArea": 1, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 24, + "pointsOfControl": 1, + "governmentControl": 1, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Hong Kong", + "id": "HKG", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 45, + "pointsOfControl": 9, + "governmentControl": 1, + "percentBitTorrent": 25, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Heard Island and McDonald Islands", + "id": "HMD", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 90, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Honduras", + "id": "HND", + "labelArea": 0, + "hoursOfWork": 17.2, + "salaryPercentage": 9.0, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 46, + "pointsOfControl": 6, + "governmentControl": 2, + "percentBitTorrent": 36, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Croatia", + "id": "HRV", + "labelArea": 2, + "hoursOfWork": 9.4, + "salaryPercentage": 5.3, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 62, + "pointsOfControl": 6, + "governmentControl": 2, + "percentBitTorrent": 18, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Haiti", + "id": "HTI", + "labelArea": 0, + "hoursOfWork": 51.0, + "salaryPercentage": 28.3, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 99, + "pointsOfControl": 3, + "governmentControl": 2, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Hungary", + "id": "HUN", + "labelArea": 2, + "hoursOfWork": 5.9, + "salaryPercentage": 3.4, + "levelOfFreedom": 2, + "freedomScore": 23, + "internetPopPercentage": 37, + "pointsOfControl": 17, + "governmentControl": 1, + "percentBitTorrent": 10, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Indonesia", + "id": "IDN", + "labelArea": 3, + "hoursOfWork": 34.1, + "salaryPercentage": 17.3, + "levelOfFreedom": 1, + "freedomScore": 41, + "internetPopPercentage": 49, + "pointsOfControl": 7, + "governmentControl": 1, + "percentBitTorrent": 36, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Isle of Man", + "id": "IMN", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 69, + "pointsOfControl": 5, + "governmentControl": 2, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "India", + "id": "IND", + "labelArea": 3, + "hoursOfWork": 11.3, + "salaryPercentage": 5.1, + "levelOfFreedom": 1, + "freedomScore": 47, + "internetPopPercentage": 91, + "pointsOfControl": 4, + "governmentControl": 1, + "percentBitTorrent": 24, + "dataRegulationStatus": 0, + "dataRegulationType": "Light touch / Self-regulation" + }, + { + "displayName": "British Indian Ocean Territory", + "id": "IOT", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 6, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Ireland", + "id": "IRL", + "labelArea": 2, + "hoursOfWork": 8.3, + "salaryPercentage": 4.9, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 76, + "pointsOfControl": 8, + "governmentControl": 0, + "percentBitTorrent": 15, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Iran, Islamic Republic of", + "id": "IRN", + "labelArea": 3, + "hoursOfWork": 4.7, + "salaryPercentage": 2.2, + "levelOfFreedom": 0, + "freedomScore": 91, + "internetPopPercentage": 72, + "pointsOfControl": 1, + "governmentControl": 1, + "percentBitTorrent": 20, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Iraq", + "id": "IRQ", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 34, + "pointsOfControl": 3, + "governmentControl": 1, + "percentBitTorrent": 21, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Iceland", + "id": "ISL", + "labelArea": 0, + "hoursOfWork": 1.7, + "salaryPercentage": 1.0, + "levelOfFreedom": 2, + "freedomScore": 6, + "internetPopPercentage": 11, + "pointsOfControl": 3, + "governmentControl": 1, + "percentBitTorrent": 0, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Israel", + "id": "ISR", + "labelArea": 2, + "hoursOfWork": 11.2, + "salaryPercentage": 5.6, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 88, + "pointsOfControl": 4, + "governmentControl": 1, + "percentBitTorrent": 11, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Italy", + "id": "ITA", + "labelArea": 2, + "hoursOfWork": 1.7, + "salaryPercentage": 1.1, + "levelOfFreedom": 2, + "freedomScore": 23, + "internetPopPercentage": 50, + "pointsOfControl": 7, + "governmentControl": 1, + "percentBitTorrent": 22, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Jamaica", + "id": "JAM", + "labelArea": 0, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 51, + "pointsOfControl": 3, + "governmentControl": 1, + "percentBitTorrent": 48, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Jersey", + "id": "JEY", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 48, + "pointsOfControl": 2, + "governmentControl": 1, + "percentBitTorrent": 100, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Jordan", + "id": "JOR", + "labelArea": 2, + "hoursOfWork": 11.6, + "salaryPercentage": 4.8, + "levelOfFreedom": 1, + "freedomScore": 46, + "internetPopPercentage": 62, + "pointsOfControl": 3, + "governmentControl": 1, + "percentBitTorrent": 57, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Japan", + "id": "JPN", + "labelArea": 3, + "hoursOfWork": 1.6, + "salaryPercentage": 0.9, + "levelOfFreedom": 2, + "freedomScore": 22, + "internetPopPercentage": 71, + "pointsOfControl": 8, + "governmentControl": 0, + "percentBitTorrent": 42, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Kazakhstan", + "id": "KAZ", + "labelArea": 3, + "hoursOfWork": 10.3, + "salaryPercentage": 6.0, + "levelOfFreedom": 1, + "freedomScore": 59, + "internetPopPercentage": 83, + "pointsOfControl": 2, + "governmentControl": 1, + "percentBitTorrent": null, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Kenya", + "id": "KEN", + "labelArea": 2, + "hoursOfWork": 39.0, + "salaryPercentage": 23.0, + "levelOfFreedom": 2, + "freedomScore": 28, + "internetPopPercentage": 13, + "pointsOfControl": 4, + "governmentControl": 1, + "percentBitTorrent": 36, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Kyrgyzstan", + "id": "KGZ", + "labelArea": 3, + "hoursOfWork": 58.6, + "salaryPercentage": 38.2, + "levelOfFreedom": 1, + "freedomScore": 35, + "internetPopPercentage": 84, + "pointsOfControl": 3, + "governmentControl": 2, + "percentBitTorrent": 50, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Cambodia", + "id": "KHM", + "labelArea": 3, + "hoursOfWork": 74.5, + "salaryPercentage": 36.0, + "levelOfFreedom": 1, + "freedomScore": 47, + "internetPopPercentage": 99, + "pointsOfControl": 7, + "governmentControl": 2, + "percentBitTorrent": 9, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Kiribati", + "id": "KIR", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 47, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Saint Kitts and Nevis", + "id": "KNA", + "labelArea": null, + "hoursOfWork": 9.0, + "salaryPercentage": 5.1, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 45, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Korea, Republic of", + "id": "KOR", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 95, + "pointsOfControl": 3, + "governmentControl": 0, + "percentBitTorrent": 74, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Kuwait", + "id": "KWT", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 6, + "pointsOfControl": 6, + "governmentControl": 1, + "percentBitTorrent": 48, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Lao People's Democratic Republic", + "id": "LAO", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 56, + "pointsOfControl": 3, + "governmentControl": 2, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Lebanon", + "id": "LBN", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 1, + "freedomScore": 45, + "internetPopPercentage": 24, + "pointsOfControl": 7, + "governmentControl": 2, + "percentBitTorrent": 45, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Liberia", + "id": "LBR", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 90, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Libya", + "id": "LBY", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 1, + "freedomScore": 45, + "internetPopPercentage": 53, + "pointsOfControl": 1, + "governmentControl": 0, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Saint Lucia", + "id": "LCA", + "labelArea": null, + "hoursOfWork": 10.9, + "salaryPercentage": 6.6, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 37, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Liechtenstein", + "id": "LIE", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 46, + "pointsOfControl": 5, + "governmentControl": 2, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Sri Lanka", + "id": "LKA", + "labelArea": 3, + "hoursOfWork": 11.5, + "salaryPercentage": 5.5, + "levelOfFreedom": 1, + "freedomScore": 58, + "internetPopPercentage": 1, + "pointsOfControl": 4, + "governmentControl": 1, + "percentBitTorrent": 54, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Lesotho", + "id": "LSO", + "labelArea": 2, + "hoursOfWork": 65.5, + "salaryPercentage": 35.1, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 99, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Lithuania", + "id": "LTU", + "labelArea": 2, + "hoursOfWork": 3.4, + "salaryPercentage": 2.0, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 45, + "pointsOfControl": 7, + "governmentControl": 1, + "percentBitTorrent": 29, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Luxembourg", + "id": "LUX", + "labelArea": 2, + "hoursOfWork": 1.8, + "salaryPercentage": 1.0, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 37, + "pointsOfControl": 7, + "governmentControl": 1, + "percentBitTorrent": 13, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Latvia", + "id": "LVA", + "labelArea": 2, + "hoursOfWork": 4.1, + "salaryPercentage": 2.4, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 1, + "pointsOfControl": 6, + "governmentControl": 2, + "percentBitTorrent": 0, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Macao", + "id": "MAC", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 11, + "pointsOfControl": 1, + "governmentControl": 0, + "percentBitTorrent": 40, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Saint Martin (French part)", + "id": "MAF", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 11, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Morocco", + "id": "MAR", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 1, + "freedomScore": 42, + "internetPopPercentage": 56, + "pointsOfControl": 2, + "governmentControl": 0, + "percentBitTorrent": 9, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Monaco", + "id": "MCO", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 3, + "pointsOfControl": 1, + "governmentControl": 1, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Moldova, Republic of", + "id": "MDA", + "labelArea": 2, + "hoursOfWork": 10.0, + "salaryPercentage": 6.0, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 47, + "pointsOfControl": 4, + "governmentControl": 1, + "percentBitTorrent": 0, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Madagascar", + "id": "MDG", + "labelArea": 2, + "hoursOfWork": 253.1, + "salaryPercentage": 156.4, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 49, + "pointsOfControl": 2, + "governmentControl": 1, + "percentBitTorrent": 89, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Maldives", + "id": "MDV", + "labelArea": null, + "hoursOfWork": 2.0, + "salaryPercentage": 1.1, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 76, + "pointsOfControl": 2, + "governmentControl": 1, + "percentBitTorrent": 67, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Mexico", + "id": "MEX", + "labelArea": 0, + "hoursOfWork": 11.6, + "salaryPercentage": 5.4, + "levelOfFreedom": 1, + "freedomScore": 38, + "internetPopPercentage": 83, + "pointsOfControl": 4, + "governmentControl": 0, + "percentBitTorrent": 35, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Marshall Islands", + "id": "MHL", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 50, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Macedonia, the former Yugoslav Republic of", + "id": "MKD", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 91, + "pointsOfControl": 4, + "governmentControl": 1, + "percentBitTorrent": 15, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Mali", + "id": "MLI", + "labelArea": 2, + "hoursOfWork": 62.5, + "salaryPercentage": 36.6, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 69, + "pointsOfControl": 2, + "governmentControl": 2, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Malta", + "id": "MLT", + "labelArea": null, + "hoursOfWork": 10.9, + "salaryPercentage": 6.3, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 88, + "pointsOfControl": 2, + "governmentControl": 1, + "percentBitTorrent": 18, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Myanmar", + "id": "MMR", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 0, + "freedomScore": 62, + "internetPopPercentage": 24, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 75, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Montenegro", + "id": "MNE", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 6, + "pointsOfControl": 2, + "governmentControl": 1, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Mongolia", + "id": "MNG", + "labelArea": 3, + "hoursOfWork": 62.6, + "salaryPercentage": 31.4, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 95, + "pointsOfControl": 2, + "governmentControl": 2, + "percentBitTorrent": 60, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Northern Mariana Islands", + "id": "MNP", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 76, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Mozambique", + "id": "MOZ", + "labelArea": 2, + "hoursOfWork": 122.6, + "salaryPercentage": 63.4, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 1, + "pointsOfControl": 4, + "governmentControl": 2, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Mauritania", + "id": "MRT", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 71, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Montserrat", + "id": "MSR", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 84, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Martinique", + "id": "MTQ", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 51, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Mauritius", + "id": "MUS", + "labelArea": null, + "hoursOfWork": 3.5, + "salaryPercentage": 2.1, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 48, + "pointsOfControl": 1, + "governmentControl": 0, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Malawi", + "id": "MWI", + "labelArea": 2, + "hoursOfWork": 146.8, + "salaryPercentage": 72.9, + "levelOfFreedom": 1, + "freedomScore": 42, + "internetPopPercentage": 72, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Malaysia", + "id": "MYS", + "labelArea": 3, + "hoursOfWork": 16.4, + "salaryPercentage": 8.1, + "levelOfFreedom": 1, + "freedomScore": 44, + "internetPopPercentage": 34, + "pointsOfControl": 5, + "governmentControl": 0, + "percentBitTorrent": 61, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Mayotte", + "id": "MYT", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 62, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Namibia", + "id": "NAM", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 99, + "pointsOfControl": 2, + "governmentControl": 1, + "percentBitTorrent": 44, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "New Caledonia", + "id": "NCL", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 45, + "pointsOfControl": 1, + "governmentControl": 1, + "percentBitTorrent": 100, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Niger", + "id": "NER", + "labelArea": 2, + "hoursOfWork": 37.4, + "salaryPercentage": 24.2, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 91, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Norfolk Island", + "id": "NFK", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 34, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Nigeria", + "id": "NGA", + "labelArea": 2, + "hoursOfWork": 38.3, + "salaryPercentage": 19.9, + "levelOfFreedom": 1, + "freedomScore": 31, + "internetPopPercentage": 49, + "pointsOfControl": 10, + "governmentControl": 2, + "percentBitTorrent": 13, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Nicaragua", + "id": "NIC", + "labelArea": 0, + "hoursOfWork": 24.4, + "salaryPercentage": 11.7, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 11, + "pointsOfControl": 5, + "governmentControl": 1, + "percentBitTorrent": 62, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Niue", + "id": "NIU", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 72, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Netherlands", + "id": "NLD", + "labelArea": 2, + "hoursOfWork": 3.5, + "salaryPercentage": 2.1, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 46, + "pointsOfControl": 24, + "governmentControl": 1, + "percentBitTorrent": 13, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Norway", + "id": "NOR", + "labelArea": 2, + "hoursOfWork": 2.1, + "salaryPercentage": 1.3, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 69, + "pointsOfControl": 11, + "governmentControl": 0, + "percentBitTorrent": 8, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Nepal", + "id": "NPL", + "labelArea": 3, + "hoursOfWork": 26.8, + "salaryPercentage": 13.2, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 53, + "pointsOfControl": 5, + "governmentControl": 1, + "percentBitTorrent": 48, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Nauru", + "id": "NRU", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 90, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "New Zealand", + "id": "NZL", + "labelArea": 3, + "hoursOfWork": 6.8, + "salaryPercentage": 4.0, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 37, + "pointsOfControl": 8, + "governmentControl": 1, + "percentBitTorrent": 24, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Oman", + "id": "OMN", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 88, + "pointsOfControl": 1, + "governmentControl": 0, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Pakistan", + "id": "PAK", + "labelArea": 3, + "hoursOfWork": 23.7, + "salaryPercentage": 11.4, + "levelOfFreedom": 0, + "freedomScore": 67, + "internetPopPercentage": 50, + "pointsOfControl": 2, + "governmentControl": 1, + "percentBitTorrent": 35, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Panama", + "id": "PAN", + "labelArea": 1, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 48, + "pointsOfControl": 2, + "governmentControl": 1, + "percentBitTorrent": 24, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Pitcairn", + "id": "PCN", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 3, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Peru", + "id": "PER", + "labelArea": 1, + "hoursOfWork": 5.3, + "salaryPercentage": 2.5, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 13, + "pointsOfControl": 3, + "governmentControl": 0, + "percentBitTorrent": 18, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Philippines", + "id": "PHL", + "labelArea": 3, + "hoursOfWork": 14.3, + "salaryPercentage": 6.9, + "levelOfFreedom": 2, + "freedomScore": 25, + "internetPopPercentage": 47, + "pointsOfControl": 5, + "governmentControl": 1, + "percentBitTorrent": 39, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Palau", + "id": "PLW", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 51, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Papua New Guinea", + "id": "PN1", + "labelArea": 3, + "hoursOfWork": 72.8, + "salaryPercentage": 42.2, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 62, + "pointsOfControl": 1, + "governmentControl": 2, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Poland", + "id": "POL", + "labelArea": 2, + "hoursOfWork": 4.1, + "salaryPercentage": 2.5, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 95, + "pointsOfControl": 19, + "governmentControl": 1, + "percentBitTorrent": 35, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Puerto Rico", + "id": "PRI", + "labelArea": 0, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 84, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 4, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Korea, Democratic People's Republic of", + "id": "PRK", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 1, + "freedomScore": 32, + "internetPopPercentage": 3, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Portugal", + "id": "PR1", + "labelArea": 2, + "hoursOfWork": 3.9, + "salaryPercentage": 2.4, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 6, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 24, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Paraguay", + "id": "PRY", + "labelArea": 1, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 83, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 25, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Palestine, State of", + "id": "PSX", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 71, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 25, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "French Polynesia", + "id": "PYF", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 76, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 100, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Qatar", + "id": "QAT", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 56, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 75, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Réunion", + "id": "REU", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 1, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Romania", + "id": "ROU", + "labelArea": 2, + "hoursOfWork": 2.6, + "salaryPercentage": 1.4, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 24, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 9, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Russian Federation", + "id": "RUS", + "labelArea": 3, + "hoursOfWork": 4.0, + "salaryPercentage": 2.3, + "levelOfFreedom": 1, + "freedomScore": 54, + "internetPopPercentage": 99, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 17, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Rwanda", + "id": "RWA", + "labelArea": 2, + "hoursOfWork": 162.9, + "salaryPercentage": 84.0, + "levelOfFreedom": 1, + "freedomScore": 48, + "internetPopPercentage": 90, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Saudi Arabia", + "id": "SAU", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 0, + "freedomScore": 70, + "internetPopPercentage": 69, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 36, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Sudan", + "id": "SDN", + "labelArea": 2, + "hoursOfWork": 2.3, + "salaryPercentage": 1.0, + "levelOfFreedom": 0, + "freedomScore": 63, + "internetPopPercentage": 24, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 29, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Senegal", + "id": "SEN", + "labelArea": 2, + "hoursOfWork": 23.7, + "salaryPercentage": 13.7, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 88, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 67, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Singapore", + "id": "SGP", + "labelArea": null, + "hoursOfWork": 4.5, + "salaryPercentage": 2.5, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 48, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 53, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "South Georgia and the South Sandwich Islands", + "id": "SGS", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 6, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Saint Helena, Ascension and Tristan da Cunha", + "id": "SHN", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 46, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Svalbard and Jan Mayen", + "id": "SJM", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 90, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Solomon Islands", + "id": "SLB", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 47, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Sierra Leone", + "id": "SLE", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 71, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "El Salvador", + "id": "SLV", + "labelArea": 0, + "hoursOfWork": 7.7, + "salaryPercentage": 3.8, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 99, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 60, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "San Marino", + "id": "SMR", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 34, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Somalia", + "id": "SOM", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 3, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Saint Pierre and Miquelon", + "id": "SPM", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 91, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Serbia", + "id": "SRB", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 50, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "South Sudan", + "id": "SSD", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 84, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 28, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Sao Tome and Principe", + "id": "STP", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 76, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Suriname", + "id": "SUR", + "labelArea": 1, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 99, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Slovakia", + "id": "SVK", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 83, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 6, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Slovenia", + "id": "SVN", + "labelArea": 2, + "hoursOfWork": 8.1, + "salaryPercentage": 4.6, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 13, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Sweden", + "id": "SWE", + "labelArea": 2, + "hoursOfWork": 2.8, + "salaryPercentage": 1.7, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 46, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 13, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "Swaziland", + "id": "SWZ", + "labelArea": 2, + "hoursOfWork": 41.7, + "salaryPercentage": 21.5, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 53, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Sint Maarten (Dutch part)", + "id": "SXM", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 62, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Seychelles", + "id": "SYC", + "labelArea": null, + "hoursOfWork": 6.9, + "salaryPercentage": 4.0, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 51, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 100, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Syrian Arab Republic", + "id": "SYR", + "labelArea": 2, + "hoursOfWork": 5.1, + "salaryPercentage": 2.5, + "levelOfFreedom": 0, + "freedomScore": 85, + "internetPopPercentage": 37, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 60, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Turks and Caicos Islands", + "id": "TCA", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 62, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Chad", + "id": "TCD", + "labelArea": 2, + "hoursOfWork": 8.1, + "salaryPercentage": 4.8, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 11, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Togo", + "id": "TGO", + "labelArea": 2, + "hoursOfWork": 43.8, + "salaryPercentage": 24.1, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 76, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Thailand", + "id": "THA", + "labelArea": 3, + "hoursOfWork": 8.4, + "salaryPercentage": 4.3, + "levelOfFreedom": 1, + "freedomScore": 60, + "internetPopPercentage": 72, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 38, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Tajikistan", + "id": "TJK", + "labelArea": 3, + "hoursOfWork": 4450.1, + "salaryPercentage": 2565.2, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 91, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Tokelau", + "id": "TKL", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 69, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Turkmenistan", + "id": "TKM", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 48, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Timor-Leste", + "id": "TLS", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 34, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Tonga", + "id": "TON", + "labelArea": null, + "hoursOfWork": 46.5, + "salaryPercentage": 25.2, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 88, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Trinidad and Tobago", + "id": "TTO", + "labelArea": 1, + "hoursOfWork": 3.8, + "salaryPercentage": 2.2, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 50, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 60, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Tunisia", + "id": "TUN", + "labelArea": 2, + "hoursOfWork": 2.0, + "salaryPercentage": 1.5, + "levelOfFreedom": 1, + "freedomScore": 41, + "internetPopPercentage": 51, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 26, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Turkey", + "id": "TUR", + "labelArea": 2, + "hoursOfWork": 3.0, + "salaryPercentage": 1.5, + "levelOfFreedom": 1, + "freedomScore": 49, + "internetPopPercentage": 71, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 11, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Tuvalu", + "id": "TUV", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 83, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Taiwan, Province of China", + "id": "TWN", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 11, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 28, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Tanzania, United Republic of", + "id": "TZA", + "labelArea": 2, + "hoursOfWork": 66.0, + "salaryPercentage": 36.0, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 49, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Uganda", + "id": "UGA", + "labelArea": 2, + "hoursOfWork": 33.3, + "salaryPercentage": 18.6, + "levelOfFreedom": 1, + "freedomScore": 34, + "internetPopPercentage": 13, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Ukraine", + "id": "UKR", + "labelArea": 2, + "hoursOfWork": 20.0, + "salaryPercentage": 12.7, + "levelOfFreedom": 2, + "freedomScore": 28, + "internetPopPercentage": 47, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 12, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "United States Minor Outlying Islands", + "id": "UMI", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 84, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Uruguay", + "id": "URY", + "labelArea": 1, + "hoursOfWork": 3.1, + "salaryPercentage": 2.0, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 56, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": 2, + "dataRegulationType": "Strict ex-ante requirements" + }, + { + "displayName": "United States", + "id": "USA", + "labelArea": 0, + "hoursOfWork": 0.7, + "salaryPercentage": 0.4, + "levelOfFreedom": 2, + "freedomScore": 17, + "internetPopPercentage": 6, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 14, + "dataRegulationStatus": 0, + "dataRegulationType": "Light touch / Self-regulation" + }, + { + "displayName": "Uzbekistan", + "id": "UZB", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 0, + "freedomScore": 78, + "internetPopPercentage": 1, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 50, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Holy See (Vatican City State)", + "id": "VAT", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 53, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Saint Vincent and the Grenadines", + "id": "VCT", + "labelArea": null, + "hoursOfWork": 7.3, + "salaryPercentage": 4.3, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 49, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Venezuela, Bolivarian Republic of", + "id": "VEN", + "labelArea": 1, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 1, + "freedomScore": 53, + "internetPopPercentage": 99, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 47, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Virgin Islands, British", + "id": "VGB", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 53, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 100, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Virgin Islands, U.S.", + "id": "VIR", + "labelArea": null, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 46, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Viet Nam", + "id": "VNM", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": 0, + "freedomScore": 75, + "internetPopPercentage": 90, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 17, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Vanuatu", + "id": "VUT", + "labelArea": 3, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 24, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Wallis and Futuna", + "id": "WLF", + "labelArea": 2, + "hoursOfWork": null, + "salaryPercentage": null, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 45, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Samoa", + "id": "WSM", + "labelArea": null, + "hoursOfWork": 9.4, + "salaryPercentage": 6.4, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 72, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Yemen", + "id": "YEM", + "labelArea": 2, + "hoursOfWork": 21.3, + "salaryPercentage": 10.3, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 11, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": null, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "South Africa", + "id": "ZAF", + "labelArea": 2, + "hoursOfWork": 8.9, + "salaryPercentage": 5.1, + "levelOfFreedom": 2, + "freedomScore": 26, + "internetPopPercentage": 95, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 38, + "dataRegulationStatus": 1, + "dataRegulationType": "Minimum standard setting" + }, + { + "displayName": "Zambia", + "id": "ZMB", + "labelArea": 2, + "hoursOfWork": 92.8, + "salaryPercentage": 52.0, + "levelOfFreedom": null, + "freedomScore": null, + "internetPopPercentage": 91, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 0, + "dataRegulationStatus": null, + "dataRegulationType": "" + }, + { + "displayName": "Zimbabwe", + "id": "ZWE", + "labelArea": 2, + "hoursOfWork": 19.1, + "salaryPercentage": 9.9, + "levelOfFreedom": 1, + "freedomScore": 54, + "internetPopPercentage": 49, + "pointsOfControl": null, + "governmentControl": null, + "percentBitTorrent": 70, + "dataRegulationStatus": 0, + "dataRegulationType": "Light touch / Self-regulation" + } +] diff --git a/bedrock/shapeoftheweb/templates/shapeoftheweb/infographics.json b/bedrock/shapeoftheweb/templates/shapeoftheweb/infographics.json new file mode 100644 index 00000000000..f398d69174b --- /dev/null +++ b/bedrock/shapeoftheweb/templates/shapeoftheweb/infographics.json @@ -0,0 +1,1445 @@ +{# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. -#} +{ + "available": { + "header": "NEEDS CONTENT PLEASE", + "subheader": "NEEDS CONTENT PLEASE", + "source": { + "name": "Freedom House", + "src": "http://test.com" + }, + "dataPoints": { + "countryData": { + "findCountry": "Find a country", + "shading": { + "name": "internetPopPercentage", + "invert": false, + "values": [ + 20.0, + 40.0, + 60.0, + 80.0, + 100.0 + ], + "legend": [ + "Less than 20%", + "20-40%", + "40-60%", + "60-80%", + "Greater than 80%" + ] + }, + "display": { + "name": "internetPopPercentage", + "units": "%", + "reduceSize": false + } + } + } + }, + "affordable": { + "header": "NEEDS CONTENT", + "subheader": "NEEDS CONTENT", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "countryData": { + "findCountry": "Find a country", + "shading": { + "name": "salaryPercentage", + "invert": true, + "values": [ + 50.0, + 70.0, + 100.0, + 99999999.0 + ], + "legend": [ + "Less than 50%", + "50-70%", + "70-100%", + "Greater than 100%" + ] + }, + "display": { + "name": "hoursOfWork", + "units": "" + } + } + } + }, + "localization": { + "header": "Languages on the Web", + "subheader": "Percent of users", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "topPercentageOfLanguages": 26, + "commonLanguages": [ + { + "spoken": { + "lang": "Chinese", + "pct": 26 + }, + "internet": { + "lang": "English", + "pct": 26 + } + }, + { + "spoken": { + "lang": "Spanish", + "pct": 20 + }, + "internet": { + "lang": "Chinese", + "pct": 20 + } + }, + { + "spoken": { + "lang": "English", + "pct": 16 + }, + "internet": { + "lang": "Spanish", + "pct": 16 + } + }, + { + "spoken": { + "lang": "Hindi", + "pct": 14 + }, + "internet": { + "lang": "Japanese", + "pct": 14 + } + }, + { + "spoken": { + "lang": "Arabic", + "pct": 12 + }, + "internet": { + "lang": "Portuguese", + "pct": 12 + } + }, + { + "spoken": { + "lang": "Portuguese", + "pct": 10 + }, + "internet": { + "lang": "German", + "pct": 10 + } + }, + { + "spoken": { + "lang": "Bengali", + "pct": 9 + }, + "internet": { + "lang": "Arabic", + "pct": 9 + } + }, + { + "spoken": { + "lang": "Russian", + "pct": 8 + }, + "internet": { + "lang": "French", + "pct": 8 + } + }, + { + "spoken": { + "lang": "Japanese", + "pct": 5 + }, + "internet": { + "lang": "Russian", + "pct": 5 + } + }, + { + "spoken": { + "lang": "Punjabi", + "pct": 3 + }, + "internet": { + "lang": "Korean", + "pct": 3 + } + } + ], + "labels": { + "spokenLanguages": "Spoken Languages", + "vs": "vs", + "internetLanguages": "Internet Languages" + } + } + }, + "accessible": { + "header": "How to make content more accessible", + "subheader": "NEEDS CONTENT", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "sections": [ + { + "title": "1/9 of Internet users have a vision impairment", + "imageUrl": "/images/accessible-1.png", + "fullWidth": true + }, + { + "title": "Screen readers", + "imageUrl": "/images/accessible-2.png", + "copy": "This sends information to a speech synthesizer to be spoken or to a Braille display. When designing a site, make sure your content divisions are friendly for screen readers to access.", + "linkCopy": "Learn more", + "linkUrl": "#", + "fullWidth": false + }, + { + "title": "Special browsers", + "imageUrl": "/images/accessible-3.png", + "copy": "A browser is designed specifically for blind users. It should be able to discriminate the structure of your page, to the extent that the page has a structure, and pass the information on to the user in a meaningful way.", + "linkCopy": "Learn more", + "linkUrl": "#", + "fullWidth": false + }, + { + "title": "Screen magnification", + "imageUrl": "/images/accessible-4.png", + "copy": "Some users will use a screen magnification program. For these users, your choice of color and layout can make an enormous difference in their experience of your page.", + "linkCopy": "Learn more", + "linkUrl": "#", + "fullWidth": false + } + ] + } + }, + "infrastructure": { + "header": "Stock prices of internet and mobile operators", + "subheader": "Share prices by year", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "dataLabels": [ + "Internet Companies", + "Mobile Companies" + ], + "lineGraphData": [ + { + "label": "2004", + "data": [ + 43.23, + 53.36 + ] + }, + { + "label": "2005", + "data": [ + 60.01, + 55.13 + ] + }, + { + "label": "2006", + "data": [ + 73.92, + 61.34 + ] + }, + { + "label": "2007", + "data": [ + 110.76, + 91.27 + ] + }, + { + "label": "2008", + "data": [ + 107.17, + 81.29 + ] + }, + { + "label": "2009", + "data": [ + 108.92, + 60.96 + ] + }, + { + "label": "2010", + "data": [ + 155.98, + 67.43 + ] + }, + { + "label": "2011", + "data": [ + 186.40, + 75.46 + ] + }, + { + "label": "2012", + "data": [ + 230.62, + 69.98 + ] + }, + { + "label": "2013", + "data": [ + 262.03, + 70.56 + ] + } + ] + } + }, + "contentCreation": { + "header": "Availability of self-publishing tools with ability to retain ownership of content", + "subheader": "Excerpt from Instagram's Terms of Service", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "quote": { + "copy": "hereby grant[s] to Instagram a non-exclusive, fully paid and royalty-free, transferable, sub-licensable, worldwide license to use the content that [he or she] post[s].", + "source": "Instagram" + } + } + }, + "identityControl": { + "header": "Market share of social login providers", + "subheader": "Percent per Q3 of 2014", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "marketShare": [ + { + "company": "Other", + "value": 5 + }, + { + "company": "LinkedIn", + "value": 3 + }, + { + "company": "Yahoo", + "value": 4 + }, + { + "company": "Microsoft", + "value": 2 + }, + { + "company": "Twitter", + "value": 7 + }, + { + "company": "Google", + "value": 34 + }, + { + "company": "Facebook", + "value": 45 + } + ] + } + }, + "publicTrust": { + "header": "Net positive view of industries", + "subheader": "Percent by Year", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "dataLabels": [ + "Internet", + "Computing" + ], + "lineGraphData": [ + { + "label": "2001", + "data": [ + 17, + 57 + ] + }, + { + "label": "2002", + "data": [ + 22, + 55 + ] + }, + { + "label": "2003", + "data": [ + 31, + 64 + ] + }, + { + "label": "2004", + "data": [ + 23, + 52 + ] + }, + { + "label": "2005", + "data": [ + 24, + 47 + ] + }, + { + "label": "2006", + "data": [ + 29, + 50 + ] + }, + { + "label": "2007", + "data": [ + 35, + 51 + ] + }, + { + "label": "2008", + "data": [ + 32, + 54 + ] + }, + { + "label": "2009", + "data": [ + 30, + 53 + ] + }, + { + "label": "2010", + "data": [ + 28, + 49 + ] + }, + { + "label": "2011", + "data": [ + 40, + 62 + ] + }, + { + "label": "2012", + "data": [ + 36, + 63 + ] + }, + { + "label": "2013", + "data": [ + 34, + 56 + ] + }, + { + "label": "2014", + "data": [ + 27, + 58 + ] + } + ] + } + }, + "dataTracking": { + "header": "Top 15 Data Trackers", + "subheader": "Percentage of User History", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "tracking": [ + { + "company": "Google", + "tracker": "google-analytics.com", + "percent": 56 + }, + { + "company": "Google", + "tracker": "doubleclick.net", + "percent": 50 + }, + { + "company": "comScore", + "tracker": "scorecardresearch.com", + "percent": 38 + }, + { + "company": "Facebook", + "tracker": "facebook.com", + "percent": 31 + }, + { + "company": "Google", + "tracker": "google.com", + "percent": 24 + }, + { + "company": "Google", + "tracker": "googleapis.com", + "percent": 23 + }, + { + "company": "Facebook", + "tracker": "facebook.net", + "percent": 23 + }, + { + "company": "Quantcast", + "tracker": "quantserve.com", + "percent": 23 + }, + { + "company": "Twitter", + "tracker": "twitter.com", + "percent": 22 + }, + { + "company": "Google", + "tracker": "googleadservices.com", + "percent": 20 + }, + { + "company": "Google", + "tracker": "googlesyndication.com", + "percent": 20 + }, + { + "company": "Google", + "tracker": "2mdn.net", + "percent": 18 + }, + { + "company": "Facebook", + "tracker": "fbcdn.net", + "percent": 17 + }, + { + "company": "Google", + "tracker": "gstatic.com", + "percent": 17 + }, + { + "company": "Ad Nexus", + "tracker": "adnxs.com", + "percent": 17 + } + ], + "labels": { + "copy": [ + "Google possesses eight domains belonging to the top trackers, of which they own ten.", + "Google could possibly know 80.13% of a user's visited sites on average." + ] + } + } + }, + "surveillance": { + "header": "Surveillance as a Business Model", + "subheader": "Vicious cycle of data collection", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "surveillance": [ + { + "name": "No Scarcity", + "description": "In the offline world, inventory of a space is constrained. In the online world, inventory is theoretically infinite. Web companies make money by selling more and more page views, in turn making online advertising cheaper." + }, + { + "name": "Advertising", + "description": "For most web companies, advertising is the sole viable business model as they are competing with \"free\" alternatives." + }, + { + "name": "Further Entrenched", + "description": "With little pressure from government, or for users addicted to \"free\", web advertising becomes further entrenched." + }, + { + "name": "Lack of Regulation", + "description": "Governments have no incentives to regulate data collection and usage." + }, + { + "name": "Surveillance", + "description": "Government agencies tap into it with (or without) companies cooperation with little to no oversight." + }, + { + "name": "Government Access", + "description": "There is little courts can do to block government from accessing this data for security purposes when private companies already do so for commerical purposes." + }, + { + "name": "Data Storage", + "description": "Massive amounts of data on individuals are collected, stored, and exchanged by web companies." + }, + { + "name": "Data Collection", + "description": "Web advertising competes with offline advertising by promising advertisers that they can perfectly target messages to individuals. This requires that advertising companies collect data useful for identifying individuals and their interests." + } + ] + } + }, + "userAgreements": { + "header": "Top 5 Internet Companies", + "subheader": "by Revenue", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "termsAndConditions": [ + { + "length": 36275, + "minutes": 201, + "name": "Paypal", + "shakespeare": false + }, + { + "length": 30066, + "minutes": 167, + "name": "Hamlet", + "shakespeare": true + }, + { + "length": 19972, + "minutes": 110, + "name": "Apple iTunes", + "shakespeare": false + }, + { + "length": 18110, + "minutes": 100, + "name": "Macbeth", + "shakespeare": true + }, + { + "length": 14714, + "minutes": 81, + "name": "Windows Live", + "shakespeare": false + }, + { + "length": 13366, + "minutes": 74, + "name": "Apple iOS 5", + "shakespeare": false + }, + { + "length": 11195, + "minutes": 62, + "name": "Facebook", + "shakespeare": false + }, + { + "length": 10724, + "minutes": 60, + "name": "Apple iCloud", + "shakespeare": false + }, + { + "length": 10640, + "minutes": 60, + "name": "Google", + "shakespeare": false + }, + { + "length": 7115, + "minutes": 39, + "name": "Amazon Kindle", + "shakespeare": false + }, + { + "length": 4445, + "minutes": 24, + "name": "Twitter", + "shakespeare": false + } + ], + "labels": { + "minutes": " min", + "hour": "1 hour ", + "hours": " hours " + } + } + }, + "openSource": { + "header": "Operating system (OS) vs. browser source usage", + "subheader": "Percent by Year", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "dataLabels": { + "os": [ + "OS Closed Source", + "OS Open Source", + "OS Free and Open Source" + ], + "browser": [ + "Browser Closed Source", + "Browser Open Source", + "Browser Free and Open Source" + ] + }, + "lineGraphData": [ + { + "label": "2008", + "data": [ + 99.10, + 0.01, + 0.60, + 73.10, + 1.40, + 25.30 + ] + }, + { + "label": "2009", + "data": [ + 99.00, + 0.01, + 0.70, + 66.20, + 3.10, + 30.50 + ] + }, + { + "label": "2010", + "data": [ + 97.75, + 0.25, + 1.65, + 59.60, + 9.95, + 30.50 + ] + }, + { + "label": "2011", + "data": [ + 94.90, + 1.70, + 2.80, + 50.80, + 22.40, + 26.35 + ] + }, + { + "label": "2012", + "data": [ + 92.70, + 3.95, + 2.40, + 44.40, + 33.80, + 21.65 + ] + }, + { + "label": "2013", + "data": [ + 88.75, + 8.15, + 2.20, + 41.80, + 42.05, + 17.00 + ] + }, + { + "label": "2014", + "data": [ + 80.30, + 16.35, + 2.00, + 38.50, + 47.50, + 13.80 + ] + } + ] + } + }, + "openDataStandards": { + "header": "Do key online services allow data portability?", + "subheader": "Can you extract data?", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "dataStandards": [ + { + "service": "Google", + "answer": "Partial", + "comments": "An impressive number of products and services, but not search history" + }, + { + "service": "Facebook", + "answer": "Partial", + "comments": "Almost all of your data (deserve credit for this), but not your search history" + }, + { + "service": "Twitter", + "answer": "Yes", + "comments": "NEEDS CONTENT" + }, + { + "service": "WhatsApp", + "answer": "Yes", + "comments": "NEEDS CONTENT" + }, + { + "service": "LinkedIn", + "answer": "Partial", + "comments": "Can export your contacts, which is core to LinkedIn's offer" + }, + { + "service": "Reddit", + "answer": "No", + "comments": "Not supported, but Reddit community offers hacks to help you do this" + }, + { + "service": "Tumblr", + "answer": "No", + "comments": "Not supported, but Tumblr community offers hacks to help you do this" + }, + { + "service": "Pinterest", + "answer": "No", + "comments": "Not supported, but Pinterest community offers hacks to help you do this" + }, + { + "service": "Instagram", + "answer": "No", + "comments": "Not supported, but Instagram community offers hacks to help you do this" + }, + { + "service": "Wordpress", + "answer": "Yes", + "comments": "NEEDS CONTENT" + } + ], + "labels": { + "services": "Services", + "dataExtractable": "Data Extractable?" + } + } + }, + "dataRegulation": { + "header": "NEEDS CONTENT", + "subheader": "NEEDS CONTENT", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "countryData": { + "findCountry": "Find a country", + "shading": { + "name": "dataRegulationStatus", + "invert": false, + "values": [ + 0.01, + 1.01, + 2.01 + ], + "legend": [ + "Low", + "Medium", + "High" + ] + }, + "display": { + "name": "dataRegulationType", + "units": "", + "reduceSize": true + } + } + } + }, + "lobbyPower": { + "header": "Lobbying Expenditures vs. Revolvers*", + "subheader": "in $ and % per year", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "dataLabels": [ + "Expenditures", + "Revolvers" + ], + "revolverDescription": "* Revolvers are former members of Congress, congressional staffers, or executive branch officials.", + "lineGraphData": [ + { + "label": "1998", + "data": [ + 1450000000, + 44.70 + ] + }, + { + "label": "1999", + "data": [ + 1450000000, + 43.70 + ] + }, + { + "label": "2000", + "data": [ + 1570000000, + 48.20 + ] + }, + { + "label": "2001", + "data": [ + 1640000000, + 50.90 + ] + }, + { + "label": "2002", + "data": [ + 1830000000, + 54.90 + ] + }, + { + "label": "2003", + "data": [ + 2060000000, + 57.00 + ] + }, + { + "label": "2004", + "data": [ + 2200000000, + 56.80 + ] + }, + { + "label": "2005", + "data": [ + 2440000000, + 57.50 + ] + }, + { + "label": "2006", + "data": [ + 2630000000, + 60.10 + ] + }, + { + "label": "2007", + "data": [ + 2870000000, + 60.70 + ] + }, + { + "label": "2008", + "data": [ + 3300000000, + 63.70 + ] + }, + { + "label": "2009", + "data": [ + 3500000000, + 66.60 + ] + }, + { + "label": "2010", + "data": [ + 3550000000, + 67.50 + ] + }, + { + "label": "2011", + "data": [ + 3330000000, + 68.50 + ] + }, + { + "label": "2012", + "data": [ + 3310000000, + 68.60 + ] + }, + { + "label": "2013", + "data": [ + 3240000000, + 68.90 + ] + } + ] + } + }, + "censorship": { + "header": "Top 5 Internet Companies", + "subheader": "by Revenue", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "countryData": { + "findCountry": "Find a country", + "shading": { + "name": "levelOfFreedom", + "invert": true, + "values": [ + 0.01, + 1.01, + 2.01 + ], + "legend": [ + "Not Free", + "Partly Free", + "Free" + ] + }, + "display": { + "name": "freedomScore", + "units": "", + "reduceSize": false + } + } + } + }, + "cyberThreats": { + "header": "The Different Types of Cyber-Threats", + "subheader": "Vulnerabilities, Malware, and Exploits", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "cyberThreats": [ + { + "name": "Phishing", + "description": "A high-tech scam that frequently uses spam or pop-up messages to deceive people into disclosing sensitive information. Internet scammers use e-mail bait to \"phish\" for passwords and financial information from the sea of internet users.", + "category": 0 + }, + { + "name": "Viruses", + "description": "Viruses are programs that “infect” other programs, and when those programs are run, the virus is able to spread. It is possible for a virus to be benign, but they are usually designed maliciously.", + "category": 1 + }, + { + "name": "Zero-day Exploit", + "description": "A \"zero-day\" exploit is a technique developed to take advantage of a security vulnerability that was previously unknown.", + "category": 2 + }, + { + "name": "Spamming", + "description": "Spam is \"junk\" email - unsolicited advertising. Because of the very low cost of sending email, a lot of spam is delivered, from reasonably reputable promotional emails to more malicious and potentially damaging material.", + "category": 0 + }, + { + "name": "Worms", + "description": "Worms are similar to viruses, but they are able to reproduce themselves independently of other software programs and propogate themselves across a network of machines.", + "category": 1 + }, + { + "name": "Cross-site Scripting", + "description": "Cross site scripting (\"XSS\") is an exploit where a trusted website is also hosting a third party's code (often unwittingly) that a user will execute.", + "category": 2 + }, + { + "name": "Weak Passwords", + "description": "More and more Internet services require users choose more complex passwords. That is because weaker passwords (which may seem more memorable to the user) can easily be auto-generated in \"brute force\" methods to crack passwords.", + "category": 0 + }, + { + "name": "Trojan Horses", + "description": "A trojan horse is a program that conceals its true purpose. It may appear to be useful for the user, but have a true purpose to leak data, for example.", + "category": 1 + }, + { + "name": "Denial of Service Attack", + "description": "A Denial of Service attack is a method whereby a sytem is flooded with inbound requests, consuming all its resources and effectively taking the system out of action. A distributed denial of service attack (DDOS) is such an attack where multiple systems are attacking the target.", + "category": 2 + }, + { + "name": "Removable Media", + "description": "It is easily overlooked, but removable media (such as USB drives) may be used to transmit malicious software.", + "category": 0 + }, + { + "name": "Spyware", + "description": "Spyware is software that is installed on a user's machine, frequently without their knowledge, which transmits data about the user. Spyware may be a trojan horse, or it may not be visible to the user.", + "category": 1 + }, + { + "name": "Packet Sniffing", + "description": "Packet sniffners are program that intercept and inspect data packets frequently looking for sensitive information, such as unencrypted passwords.", + "category": 2 + } + ], + "labels": { + "vulnerabilities": "Vulnerabilities", + "malware": "Malware", + "exploits": "Exploits" + } + } + }, + "cyberBullying": { + "header": "NEEDS CONTENT", + "subheader": "Needs more content.", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "cyberBullyingData": { + "socialNetwork": { + "title": "Social Network Rise", + "lineData": [ + { + "label": "2010", + "data": [ + 85 + ] + }, + { + "label": "2011", + "data": [ + 86 + ] + }, + { + "label": "2012", + "data": [ + 93 + ] + }, + { + "label": "2013", + "data": [ + 89 + ] + }, + { + "label": "2014", + "data": [ + 90 + ] + } + ] + }, + "cyberStalking": { + "title": "Around 6.5 out of 10 students experienced cyberstalking in 2013.", + "copy": "Cyberstalking is the use of the Internet or other electronic means to stalk or harass an individual, a group, or an organization.", + "imageUrl": "/images/cyber-bullying-stalking.png" + }, + "onlineHarassment": { + "title": "Online Harassment", + "circleData": [ + { + "name": "Online Dating", + "value": 6 + }, + { + "name": "Discussion Site", + "value": 10 + }, + { + "name": "Email", + "value": 16 + }, + { + "name": "Online Gaming", + "value": 17 + }, + { + "name": "Website Comments Section", + "value": 22 + }, + { + "name": "Social Networking Site", + "value": 66 + } + ] + } + } + } + }, + "networkDecentralization": { + "header": "NEEDS CONTENT", + "subheader": "NEEDS CONTENT", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "countryData": { + "findCountry": "Find a country", + "shading": { + "name": "governmentControl", + "invert": false, + "values": [ + 0.01, + 1.01, + 2.01 + ], + "legend": [ + "Easy", + "Moderate", + "Difficult" + ] + }, + "display": { + "name": "pointsOfControl", + "units": "", + "reduceSize": false + } + } + } + }, + "cloudSecurity": { + "header": "News headlines post-iCloud leaks", + "subheader": "International News Sources", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "newsSource": [ + { + "headline": "Apple says it will add new iCloud security measures after celebrity hack", + "logoUrl": "/images/cloud-security-nytimes.png", + "inverted": false + }, + { + "headline": "Apple actively investigating iCloud link to celeb photo leak", + "logoUrl": "/images/cloud-security-cnet.png", + "inverted": true + }, + { + "headline": "Is it safe for you to use the cloud after celebrity hack?", + "logoUrl": "/images/cloud-security-time.png", + "inverted": false + }, + { + "headline": "iCloud celebrity photo hack: texts, address books and more also accessible", + "logoUrl": "/images/cloud-security-sydney.png", + "inverted": true + }, + { + "headline": "Nuove foto di star nude sul web", + "logoUrl": "/images/cloud-security-cds.png", + "inverted": false + }, + { + "headline": "Continua o vazamento de imagens de famosos enquanto a Apple nega ataque", + "logoUrl": "/images/cloud-security-elpais.png", + "inverted": true + }, + { + "headline": "Apple \"indigné\", va revoir la sécurité des comptes iCloud", + "logoUrl": "/images/cloud-security-lemonde.png", + "inverted": false + }, + { + "headline": "Apple erklärt Nackfoto-Skandal mit passwortklau", + "logoUrl": "/images/cloud-security-diewelt.png", + "inverted": true + } + ] + } + }, + "netNeutrality": { + "header": "Top 5 Internet Companies", + "subheader": "by Revenue", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "countryData": { + "findCountry": "Find a country", + "shading": { + "name": "percentBitTorrent", + "invert": true, + "values": [ + 20.0, + 40.0, + 60.0, + 80.0, + 100.0 + ], + "legend": [ + "Less than 20%", + "20-40%", + "40-60%", + "60-80%", + "Greater than 80%" + ] + }, + "display": { + "name": "percentBitTorrent", + "units": "%", + "reduceSize": false + } + } + } + }, + "zeroRating": { + "header": "Zero-rating cycle", + "subheader": "From operators to consumers to content providers", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "cycle" : { + "mainTriangle" : [ + "Operators", + "Consumers", + "Content Providers" + ], + "outsideCircle" : [ + "Zero-rated services are accessible at no charge", + "Content providers gain new users", + "Negotiate referential access for online content" + ], + "sideTriangle": "Users have to pay to access the rest of the Web", + "insideTriangle": "For users coming online for the first time, their services become their only experience" + } + } + }, + "platformNeutrality": { + "header": "Developers that target Mobile Web vs. Native platform", + "subheader": "Percentage per Q3 of 2014", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "percentOfUsers": [ + { + "type": "Mobile", + "value": 15 + }, + { + "type": "Android", + "value": 30 + }, + { + "type": "iOS", + "value": 49 + } + ] + } + }, + "concentrationOfPower": { + "header": "Revenue by top internet companies vs. countries", + "subheader": "Total reserves in US$ for 2013", + "source": { + "name": "", + "src": "" + }, + "dataPoints": { + "totalRevenue": [ + { + "name": "Apple", + "amount": 155, + "tech": true + }, + { + "name": "Italy", + "amount": 146, + "tech": false + }, + { + "name": "United Kingdom", + "amount": 104, + "tech": false + }, + { + "name": "Microsoft", + "amount": 89, + "tech": true + }, + { + "name": "Philippines", + "amount": 83, + "tech": false + }, + { + "name": "Canada", + "amount": 72, + "tech": false + }, + { + "name": "Google", + "amount": 62, + "tech": true + }, + { + "name": "South Africa", + "amount": 50, + "tech": false + } + ] + } + } +} diff --git a/bedrock/shapeoftheweb/templates/shapeoftheweb/main.json b/bedrock/shapeoftheweb/templates/shapeoftheweb/main.json new file mode 100644 index 00000000000..47e1b583087 --- /dev/null +++ b/bedrock/shapeoftheweb/templates/shapeoftheweb/main.json @@ -0,0 +1,745 @@ +{# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. -#} +{ + "topics": { + "access": { + "name": "Access", + "tagline": "Everyone is able to participate", + "issues": { + "available": { + "name": "Availability", + "title": "Who's online?", + "narrative": "Internet usage is spreading like wildfire, and that’s a good thing. The more people connected to the network, the more powerful that network can be. This process will only accelerate as the price for access gets lower and lower, and as Web-enabled devices proliferate, spawning more affordable options.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "About Firefox OS", + "url": "https://www.mozilla.org/en-US/firefox/os/" + }, + { + "copy": "Expanding Mobile Web", + "url": "https://blog.mozilla.org/blog/category/firefox-os/" + } + ], + "yourActionLink": [ + { + "copy": "Why Mobile matters", + "url": "https://www.youtube.com/watch?v=TMP45DupbhI&list=PLFlAJDI87Jg2vk3THSt8RBoD7vLG2tnwH" + } + ] + }, + "affordable": { + "name": "Affordability", + "title": "The price of admission.", + "narrative": "If you imagine everyone with online access as a point of light on a globe, some parts would glow intensely, while others would be dark. In many developing countries, a month of broadband access costs almost a month’s paycheck, making it a luxury beyond reach.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "About Firefox OS", + "url": "https://www.mozilla.org/en-US/firefox/os/" + }, + { + "copy": "Expanding access", + "url": "http://time.com/2857448/mozilla-25-smartphone-firefox/" + } + ], + "yourActionLink": [ + { + "copy": "Why Mobile matters", + "url": "https://www.youtube.com/watch?v=TMP45DupbhI&list=PLFlAJDI87Jg2vk3THSt8RBoD7vLG2tnwH" + } + ] + }, + "localization": { + "name": "Localization", + "title": "Content chases money, and money speaks English.", + "narrative": "Although only a 25% of Internet users are English-speaking, 55% of websites are in English. Why? Internet content creators target the largest markets possible. Right now those markets are North America and partly Western Europe, where English is the dominant language.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "Local developers", + "url": "https://www.mozilla.org/en-US/firefox/os/#mission" + } + ], + "yourActionLink": [ + { + "copy": "Localize your videos", + "url": "http://amara.org/en/" + }, + { + "copy": "Contribute", + "url": "https://www.mozilla.org/en-US/contribute/" + } + ] + }, + "accessible": { + "name": "Accessibility", + "title": "The Web can’t see the blind.", + "narrative": "You’re probably reading these words on a screen. But if you can’t see, you’re hearing them spoken aloud by screen-reading software, which works on any Web page built with HTML. The problem is, when sites are built using non-HTML proprietary platforms, such as mobile apps, blind users — who make up 8.5% of the world’s population — miss out.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "Firefox accessibility", + "url": "https://support.mozilla.org/en-US/kb/accessibility-features-firefox-make-firefox-and-we" + }, + { + "copy": "Accessibility resources", + "url": "http://www.accessfirefox.org/" + } + ], + "yourActionLink": [ + { + "copy": "Learn more", + "url": "http://webaim.org/intro/" + } + ] + }, + "infrastructure": { + "name": "Infrastructure", + "title": "Is the wired network here to stay?", + "narrative": "Today, the fastest Internet connections come from network operators — the guys who pipe broadband access, and also phone service, directly into our homes and offices over physical wires. But long-distance calling and other services are now moving to the Internet, and software companies are capturing that revenue from the network operators, leaving them with less resources and incentive for building new pipelines. The risk is to see Internet companies build their own wired networks and bias them toward their content.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "Firefox accessibility", + "url": "https://support.mozilla.org/en-US/kb/accessibility-features-firefox-make-firefox-and-we" + }, + { + "copy": "Accessibility resources", + "url": "http://www.accessfirefox.org/" + } + ], + "yourActionLink": [ + { + "copy": "Learn more", + "url": "http://webaim.org/intro/" + } + ] + } + } + }, + "control": { + "name": "Control", + "tagline": "Power is in the hands of individuals", + "issues": { + "contentCreation": { + "name": "Content creation", + "title": "You published it, but is it still yours?", + "narrative": "The Internet opened up the floodgates for all forms of creativity, giving the Web its multi-faceted, organic character. Social networks and blogging platforms let us speak our minds without learning code or configuring servers. But this creative outpouring is threatened: Some platforms maintain copyright over our content, and some can censor us, damming the flow of expression. And when we switch services, we often have to leave our creations behind.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "About Webmaker", + "url": "https://webmaker.org/" + } + ], + "yourActionLink": [ + { + "copy": "Learn more", + "url": "http://webaim.org/intro/" + } + ] + }, + "identityControl": { + "name": "Identity control", + "title": "Who owns your digital passport?", + "narrative": "Too many passwords! Email providers and social networks are aware of how painful this can be, and are only too happy to also act as identity providers, letting you access multiple sites using a single name-and-password combo. But if we hand our digital passports over to a single company, we’re at their mercy if they get breached, or go out of business.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "Firefox accessibility", + "url": "https://support.mozilla.org/en-US/kb/accessibility-features-firefox-make-firefox-and-we" + }, + { + "copy": "Accessibility resources", + "url": "http://www.accessfirefox.org/" + } + ], + "yourActionLink": [ + { + "copy": "Learn more", + "url": "http://webaim.org/intro/" + } + ] + }, + "publicTrust": { + "name": "Public trust", + "title": "The giant seems too big to fight.", + "narrative": "Snowden revealed just how freely our personal information is shared between companies and the U.S. government. This dealt a double blow: it shattered public trust, and it told us the power was beyond our control, that there was no use trying to fight it. The second blow was the fiercest. If apathy sets in, the Internet could someday be permanently at odds with individual rights and the potential for good.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "Most Trusted Company", + "url": "https://blog.mozilla.org/blog/2013/01/28/privacy-day-2013/" + }, + { + "copy": "About Polaris", + "url": "https://blog.mozilla.org/privacy/2014/11/10/introducing-polaris-privacy-initiative-to-accelerate-user-focused-privacy-online/" + } + ], + "yourActionLink": [ + { + "copy": "Watch \"The Web We Want\"", + "url": "https://www.youtube.com/watch?v=Xm5i5kbIXzc" + }, + { + "copy": "Privacy Best Practices", + "url": "https://support.mozilla.org/kb/how-stay-safe-web#w_follow-best-practices-to-protect-your-information" + } + ] + }, + "dataTracking": { + "name": "Data tracking", + "title": "The product is you.", + "narrative": "All of our moves on the Web are tracked, as if by the paparazzi. It’s the price we pay for free information and services. But we don’t want to be the last ones to know that our privacy has been violated. And we certainly don’t want drugstores to be the ones announcing pregnancies. As tracking techniques grow in sophistication, capturing finer details, we’re completely left out of the process.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "Understanding tracking", + "url": "https://www.youtube.com/watch?v=PvqGy9wz_wA" + }, + { + "copy": "\"Do Not Track\" policy", + "url": "http://donottrack.us/" + }, + { + "copy": "Search without tracking", + "url": "https://duckduckgo.com/" + } + ], + "yourActionLink": [ + { + "copy": "Lightbeam for Firefox", + "url": "https://www.mozilla.org/en-US/lightbeam/" + }, + { + "copy": "Disconnect on your browser", + "url": "https://disconnect.me/disconnect#" + }, + { + "copy": "Install Interest Dashboard", + "url": "https://addons.mozilla.org/firefox/addon/firefox-interest-dashboard" + }, + { + "copy": "Personal data", + "url": "http://projects.aljazeera.com/2014/terms-of-service/#1" + } + ] + }, + "surveillance": { + "name": "Surveillance", + "title": "Big Brother really is watching you.", + "narrative": "In Orwell’s 1984, the government monitors citizens day and night. That might seem like a paranoid scenario, but part of this nightmare is actually happening: when government agencies want our data, and Internet companies are motivated to collect and sell it, who is left to advocate for users?", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "About \"Stop Watching Us\"", + "url": "https://optin.stopwatching.us/" + }, + { + "copy": "About \"EFF Tor Challenge\"", + "url": "https://www.eff.org/torchallenge/" + } + ], + "yourActionLink": [ + { + "copy": "Christopher Soghoian video", + "url": "http://www.ted.com/talks/christopher_soghoian_government_surveillance_this_is_just_the_beginning" + }, + { + "copy": "Watch \"Citizenfour\"", + "url": "https://citizenfourfilm.com/" + } + ] + }, + "userAgreements": { + "name": "User Agreements", + "title": "Signing in the dark.", + "narrative": "User agreements are getting progressively longer and more complex, leaving many of us with a fuzzy notion of what they actually say.  But by not fully understanding these documents, we’re not really in control of our online lives. What have we agreed to? Often, we’re handing over copyright ownership, saying yes to censorship and signing up for spam.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/privacy/" + } + ], + "yourActionLink": [ + { + "copy": "Install TOS", + "url": "https://tosdr.org/" + }, + { + "copy": "Watch Film", + "url": "http://vimeo.com/93664881" + } + ] + }, + "openSource": { + "name": "Open Source", + "title": "Can you look under the hood?", + "narrative": "The Web, when it’s built on HTML, is fully transparent: to see how something works, just look at the code. HTML, which is free and open source software, is also built and evaluated in a fully public setting. But proprietary software, which is built behind closed doors, is gaining prominence, especially in the arena of mobile apps.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "The Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "The best open source tools", + "url": "http://www.thesimpledollar.com/30-essential-pieces-of-free-and-open-software-for-windows/" + }, + { + "copy": "Watch \"Open Source in LEGO\"", + "url": "http://www.youtube.com/watch?v=a8fHgx9mE5U" + } + ] + }, + "openDataStandards": { + "name": "Open Data Standards", + "title": "We’re locking up our data, throwing away the key.", + "narrative": "The Internet relies on open standards: Servers, browsers and content all speak the same language. But there is a trend, mostly in the mobile apps market, towards using closed standards, and this prevents data from being moved from one service to another, even with the consent of the owner. The upshot? We lose control over our own data, which gets locked away under closed, proprietary systems.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "The Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "Watch video", + "url": "http://www.youtube.com/watch?v=VbWkhMKS6mg" + } + ] + }, + "dataRegulation": { + "name": "Data Regulation", + "title": "The world’s data is not in good hands.", + "narrative": "Most of the world's data is stored in the U.S., which has some of the most relaxed data-privacy regulations on the planet. This means less scrutiny over how the world’s data is collected, how it is used and who can access it, with more potential for abuse.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "The Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "Watch video", + "url": "http://www.youtube.com/watch?v=VbWkhMKS6mg" + } + ] + }, + "lobbyPower": { + "name": "Lobby Power", + "title": "Meet the U.S. Silicon Government.", + "narrative": "The Internet industry has incredibly deep pockets for lobbying. In 2013, Internet companies spent $141million on lobbying in the U.S. alone, with Google spending the most, recently surpassing even Lockheed-Martin. This is cause for concern: with a government so deeply influenced by these companies, U.S. consumer protection laws won’t likely receive as much support.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "The Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "Watch video", + "url": "http://www.youtube.com/watch?v=VbWkhMKS6mg" + } + ] + }, + "censorship": { + "name": "Censorship", + "title": "Too big to silence.", + "narrative": "The Web is a living, breathing ecosystem, sustained by billions of contributors all over the planet. It can’t be stopped, though some repressive governments have successfully restricted access. 2014 has seen an unwelcome increase of censorship  in Turkey and Ukraine. Still, due to the sheer size and distributed nature of the Web, citizens of censored countries have still found ways for their voices to be heard.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "The Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "Watch video", + "url": "http://www.youtube.com/watch?v=VbWkhMKS6mg" + } + ] + } + } + }, + "safety": { + "name": "Safety", + "tagline": "Our security and privacy are protected", + "issues": { + "cyberThreats": { + "name": "Cyber-Threats", + "title": "New threats, new vulnerabilities.", + "narrative": "Do the bad guys ever sleep? They’re launching more and more attacks, and they’re getting sneakier, mixing up identity theft, spoofing and viruses. Some of this can be spotted a mile away (that isn’t your aunt Sally emailing you with a strange-looking link) while much of it is more insidious.  Stay vigilant; what’s at stake is the trust that holds the Web together.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "The Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "Watch video", + "url": "http://www.youtube.com/watch?v=VbWkhMKS6mg" + } + ] + }, + "cyberBullying": { + "name": "Cyber Bullying", + "title": "Virtual torment, real-life damage", + "narrative": "The Web represents the widest range of human behavior, from the civil to the obnoxious, and that’s OK. But the Web also facilitates insults, physical threats, stalking and sexual harassment, and that’s not OK: such behavior can be as damaging as physical injury. On social networking sites, which are becoming central to our lives and identities, such activities can be particularly harmful.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "The Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "Watch video", + "url": "http://www.youtube.com/watch?v=VbWkhMKS6mg" + } + ] + }, + "networkDecentralization": { + "name": "Network Decentralisation", + "title": "Choke Points for Surveillance.", + "narrative": "Like our central nervous systems, the Internet was built to support many paths, so if one path got blocked, information could find another. But while some countries have a robust set of networks connecting to the global Internet, others have only a handful. With fewer, more obvious control points, such networks are more vulnerable, and enable more censorship and surveillance.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "The Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "Watch video", + "url": "http://www.youtube.com/watch?v=VbWkhMKS6mg" + } + ] + }, + "cloudSecurity": { + "name": "Cloud Security", + "title": "Don’t put all your nude pictures in one basket.", + "narrative": "Celebrities got a rude awakening in September 2014 when their iCloud accounts were hacked, and their personal photos were broadcast over Twitter. The rest of us might want to think twice about what we store in the cloud. Services like Apple’s iCloud, Google Drive and Dropbox make attractive targets for hackers, housing data from millions of users.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "The Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "Watch video", + "url": "http://www.youtube.com/watch?v=VbWkhMKS6mg" + } + ] + } + } + }, + "fairness": { + "name": "Fairness", + "tagline": "A level playing field for all", + "issues": { + "netNeutrality": { + "name": "Net neutrality", + "title": "No slow lane on the highway of innovation.", + "narrative": "Intentionally slow Internet connections? Charging extra for the fastest speeds? That’s highway robbery. Net neutrality is the simple idea that network operators — companies like Comcast, AT&T and Verizon — must treat all data equally. Attacks on net neutrality threaten to tilt the playing field that’s been level since the Internet began, making it harder for startups to compete with the status quo. ", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "The Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "Watch video", + "url": "http://www.youtube.com/watch?v=VbWkhMKS6mg" + } + ] + }, + "zeroRating": { + "name": "Zero Rating", + "title": "“The internet”, brought to you by...", + "narrative": "Imagine a Web where all sites are curated by a single company. It would feel more like a single department store than an open, global marketplace. This is “zero rating” at work: Companies like Facebook and Google are striking deals with network operators to offer limited free browsing on mobiles devices or in hot spots, while charging for access to additional sites. True, free access is better than no access. But for many, the sponsored view would be their only view.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "Watch video", + "url": "http://www.youtube.com/watch?v=VbWkhMKS6mg" + } + ] + }, + "platformNeutrality": { + "name": "Platform neutrality", + "title": "Your apps, everywhere.", + "narrative": "The Web is designed to be platform-neutral, which allows us to access any Web page on virtually any browser. Unfortunately, proprietary platforms are gaining traction. iTunes or Google Play, for example, require code that’s specific to each platform. So if we switch platforms, we have to buy everything all over again.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "Watch video", + "url": "http://www.youtube.com/watch?v=VbWkhMKS6mg" + } + ] + }, + "concentrationOfPower": { + "name": "Concentration of power", + "title": "Digital empires are on the rise.", + "narrative": "The Internet is the world’s largest shared resource. But it’s being controlled by a decreasing number of companies, and those in control are increasing in power. This is a dangerous scenario: Some companies as rich as governments, and have more direct contact with people than most governments. But unlike governments, which are held accountable to their citizens, companies are accountable only to shareholders.", + "mozActionCopy": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus maximus imperdiet sem et dapibus. Duis quam ante, vestibulum in lectus.", + "yourActionCopy": "Donec quis magna eleifend turpis pharetra pulvinar sit amet ut velit. Mauris velit eros, consectetur id ex sed, malesuada tincidunt.", + "mozActionLink": [ + { + "copy": "Mozilla Manifesto", + "url": "https://www.mozilla.org/en-US/about/manifesto/" + }, + { + "copy": "Read \"The Open Standard\"", + "url": "https://openstandard.mozilla.org/" + } + ], + "yourActionLink": [ + { + "copy": "Watch video", + "url": "http://www.youtube.com/watch?v=VbWkhMKS6mg" + } + ] + } + } + } + }, + "tags": { + "mobile": { + "name": "Mobile" + }, + "networkOperators": { + "name": "Network Operators" + }, + "government": { + "name": "Government" + }, + "internetCompanies": { + "name": "Internet Companies" + }, + "google": { + "name": "Google" + }, + "facebook": { + "name": "Facebook" + }, + "apple": { + "name": "Apple" + }, + "privacy": { + "name": "Privacy" + }, + "netNeutrality": { + "name": "Net Neutrality" + }, + "userRights": { + "name": "User Rights" + }, + "emergingEconomies": { + "name": "Emerging Economies" + }, + "regulation": { + "name": "Regulation" + }, + "privateInternet": { + "name": "Private Internet" + }, + "openness": { + "name": "Openness" + }, + "userData": { + "name": "User Data" + } + }, + "modals": { + "about": { + "title": "About", + "copy": [ + "The Web is a living ecosystem that exists in a delicate balance and we all have a role to play in shaping - and ensuring - its future.", + "At Mozilla, we believe that the more you know about the Web, the easier it is for you to make more informed choices and be a more empowered digital citizen.", + "That's why we created this site: to show you where the Web stands today, the issues that impact it and what you can do to get involved." + ] + }, + "email": { + "title": "Keep Me Informed", + "copy": "Add your email to receive updates about the state of the internet project and other related initiatives from Mozilla.", + "label": "Enter Your Email", + "terms": "I'm okay with Mozilla handling my info as explained in this Privacy Policy", + "submitButton": "Submit" + }, + "legend": { + "title": "Legend", + "description": "Explore the most important issues on the web today and what shape they're in.", + "copy": [ + [ + { + "text": "an individual issue", + "class": "legend-symbol--blackdot" + }, + { + "text": "a connection between issues", + "class": "legend-symbol--line" + } + ], + [ + { + "text": "an issue trending positively", + "class": "legend-symbol--greendot" + }, + { + "text": "a stable issue", + "class": "legend-symbol--yellowdot" + }, + { + "text": "an issue trending negatively", + "class": "legend-symbol--reddot" + } + ], + [ + { + "text": "all issues and their connections", + "class": "icon-explore-dark" + }, + { + "text": "four requirements for a healthy Web", + "class": "icon-topic-dark" + }, + { + "text": "the individual issues as a list", + "class": "icon-issues-dark" + } + ] + ] + }, + "share": { + "title": "#shapeoftheweb", + "shareButton": "Share", + "learnMore": "Learn More", + "aboutIssue": " about this issue", + "email": "Email" + } + }, + "misc": { + "siteTitle": "Shape of the Web", + "siteHeader": "Shape of the Web", + "sourceLabel": "Source:", + "tagsLabel": "Tags:", + "mozDoingLabel": "What Mozilla Is Doing", + "yourDoingLabel": "What You Can Do", + "modeNames": { + "ecosystem": "Ecosystem", + "vitals": "Vitals", + "checklist": "Checklist" + }, + "navLabels": { + "access": "Access", + "control": "Control", + "safety": "Safety", + "fairness": "Fairness" + }, + "intro": { + "internet": "( THE INTERNET )", + "message": "The world's most powerful tool is the most fragile." + } + } +} diff --git a/bedrock/shapeoftheweb/urls.py b/bedrock/shapeoftheweb/urls.py new file mode 100644 index 00000000000..3c9b44cddaf --- /dev/null +++ b/bedrock/shapeoftheweb/urls.py @@ -0,0 +1,12 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +from django.conf.urls import patterns, url + +from bedrock.shapeoftheweb import views + + +urlpatterns = patterns('', + url(r'^(?P(?:main|country-data|infographics)\.json)$', views.localized_json, + name='shapeoftheweb.localized_json'), +) diff --git a/bedrock/shapeoftheweb/views.py b/bedrock/shapeoftheweb/views.py new file mode 100644 index 00000000000..4dd4451754d --- /dev/null +++ b/bedrock/shapeoftheweb/views.py @@ -0,0 +1,13 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +from django.views.decorators.cache import cache_control + +from lib import l10n_utils + + +@cache_control(public=True, max_age=60 * 15) +def localized_json(request, filename): + """Render a JSON file with localized strings.""" + return l10n_utils.render(request, 'shapeoftheweb/{0}'.format(filename), + content_type='application/json; charset=utf8') diff --git a/bedrock/urls.py b/bedrock/urls.py index ff003dc3beb..4f8314bc6c5 100644 --- a/bedrock/urls.py +++ b/bedrock/urls.py @@ -34,6 +34,7 @@ (r'^styleguide/', include('bedrock.styleguide.urls')), (r'^tabzilla/', include('bedrock.tabzilla.urls')), (r'^security/', include('bedrock.security.urls')), + (r'^shapeoftheweb/', include('bedrock.shapeoftheweb.urls')), (r'', include('bedrock.firefox.urls')), (r'', include('bedrock.thunderbird.urls')), (r'', include('bedrock.mozorg.urls')), diff --git a/etc/httpd/global.conf b/etc/httpd/global.conf index 5868462704e..010722df246 100644 --- a/etc/httpd/global.conf +++ b/etc/httpd/global.conf @@ -867,3 +867,6 @@ RewriteRule ^/(\w{2,3}(?:-\w{2})?/)?firefox/independent(/?.*)$ /b/$1firefox/inde # bug 1093985, 1105664, remove this once the Firefox Hello product page is ready RewriteRule ^/(\w{2,3}(?:-\w{2})?/)?firefox/hello(/?.*)$ https://support.mozilla.org/kb/respond-firefox-hello-invitation-guest-mode [L,R=temp] RewriteRule ^/(\w{2,3}(?:-\w{2})?/)?firefox/([3-9]\d\.\d(?:a1|a2|beta|\.\d)?)/hello/start/?$ https://support.mozilla.org/kb/firefox-hello-make-and-receive-calls-guest-mode [L,R=temp] + +# bug 1088752 +RewriteRule ^/(\w{2,3}(?:-\w{2})?/)?shapeoftheweb(/?.*)$ /b/$1shapeoftheweb$2 [PT]