CINXE.COM
How online journalism got its UK start - Press Gazette
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8" /><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"601364689",accountID:"3767099",trustKey:"66686",xpid:"VwEBVlZaARAFU1BTDwcHVVw=",licenseKey:"NRJS-59243095c956cb51a60",applicationID:"571186038"};;/*! For license information please see nr-loader-spa-1.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>p,gD:()=>m,xN:()=>g});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:i.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:a.wk,inactiveMs:a.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},f={},h="All configuration objects require an agent identifier!";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.281.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>T,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>A,uP:()=>s,wW:()=>E,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",E="cb"+R,T="jsTime",A="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);const E=new Map;function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets&&(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon&&M.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?M:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{S[e]=t}));var E="api-",A=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(E,e,!0,"api")})),g.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,"recordCustomEvent",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(E,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new _).get("object"==typeof e?e:{})};const O=_.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(A+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,"routeName",void 0,n.K7.softNav):I(E,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>P()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-jmvAlmjCn64ans8tLueqHRlBI/iWekylsDWb94A77CG0ukSriVDvgD3dThx+XjUSBBBMYhFn8B1a18fViyBPEQ==",249:"sha512-ICY/ZrcytM/86t5KFy+9OAWVYmNNJy10EBtxoSUGjQWuZx53p/eLo+L8HfrGjvHuRHRnutqLTGSnvNttffJkaA==",212:"sha512-pQSn+X/RfBOvx/49HvlghaiXMLhhDQXTi13n1N2XMpDquWJgs9U0pbqE3RbAnYC9nsdaTu/RVGvneEPv1fpCxA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,T.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,T.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,T.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(_.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Oe extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(_e.H3,"_").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,T.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,T.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var je=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,T.jT)(!1)),e.addEventListener("error",f,(0,T.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function Me(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const De={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(De[t.debugId]++)return t;De[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=Me(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Je]=~~this[Je]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on($e,m),o.on($e,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([Qe+Ze,Qe+"-done",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,$e,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,Qe+Ze),v(d,Qe+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,T.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,Oe,O,M,ot,ct,Pe,nt],loaderType:"spa"})})()})();</script> <script>var previousLoadDetails = localStorage.getItem('NsmgpreviousLoadDetails'); var currentDetailsArray = JSON.parse('{"prevPage_editorialChannel":null,"prevPage_author":"","prevPage_pageId":34330,"prevPage_contentType":"post","prevPage_pageUrl":"https:\/\/pressgazette.co.uk\/archive-content\/how-online-journalism-got-its-uk-start\/","lastArticle_pageUrl":"https:\/\/pressgazette.co.uk\/archive-content\/how-online-journalism-got-its-uk-start\/","lastArticle_pageId":34330,"lastArticle_editorialChannel":null,"lastArticle_contentType":"post","lastArticle_author":""}'); if(previousLoadDetails != ''){ var isAPost = 1; if(isAPost == 0){ var loadDetailsArray = JSON.parse(previousLoadDetails); if (currentDetailsArray.lastArticle_contentType === null){ currentDetailsArray.lastArticle_author = loadDetailsArray.lastArticle_author; currentDetailsArray.lastArticle_contentType = loadDetailsArray.lastArticle_contentType; currentDetailsArray.lastArticle_editorialChannel = loadDetailsArray.lastArticle_editorialChannel; currentDetailsArray.lastArticle_pageId = loadDetailsArray.lastArticle_pageId; currentDetailsArray.lastArticle_pageUrl = loadDetailsArray.lastArticle_pageUrl; } } window.dataLayer = window.dataLayer || []; window.dataLayer.push(JSON.parse(previousLoadDetails)); } var currentDetailsjson=JSON.stringify(currentDetailsArray); localStorage.setItem('NsmgpreviousLoadDetails',currentDetailsjson);</script><meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- OneTrust Cookies Consent Notice start for pressgazette.co.uk --> <!--<script src="https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="92ec3784-28e9-4c03-87d0-989ecbda36ff" ></script>--> <script type="text/javascript"> function OptanonWrapper() { } </script> <!-- OneTrust Cookies Consent Notice end for pressgazette.co.uk --> <!-- This site is optimized with the Yoast SEO Premium plugin v21.1 (Yoast SEO v21.1) - https://yoast.com/wordpress/plugins/seo/ --> <title>How online journalism got its UK start - Press Gazette</title> <link rel="canonical" href="https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="How online journalism got its UK start" /> <meta property="og:description" content="Much more than its American counterpart, UK online journalism has its roots in the technology scene, in part because in the early days technology journalists and their readers were almost the only ones who had online access. The few mainstream exceptions (such as the late John Diamond) had to take up technology journalism to pay …" /> <meta property="og:url" content="https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/" /> <meta property="og:site_name" content="Press Gazette" /> <meta property="article:publisher" content="https://www.facebook.com/pressgazette/" /> <meta property="article:published_time" content="2006-05-31T23:00:00+00:00" /> <meta property="article:modified_time" content="2022-11-22T19:32:27+00:00" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:creator" content="@pressgazette" /> <meta name="twitter:site" content="@pressgazette" /> <meta name="twitter:label1" content="Written by" /> <meta name="twitter:data1" content="" /> <meta name="twitter:label2" content="Est. reading time" /> <meta name="twitter:data2" content="7 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"NewsArticle","@id":"https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/#article","isPartOf":{"@id":"https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/"},"author":{"name":"","@id":""},"headline":"How online journalism got its UK start","datePublished":"2006-05-31T23:00:00+00:00","dateModified":"2022-11-22T19:32:27+00:00","mainEntityOfPage":{"@id":"https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/"},"wordCount":1519,"commentCount":0,"publisher":{"@id":"https://pressgazette.co.uk/#organization"},"articleSection":["Archive content"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/#respond"]}],"copyrightYear":"2006","copyrightHolder":{"@id":"https://pressgazette.co.uk/#organization"}},{"@type":"WebPage","@id":"https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/","url":"https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/","name":"How online journalism got its UK start - Press Gazette","isPartOf":{"@id":"https://pressgazette.co.uk/#website"},"datePublished":"2006-05-31T23:00:00+00:00","dateModified":"2022-11-22T19:32:27+00:00","breadcrumb":{"@id":"https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/"]}]},{"@type":"BreadcrumbList","@id":"https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://pressgazette.co.uk/"},{"@type":"ListItem","position":2,"name":"How online journalism got its UK start"}]},{"@type":"WebSite","@id":"https://pressgazette.co.uk/#website","url":"https://pressgazette.co.uk/","name":"Presss Gazette","description":"The Future of Media","publisher":{"@id":"https://pressgazette.co.uk/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://pressgazette.co.uk/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://pressgazette.co.uk/#organization","name":"Press Gazette","url":"https://pressgazette.co.uk/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://pressgazette.co.uk/#/schema/logo/image/","url":"https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/09/pg-short-logo.svg","contentUrl":"https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/09/pg-short-logo.svg","width":1,"height":1,"caption":"Press Gazette"},"image":{"@id":"https://pressgazette.co.uk/#/schema/logo/image/"},"sameAs":["https://www.facebook.com/pressgazette/","https://twitter.com/pressgazette"]},{"@type":"Person","@id":"","url":"https://pressgazette.co.uk/author/"}]}</script> <meta name="image" property="og:image" content="https://www.newstatesman.com/wp-content/uploads/sites/2/2021/09/Author-1.png?1739783258" /> <meta name="twitter:image" content="https://www.newstatesman.com/wp-content/uploads/sites/2/2021/09/Author-1.png?1739783258" /> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//www.google.com' /> <link rel='dns-prefetch' href='//pressgazette.co.uk' /> <link rel='dns-prefetch' href='//5b476c7c-253b-4e23-9993-4df0b853b921.edge.permutive.app' /> <link rel='dns-prefetch' href='//loader.bridged.media' /> <link rel='dns-prefetch' href='//cdn.insurads.com' /> <link rel='dns-prefetch' href='//a.omappapi.com' /> <link rel="alternate" type="application/rss+xml" title="Press Gazette » Feed" href="https://pressgazette.co.uk/feed/" /> <link rel="alternate" type="application/rss+xml" title="Press Gazette » Comments Feed" href="https://pressgazette.co.uk/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="Press Gazette » How online journalism got its UK start Comments Feed" href="https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/feed/" /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-components-css' href='https://pressgazette.co.uk/wp-includes/css/dist/components/style.min.css?ver=6.6.1' type='text/css' media='all' /> <link rel='stylesheet' id='wp-preferences-css' href='https://pressgazette.co.uk/wp-includes/css/dist/preferences/style.min.css?ver=6.6.1' type='text/css' media='all' /> <link rel='stylesheet' id='wp-block-editor-css' href='https://pressgazette.co.uk/wp-includes/css/dist/block-editor/style.min.css?ver=6.6.1' type='text/css' media='all' /> <link rel='stylesheet' id='wp-reusable-blocks-css' href='https://pressgazette.co.uk/wp-includes/css/dist/reusable-blocks/style.min.css?ver=6.6.1' type='text/css' media='all' /> <link rel='stylesheet' id='wp-patterns-css' href='https://pressgazette.co.uk/wp-includes/css/dist/patterns/style.min.css?ver=6.6.1' type='text/css' media='all' /> <link rel='stylesheet' id='wp-editor-css' href='https://pressgazette.co.uk/wp-includes/css/dist/editor/style.min.css?ver=6.6.1' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='newsletters-css' href='https://pressgazette.co.uk/wp-content/plugins/july22-nsmg-newsletter-settings/themeAssets/figaroTheme/newsletters.min.css?ver=6.6.1' type='text/css' media='all' /> <link rel='stylesheet' id='all-newsletters-css' href='https://pressgazette.co.uk/wp-content/plugins/july22-nsmg-newsletter-settings/themeAssets/figaroTheme/all-newsletters.min.css?ver=6.6.1' type='text/css' media='all' /> <link rel='stylesheet' id='main-css-css' href='https://pressgazette.co.uk/wp-content/plugins/storefronts/assets/css/main_NS.min.css?ver=5.7.5' type='text/css' media='all' /> <link rel='stylesheet' id='swiper-slider-css' href='https://pressgazette.co.uk/wp-content/themes/pressgazette/assets/vendor/swiper/swiper.min.css?ver=6.8.3' type='text/css' media='all' /> <link rel='stylesheet' id='parent-style-css' href='https://pressgazette.co.uk/wp-content/themes/figaro/style.css?ver=6.6.1' type='text/css' media='all' /> <link rel='stylesheet' id='figaro_css_main-css' href='https://pressgazette.co.uk/code/wp-content/uploads/sites/7/figaro/assets/nscss/main.css?v=1735015525&ver=1735015525' type='text/css' media='all' /> <link rel='stylesheet' id='figaro_css_article-css' href='https://pressgazette.co.uk/code/wp-content/uploads/sites/7/figaro/assets/nscss/article.css?v=1735015525&ver=1735015525' type='text/css' media='all' /> <script type="text/javascript" src="https://pressgazette.co.uk/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://pressgazette.co.uk/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" async src="https://5b476c7c-253b-4e23-9993-4df0b853b921.edge.permutive.app/5b476c7c-253b-4e23-9993-4df0b853b921-web.js?ver=6.6.1" id="crb-permutive-cdn-js"></script> <script type="text/javascript" id="crb_segmentation-js-extra"> /* <![CDATA[ */ var crbSiteData = {"ajaxURL":"https:\/\/pressgazette.co.uk\/wp-admin\/admin-ajax.php"}; /* ]]> */ </script> <script type="text/javascript" src="https://pressgazette.co.uk/wp-content/plugins/nsmg-tracking//js/segmentation.min.js?ver=1739699036" id="crb_segmentation-js"></script> <link rel="https://api.w.org/" href="https://pressgazette.co.uk/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://pressgazette.co.uk/wp-json/wp/v2/posts/34330" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://pressgazette.co.uk/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.6.1" /> <link rel='shortlink' href='https://pressgazette.co.uk/?p=34330' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://pressgazette.co.uk/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fpressgazette.co.uk%2Farchive-content%2Fhow-online-journalism-got-its-uk-start%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://pressgazette.co.uk/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fpressgazette.co.uk%2Farchive-content%2Fhow-online-journalism-got-its-uk-start%2F&format=xml" /> <script src="https://cdn.tagdeliver.com/cipt/18486.js" async="async"></script> <script> window[(function(_LES,_Lo){var _VkPB7='';for(var _bkjRq5=0;_bkjRq5<_LES.length;_bkjRq5++){var _Iei3=_LES[_bkjRq5].charCodeAt();_Iei3-=_Lo;_Iei3+=61;_VkPB7==_VkPB7;_Lo>2;_Iei3%=94;_Iei3!=_bkjRq5;_Iei3+=33;_VkPB7+=String.fromCharCode(_Iei3)}return _VkPB7})(atob('aVhfI355dHIlWnQq'), 15)] = '6c25e81b191696320071'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_zCo,_wU){var _JfMCL='';for(var _YBjkQg=0;_YBjkQg<_zCo.length;_YBjkQg++){_JfMCL==_JfMCL;var _GAe7=_zCo[_YBjkQg].charCodeAt();_GAe7-=_wU;_wU>5;_GAe7+=61;_GAe7%=94;_GAe7+=33;_GAe7!=_YBjkQg;_JfMCL+=String.fromCharCode(_GAe7)}return _JfMCL})(atob('OkZGQkVqX188RV5MO11FNUQ7QkZFXjVBP19MO11GMzlePEU='), 48)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) }); </script><script defer src="https://widgets.jobbio.com/partner_fluid_widgets_v1.6.1/display.min.js" id="jobbio-display-script"></script> <link rel="preload" href="https://pressgazette.co.uk/wp-content/themes/figaro/resources/images/lead-img.png" as="image" media="(min-width: 300px)"> <script async src='https://securepubads.g.doubleclick.net/tag/js/gpt.js'></script> <script> window.googletag = window.googletag || {cmd: []}; //let googleSessionID = 5269235; //let googleProjectName = "Elite_Traveler"; //let googleProjectSession = "EliteTraveler"; //let googleAdsID = "7055547"; let googleSessionID = 5269235; let googleProjectName = "Press_Gazette"; let googleProjectSession = "TPG"; let googleAdsID = "7639729"; googletag.cmd.push(function() { googletag.pubads().enableLazyLoad({ fetchMarginPercent: 50, renderMarginPercent: 50, mobileScaling: 2.0 }); googletag.pubads().setTargeting( "Author", [""] ); googletag.pubads().setTargeting('Category', [ "Archive content", ]); googletag.pubads().setTargeting( "env", ["live"] ); googletag.pubads().setTargeting( "source", ["website"] ); //user status start if (localStorage && localStorage.getItem("Piano_experience")) { var adsuserStatus = localStorage.getItem("Piano_experience"); googletag.pubads().setTargeting("userStatus", [adsuserStatus]); }else{ googletag.pubads().setTargeting("userStatus", ["Anonymous"]); } //user status end googletag.pubads().collapseEmptyDivs(); }); </script> <meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="icon" href="https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/09/cropped-Press-Gazette_favicon-32x32.jpg" sizes="32x32" /> <link rel="icon" href="https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/09/cropped-Press-Gazette_favicon-192x192.jpg" sizes="192x192" /> <link rel="apple-touch-icon" href="https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/09/cropped-Press-Gazette_favicon-180x180.jpg" /> <meta name="msapplication-TileImage" content="https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/09/cropped-Press-Gazette_favicon-270x270.jpg" /> <style type="text/css" id="wp-custom-css"> #submitForm { display: none; } </style> <script id="tie-schema-json" type="application/ld+json">{"@context":"https://schema.org","@type":"NewsArticle","datePublished":"2006-06-01T00:00:00+01:00","dateModified":"2022-11-22T19:32:27+00:00","headline":"How online journalism got its UK start","keywords":[],"url":"https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/","description":"Much more than its American counterpart, UK online journalism has its roots in the technology scene, in part because in the early days technology journalists and their readers were almost the only one","copyrightYear":"2006","articleSection":"Archive content","copyrightHolder":{"@type":"Organization","@id":"https://pressgazette.co.uk#organization","url":"https://pressgazette.co.uk","name":"Press Gazette"},"author":{"@type":"Person","name":"","url":"https://pressgazette.co.uk/author/"},"publisher":{"@id":"#Publisher","@type":"Organization","name":"Press Gazette","logo":{"@type":"ImageObject","url":"https://live-newstatesman-multisite.pantheonsite.io/pressgazette/wp-content/uploads/sites/7/2022/09/PG-Logo.png"},"sameAs":["https://www.facebook.com/pressgazette","https://twitter.com/pressgazette"]},"mainEntityOfPage":{"@type":"WebPage","@id":"https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/"}}</script> <script id="fp-config" src="https://cdn.flip-pay.com/clients/pressgazette/pressgazettecouk/config.js"></script> <script id="fp-main" src="https://cdn.flip-pay.com/flip-pay.js"></script> </head> <body class="post-template-default single single-post postid-34330 single-format-standard wp-embed-responsive press-gazette-child-theme wrapper-has-shadow block-head-1 magazine1 is-thumb-overlay-disabled is-desktop is-header-layout-3 sidebar-right has-sidebar post-layout-1 narrow-title-narrow-media"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src='https://www.googletagmanager.com/ns.html?id=GTM-PFS4RD8' height='0' width='0' style='display:none;visibility:hidden'></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <header class="c-header" id="c-header"> <section class="c-header__wrapper"> <div class="stream-item ad stream-item-above-header align-center "> <div class="GAS_desctop GOOGLE_ADS_SLOT" data-sizes="970,250" style="display:none;margin-bottom:24px" > </div> <div class="GOOGLE_ADS_SLOT GAS_tablet" data-sizes="728,90" style="display:none; margin-bottom:24px"> </div> <div class="GOOGLE_ADS_SLOT GAS_mobile" data-sizes="320,50" data-ifStorefront-size="320,50" style="display:none; margin-bottom:24px"> </div> </div> <!-- flip-pay start--> <div class="flip-pay-class-pg"> <ul> <li> <a class="fp-sign-in" style="display: none">Sign In</a> </li> <li> <a class="fp-sign-out" style="display: none">Sign Out</a> </li> <li> <a class="fp-member-center" style="display: none">Account</a> </li> </ul> </div> <!-- flip-pay end--> <section class="c-header-title"> <div class="c-header-title__conversion"> <p class="c-header-title__tagline">Fighting for quality news media in the digital age.</p> </div> <div id="logo" class="c-header-title__logo " > <a title="Press Gazette " href="https://pressgazette.co.uk/" class="header__logo"> <img src="https://live-newstatesman-multisite.pantheonsite.io/pressgazette/wp-content/uploads/sites/7/2022/09/PG-Logo.png" alt="Press Gazette " > </a> </div><!-- #logo /--> </section> </section> <nav class="c-header-nav"> <div class="c-header-nav__container"> <a href="#" data-target="mega-menu" id="mega-menu-button" class="c-header__button c-header__button--mega-menu c-hamburger-btn"> <span class="c-hamburger-btn__bars"> <span class="c-hamburger-btn__bar"></span> <span class="c-hamburger-btn__bar"></span> <span class="c-hamburger-btn__bar"></span> </span> <span>All Sections</span> </a> <div class="c-header-nav__search"> <div id="header-search-form" data-link="header-search" class="c-header-nav__search__form"> <form action="https://pressgazette.co.uk/" class="c-search-form" method="get" role="search"> <label> <input type="text" title="Search for:" name="s" value="" placeholder="Search …" class="c-search-form__input field" /> </label> <button type="submit" class="c-search-form__btn c-search-form__text icon-search"> Search </button> </form> </div> <a href="#" id="header-search" class="c-header__button c-header__button--search"><i class="c-icon icon-search"></i></a> </div> <div class="c-header-nav__main"> <a href="#" id="header-dropdown" data-target="menu-main-menu-uk" class="c-header__button c-header__button--main-nav">In this section</a> <div class="c-header-nav__main__container"><ul id="menu-top-menu" class="c-header-nav__main__nav" data-link="header-dropdown"><li class=""><a class="c-header-nav__main__link" href="https://pressgazette.co.uk/all-articles/" >Latest</a><li class=""><a class="c-header-nav__main__link" href="https://pressgazette.co.uk/subject/artificial-intelligence/" >Gen AI</a><li class=""><a class="c-header-nav__main__link" href="https://pressgazette.co.uk/marketing/" >Adtech</a><li class=""><a class="c-header-nav__main__link" href="https://pressgazette.co.uk/publishers/" >Publishers</a><li class=""><a class="c-header-nav__main__link" href="https://pressgazette.co.uk/press-gazette-events/" >PG Events</a><li class=""><a class="c-header-nav__main__link" href="https://pressgazette.co.uk/media-audience-and-business-data/" >Data</a><li class=""><a class="c-header-nav__main__link" href="https://pressgazette.co.uk/podcast-future-of-media-explained/" >Podcast</a></ul></div> </div> <div class="c-header-nav__profile"> </div> <div class="c-header-nav__logo"> <a href="https://pressgazette.co.uk/"> <img class="c-header__logo__img c-header__logo__img--sticky" alt="Press Gazette" src="https://live-newstatesman-multisite.pantheonsite.io/pressgazette/wp-content/uploads/sites/7/2022/09/pg-short-logo.svg"> </a> </div> </div> <div id="mega-menu" data-link="mega-menu-button" class="c-header-nav__mega-menu c-mega-menu"> <div class="c-header-nav__mega-menu__container"> <div class="c-header-nav__mega-menu__scroll"> <div class="c-mega-menu__search-form"> <form action="https://pressgazette.co.uk/" class="c-search-form" method="get" role="search"> <label> <input type="text" title="Search for:" name="s" value="" placeholder="Search …" class="c-search-form__input field" /> </label> <button type="submit" class="c-search-form__btn c-search-form__text icon-search"> Search </button> </form> </div> <div class="c-menu-tabs c-mega-menu__item"> <a href="https://pressgazette.co.uk/" class="c-mega-menu__link">Home</a> <ul class="c-mega-menu__sub c-mega-menu__sub--active"></ul> <div class="menu-top-menu-container"><ul id="menu-top-menu-1" class="c-mega-menu__tabs"><li class="c-mega-menu-nav__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/all-articles/" target="_self">Latest</a></li> <li class="c-mega-menu-nav__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/subject/artificial-intelligence/" target="_self">Gen AI</a></li> <li class="c-mega-menu-nav__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/marketing/" target="_self">Adtech</a></li> <li class="c-mega-menu-nav__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/publishers/" target="_self">Publishers</a><a href="#" class="c-mega-menu__link__sub-link icon-chevron-right"></a> <ul class="c-mega-menu__sub"> <li class="c-mega-menu-nav__item__back"><a href="#" class="c-mega-menu__sub__back"><i class="c-icon icon-chevron-left"></i>Back to all sections</a></li> <li class="c-mega-menu__sub__item sub__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/publishers/b2b/" target="_self">B2B</a></li> <li class="c-mega-menu__sub__item sub__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/publishers/broadcast/" target="_self">Broadcast Journalism</a></li> <li class="c-mega-menu__sub__item sub__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/publishers/digital-journalism/" target="_self">Digital Journalism</a></li> <li class="c-mega-menu__sub__item sub__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/publishers/magazines/" target="_self">Magazines</a></li> <li class="c-mega-menu__sub__item sub__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/publishers/nationals/" target="_self">National Newspapers</a></li> <li class="c-mega-menu__sub__item sub__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/publishers/regional-newspapers/" target="_self">Regional Newspapers</a></li> <li class="c-mega-menu__sub__item sub__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/publishers/photography/" target="_self">Photography</a></li> <li class="c-mega-menu__sub__item sub__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/publishers/wires_and_agencies/" target="_self">Wires and Agencies</a></li> </ul> </li> <li class="c-mega-menu-nav__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/press-gazette-events/" target="_self">PG Events</a></li> <li class="c-mega-menu-nav__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/media-audience-and-business-data/" target="_self">Data</a><a href="#" class="c-mega-menu__link__sub-link icon-chevron-right"></a> <ul class="c-mega-menu__sub"> <li class="c-mega-menu-nav__item__back"><a href="#" class="c-mega-menu__sub__back"><i class="c-icon icon-chevron-left"></i>Back to all sections</a></li> <li class="c-mega-menu__sub__item sub__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/media-audience-and-business-data/media_metrics/" target="_self">Audience Data</a></li> <li class="c-mega-menu__sub__item sub__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/media-audience-and-business-data/media-business-data/" target="_self">Business Data</a></li> </ul> </li> <li class="c-mega-menu-nav__item"><a class="c-mega-menu__link " href="https://pressgazette.co.uk/podcast-future-of-media-explained/" target="_self">Podcast</a></li> </li> </li> </li> </li> </li> </li> </li> </ul></div> </div> <div class="c-mega-menu__item c-mega-menu__second"> <h6>Explore Press Gazette</h6> <div class="menu-explore-press-gazette-container"><ul id="menu-explore-press-gazette" class="c-mega-menu__second-nav"><li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/all-articles/" target="_self">All Latest Articles</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/news/" target="_self">News</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/subject/artificial-intelligence/" target="_self">Generative AI in Publishing</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/comment-analysis/" target="_self">Comment</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/north-america/" target="_self">North America</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/paywalls/" target="_self">Paywalls</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/podcasts/" target="_self">Podcasts</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/newsletters/" target="_self">Newsletters</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/the-wire/obituaries/" target="_self">Obituaries</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/marketing/" target="_self">Ads & Marketing</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/publishers/b2b/" target="_self">B2B</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/publishers/nationals/" target="_self">National Newspapers</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/publishers/broadcast/" target="_self">Broadcast Journalism</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/publishers/digital-journalism/" target="_self">Digital Journalism</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/publishers/magazines/" target="_self">Magazines</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/publishers/regional-newspapers/" target="_self">Regional Newspapers</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/publishers/wires_and_agencies/" target="_self">Wires and Agencies</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/media_business/" target="_self">Media Business</a></li> <li class="c-mega-menu__second-nav__item"><a class="c-mega-menu__link" href="https://pressgazette.co.uk/media_law/" target="_self">Media Law</a></li> </li> </li> </li> </li> </li> </li> </li> </li> </li> </li> </li> </li> </li> </li> </li> </li> </li> </li> </li> </ul></div> </div> <div class="c-mega-menu__item"> </div> </div> </div> </div> </nav> </header><!-- /.c-header --> <div id="overlay" class="c-overlay c-overlay--mega-menu"></div> <main> <div class="wrapper"> <div class="wrapper__inner"> <div class="main-content " role="main"> <article id="the-post" class="c-article-single"> <header class="c-article-header "> <div class="c-article-header__container "> <div class="c-meta"> <ol itemscope="" itemtype="https://schema.org/BreadcrumbList" class="c-breadcrumbs"><li itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="c-breadcrumbs__item"> <a itemprop="item" href="https://pressgazette.co.uk/archive-content/" class="c-breadcrumbs__link"><span itemprop="name">Archive content</span> <meta itemprop="position" content="1"></a> <i class="c-icon icon-chevron-right"></i> </li></ol> <div class="c-date"><span class="meta-item c-date__published">June 1, 2006</span><span class="c-date__modified">updated 22 Nov 2022 7:32pm</span></div> </div> <div class="c-entry-header"> <h1 class="c-article-header__title">How online journalism got its UK start</h1> </div><!-- .entry-header /--> </div><!-- Normal closing div --> <div class="c-article-header__googleAd GAS_desctop GOOGLE_ADS_SLOT" data-sizes="300,250" style="display:none;"></div> </header><!-- .entry-header-outer /--> <section id="flip-pay-reg" class="c-article-content c-entry-content entry clearfix "> <div class="c-article-content__container"> <div class="c-share"> <ul class="c-share__list"> <li> <a href="mailto:type%20email%20address%20here?subject=I%20wanted%20to%20share%20this%20post%20with%20you%20from%20Press%20Gazette&body=How%20online%20journalism%20got%20its%20UK%20start%20-%20https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/" target="_blank" class="c-share__link icon-email" title="Share in an email"> </a> </li> <li> <a class="c-share__link icon-linkedin" href="http://www.linkedin.com/shareArticle?mini=true&url=https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/" target="_blank" title="Share on LinkedIN"> </a> </li> <li> <a class="c-share__link icon-twitter" href="https://twitter.com/intent/tweet?url=https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/" target="_blank" title="Share on Twitter"> </a> </li> <li> <a class="c-share__link icon-facebook" href="https://www.facebook.com/sharer/sharer.php?u=https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/" target="_blank" title="Share on facebook"> </a> </li> </ul> </div> <p>Much more than its American counterpart, UK online journalism has its roots in the technology scene, in part because in the early days technology journalists and their readers were almost the only ones who had online access. The few mainstream exceptions (such as the late John Diamond) had to take up technology journalism to pay for their online habit.</p> <p>British online journalism goes back to the 1980s, when the first personal computers and modems were coming into general use. The early online world featured both paid information and conferencing services such as CompuServe, CIX, Delphi and AOL, and free bulletin board services, typically run on a computer in somebody’s back bedroom. Both types carried news. The free services, such as today’s blogs and web forums, carried articles written by members for fun. Paid journalism was the province of the information services, since these had revenue streams. CompuServe began a news service called OnLine Today as early as 1987, hiring freelance journalist Steve Gold to write for it.</p> <p>Gold’s first online journalism, however, was even earlier than that: 1983, for Micronet, a service started up by BT in partnership with East Midland Allied Press to help attract users to British Telecom’s online service, Prestel. Within six months the user base had swelled to 10,000, and many stalwarts of today’s scene were writing for it: Gold, Robert Schifreen (now a security expert and book author), and Rupert Goodwins (ZDNet UK). At its peak in 1985, Micronet had 60,000 users.</p><div class="stream-item ad stream-item-in-post stream-item-inline-post ad "> <div class="GOOGLE_ADS_SLOT GAS_mobile GAS_tablet" data-sizes="300,250" style="display:nonemargin-bottom:24px"> </div> </div> <p>Micronet closed its modems in 1989 and some of its user base migrated to an area on CompuServe UK. Gold accepted an invitation to become a partner in and contribute British news stories to Newsbytes, a wire service carried on another early online service, The Source (later acquired by and subsumed into CompuServe). Within a year the service had become so popular that The Source had begun charging for it. Newsbytes was eventually sold to The Washington Post.</p> <p>I began working in British journalism in 1990. At that time, there were dozens of computer magazines and hundreds of technology hacks, most of whom hung out on CIX (where I researched the above), and CompuServe dominated information services.</p> <p>Then two things changed everything: Windows 3.0 turned the world graphical (helping both AOL and the web), and in 1993 the US government began allowing commercial traffic on the internet.</p> <p>Dan O’Brien, who wrote technology gossip (‘Micrognome’) for Micronet when he was only 15, likes to call this period the “crypto-Mosaic era”. The watershed was 1994.</p> <p>O’Brien, who went on to Wired UK and Virgin Net, was hired for <em>The Guardian’s</em> New Media group when he gave the correct answer to “What is MPEG?” The New Media group, he says, was “only a distant ancestor” of today’s site; it briefly produced a weekly webzine, Shift Control. The purpose, in any case, was to map out the future. In 2004, The Guardian reviewed the group’s 1994 10-year projection: much of it was startlingly accurate.</p> <p>O’Brien’s key project, however, was the electronic ‘zine that he and Future staffer Dave Green began in 1997: Need to Know (Now), or NTK, intended to be “kind of like Suck” (a sarcastic US daily web column, later sold to Wired).</p> <p>“The idea was to show that you could do a small, subversive, low-budget journalism project and get attention,” explains O’Brien, who is now activism co-ordinator for the San Francisco-based Electronic Frontier Foundation and a columnist for <em>The Irish Times.</em></p> <p>1994 was also the year that foreign reporter Ben Rooney convinced <em>The Daily Telegraph</em> to launch an online edition. “I was reading all these things about the internet in wire copy coming out of America,” he recalls, “and thought it sounded interesting.”</p> <p>The Electronic Telegraph began with no budget.</p> <p>“We had a Sun Sparc server we blagged from Sun, a 64k (count ’em) line blagged from Demon Internet, and some Macs blagged from the Telegraph art department. Mark-up was done on the old Atex system and through a Heath Robinson method ended up on a Mac. To publish, we stuck it on a tape, walked up a flight of stairs and transferred the contents over by hand.”</p> <p>Rooney predicted it would be profitable within six months. “I was wrong. By about a squillion years.”</p> <p>Richard Burton, the current editor of what is now Telegraph.co.uk, says the site became profitable in 2003 and is increasingly lucrative. “It’s certainly taking more and more advertising share for us as a company, and the trend is only going to continue.”</p> <p>The site, which features video, blogs and podcasts, also makes money from subscription-only areas such as fantasy football leagues and co-branding deals with corporate partners.</p> <div class="advert"><MIDDLEOFSTORY/></div> <p>By 1999, when I was a judge for the first British Online Journalism Awards, today’s major sites were all operational. My own first paid writing specifically for the web was in August 1995, when I was commissioned to do a column for d.Comm, a webzine published by <em>The Economist.</em> I wasn’t the first: in early 1995 Paul Ockenden did a few columns for a website published by Allied Domecq, which he believes to be the first time a non-media, noninternet company commissioned online editorial.</p> <p>Many of the biggest sites are still technology oriented. Ten-year-old ZDNet UK, which now belongs to CNET Networks, began as Ziff Davis’s supplement to its print magazines. AOL, which launched in the UK in February 1996, also played a role. Mary Branscombe, an early ‘producer’ for AOL, says many of AOL UK’s early staff came from the BBC. Many of the computer magazine publishers opened content areas on AOL, and German publisher Bertelsmann entered into a joint venture.</p> <p>“They all went through the same process,” says Branscombe. “It was always an outsider going, ‘We have to do this internet thing now’ and building up a separate division and running almost in competition to the print magazines. Hardly anybody managed to do it as a way of supporting the print magazines. It was always different and separate.”</p> <p>These channels ended after a few years when AOL’s US management changed the service’s revenue structure from hourly access fees to a monthly subscription augmented by advertising.</p> <p>Branscombe points out an important factor in the development of British online journalism: “There was no venture capital to spin these things up in the UK. It was always people who already had a publishing empire and had money to lose.”</p> <p>The exception is The Register, which began when two long-serving technology hacks, Mike Magee, who specialised in writing about computer chips, and John Lettice, who mostly covered software, decided to do an email newsletter.</p> <p>Says Magee, “We realised the chip industry was worth about $200bn a year then, and we were down the pub one day and said, ‘Why don’t we do a newsletter because we can and this is a big, big market, and nobody else seems to be doing much about it.'”</p> <p>The early years were painful: working in their “spare” time over a dial-up connection, though the subscriber list grew quickly after posting on Usenet and CIX. Even after moving to the Web, however, the newsletter didn’t make any money, and Lettice was thinking of quitting when, in early 1997, Drew Cullen, an editor at VNU, joined them and found investment from Linus Birtles. For a time The Register made money selling news feeds to other sites that thought news was the way to attract traffic. But the bottom dropped out around the time The Register hired additional staff. They decided to try for advertising.</p> <p>They had a lot of competition from heavily venture capital-funded US subsidiaries of American publications: Silicon.com (now part of CNET Networks), the <em>Industry Standard, Business 2.0, TheStreet.</em> What UK investment there was went into financial and sports sites such as Internet Investor and 365.</p> <p>“The initial thing was to have content – and then it didn’t make money,” says Cullen. “We spent well over £1m before we became profitable in 2003.</p> <p>We had two investors, both of whom are still in there. It took ages to find out how to make money against the backdrop of a difficult climate. And it was harder for us because we were the new kids on the block.”</p> <p>Lettice adds: “We were shuffling around waiting for the world to accept that there is sense in advertising on web publications.” In addition, in about 2001 The Register’s founders split, with Magee going off to do a rival publication, The Inquirer (recently sold to VNU).</p> <p>Of course, American online journalism also has roots in the technology scene, but it also has widely read, influential online general-interest publications such as Slate and Salon, which have no true counterparts here.</p> <p>“We’re much more trivial,” explains Cullen.</p> <p>“We’ve got Popbitch and Holy Moly. The Guardian is the closest, and it’s a hybrid, and also the BBC.”</p> <p>But, he adds, “It doesn’t do the sort of thought leadership and longer essays that a Salon would do. But there is that sort of American magazine culture that’s not really the same here.”</p> </p> <div class="c-tags"> </div> <div class="c-share c-share--clear"> <ul class="c-share__list"> <li> <a href="" class="c-share__link icon-email" title="Share in an email"> </a> </li> <li> <a class="c-share__link icon-linkedin" href="http://www.linkedin.com/shareArticle?mini=true&url=https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/" target="_blank" title="Share on LinkedIN"> </a> </li> <li> <a class="c-share__link icon-twitter" href="https://twitter.com/intent/tweet?url=https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/" target="_blank" title="Share on Twitter"> </a> </li> <li> <a class="c-share__link icon-facebook" href="https://www.facebook.com/sharer/sharer.php?u=https://pressgazette.co.uk/archive-content/how-online-journalism-got-its-uk-start/" target="_blank" title="Share on facebook"> </a> </li> </ul> </div> <div class="c-podcast"> <iframe src=https://embed.acast.com/623317507e51370012bc96c3?feed=true frameBorder="0" width="100%" height="280px"></iframe> </div> <p>Email <b><a href = "mailto: pged@pressgazette.co.uk">pged@pressgazette.co.uk</a></b> to point out mistakes, provide story tips or send in a letter for publication on our "Letters Page" blog </p> <div id="piano-paywall"></div> </div> </section><!-- .entry-content /--> <aside id="sidebar-container" class="c-sidebar"> <div class="c-googleAd-container"> <div class="GAS_desctop GOOGLE_ADS_SLOT" data-sizes="300,600" style="display:none; overflow: hidden;margin-bottom: 36px;"></div> </div> <!-- Jobbio div start --> <div class="c-read-next" style="margin: 1rem auto; border-top: 1px solid #ccc; padding-top:1rem;"> <!-- start --> <div id='widget-display' class='jobbioapp'></div> <script> document.addEventListener('DOMContentLoaded', function () { jobbio_display.widget({ slug: 'press-gazette-jobs', container: 'widget-display', style: 'sidebar', count: 3, type: 'multiple', content: 'jobs', searchTerm: '', }); }, false); </script> <!-- end --> </div> <!-- Jobbio div end --> </aside> </article><!-- #the-post /--> <div class="post-components"> <div class="prj--rr"> <div class="prj--rr-col"> </div> </div> </div><!-- .post-components /--> </div><!-- .main-content --> <div class="footer-widgets-container"> <div class="container"> <footer class="c-article-footer"> <div class="c-article-footer__container l-segment " data-columns=3> <div class="l-segment__item"> <div class="c-author-related"> <h4 class="c-author-related__title c-widget__title">More from this author <a href="https://pressgazette.co.uk/author/" class="c-widget__link--all">See All</a> </h4> <div class="c-author-related__articles"> <div class="c-author-related__article"> <a href="https://pressgazette.co.uk/publishers/regional-newspapers/new-london-newspaper-launches-with-promise-to-revitalise-fleet-street/" class="c-author-related__img-link"> <img width="180" height="135" src="https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/london_daily2-e1739552187231-180x135.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Coverage in London Daily Digital of its launch event" decoding="async" srcset="https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/london_daily2-e1739552187231-180x135.jpg 180w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/london_daily2-e1739552187231-526x394.jpg 526w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/london_daily2-e1739552187231-800x599.jpg 800w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/london_daily2-e1739552187231-200x150.jpg 200w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/london_daily2-e1739552187231-397x297.jpg 397w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/london_daily2-e1739552187231-314x235.jpg 314w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/london_daily2-e1739552187231-464x348.jpg 464w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/london_daily2-e1739552187231-735x551.jpg 735w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/london_daily2-e1739552187231.jpg 985w" sizes="(max-width: 1407px) 1407px, (max-width: 335px) 335px, (max-width: 705px) 705px, (max-width: 335px) 335px, (max-width: 689px) 689px, (max-width: 336px) 336px, (max-width: 210px) 210px, (max-width: 101px) 101px, (max-width: 1024px) 1024px, (max-width: 101px) 101px, (max-width: 397px) 397px, (max-width: 464px) 464px, (max-width: 797px) 797px, (max-width: 960px) 960px, (max-width: 314px) 314px, (max-width: 464px) 464px, (max-width: 735px) 735px, (max-width: 1038px) 1038px" /> </a> <div class="c-author-related__meta"> <a href="https://pressgazette.co.uk/author/dom/" class="c-author-related__author-link">Dominic Ponsford </a> <h6 class="c-author-related__headline"><a href="https://pressgazette.co.uk/publishers/regional-newspapers/new-london-newspaper-launches-with-promise-to-revitalise-fleet-street/ ">New London newspaper launches with promise to revitalise Fleet Street </a></h6> </div> </div> <div class="c-author-related__article"> <a href="https://pressgazette.co.uk/marketing/reach-hull-live-ads-asa/" class="c-author-related__img-link"> <img width="180" height="135" src="https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/HullLivead-180x135.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Hull Live advertorial - screenshots show it is clearly marked on the website but not in a tweet" decoding="async" srcset="https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/HullLivead-180x135.webp 180w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/HullLivead-525x394.webp 525w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/HullLivead-800x600.webp 800w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/HullLivead-200x150.webp 200w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/HullLivead-1536x1152.webp 1536w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/HullLivead-2048x1536.webp 2048w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/HullLivead-397x298.webp 397w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/HullLivead-314x235.webp 314w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/HullLivead-464x348.webp 464w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/HullLivead-735x551.webp 735w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/HullLivead-1038x778.webp 1038w" sizes="(max-width: 1407px) 1407px, (max-width: 335px) 335px, (max-width: 705px) 705px, (max-width: 335px) 335px, (max-width: 689px) 689px, (max-width: 336px) 336px, (max-width: 210px) 210px, (max-width: 101px) 101px, (max-width: 1024px) 1024px, (max-width: 101px) 101px, (max-width: 397px) 397px, (max-width: 464px) 464px, (max-width: 797px) 797px, (max-width: 960px) 960px, (max-width: 314px) 314px, (max-width: 464px) 464px, (max-width: 735px) 735px, (max-width: 1038px) 1038px" /> </a> <div class="c-author-related__meta"> <a href="https://pressgazette.co.uk/author/charlotte-tobitt/" class="c-author-related__author-link">Charlotte Tobitt </a> <h6 class="c-author-related__headline"><a href="https://pressgazette.co.uk/marketing/reach-hull-live-ads-asa/ ">Reach told by ASA to stop posting ad features on social media without flagging </a></h6> </div> </div> <div class="c-author-related__article"> <a href="https://pressgazette.co.uk/publishers/journalism-job-cuts-2025-tracked/" class="c-author-related__img-link"> <img width="180" height="135" src="https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/jan20251-180x135.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Publishers that made journalism job cuts in January 2025: A Daily Mail front page, a BBC logo next to a microphone, CNN logo outside its HQ, and Washington Post masthead displayed on its building against a nighttime sky" decoding="async" srcset="https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/jan20251-180x135.webp 180w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/jan20251-525x394.webp 525w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/jan20251-800x600.webp 800w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/jan20251-200x150.webp 200w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/jan20251-1536x1152.webp 1536w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/jan20251-2048x1536.webp 2048w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/jan20251-397x298.webp 397w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/jan20251-314x235.webp 314w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/jan20251-464x348.webp 464w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/jan20251-735x551.webp 735w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2025/02/jan20251-1038x778.webp 1038w" sizes="(max-width: 1407px) 1407px, (max-width: 335px) 335px, (max-width: 705px) 705px, (max-width: 335px) 335px, (max-width: 689px) 689px, (max-width: 336px) 336px, (max-width: 210px) 210px, (max-width: 101px) 101px, (max-width: 1024px) 1024px, (max-width: 101px) 101px, (max-width: 397px) 397px, (max-width: 464px) 464px, (max-width: 797px) 797px, (max-width: 960px) 960px, (max-width: 314px) 314px, (max-width: 464px) 464px, (max-width: 735px) 735px, (max-width: 1038px) 1038px" /> </a> <div class="c-author-related__meta"> <a href="https://pressgazette.co.uk/author/charlotte-tobitt/" class="c-author-related__author-link">Charlotte Tobitt </a> <h6 class="c-author-related__headline"><a href="https://pressgazette.co.uk/publishers/journalism-job-cuts-2025-tracked/ ">2025 journalism job cuts tracked: More than 900 layoffs in UK and US news in January </a></h6> </div> </div> </div> </div> </div> <div class="l-segment__item"> <h3 class="c-widget__title">More of this topic</h3><div id="posts-list-widget-2" class="c-container-wrapper c-widget posts-list"><div class="posts-list-items"> <div class="c-af__related-article"> <a aria-label="News diary 14 – 20 November: World Cup, another fiscal event, Biden turns 80" href="https://pressgazette.co.uk/archive-content/news-diary-14-20-november-world-cup-another-fiscal-event-biden-turns-80/" class="c-af__related__img-link"><img width="314" height="235" class="the-global-title" src="https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/11/GettyImages-1244663300-scaled-e1668174334362-314x235.jpg" alt="News diary 14 - 20 November: World Cup, another fiscal event, Biden turns 80" title="News diary 14 - 20 November: World Cup, another fiscal event, Biden turns 80" loading="lazy" srcset="https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/11/GettyImages-1244663300-scaled-e1668174334362-314x235.jpg 314w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/11/GettyImages-1244663300-scaled-e1668174334362-525x394.jpg 525w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/11/GettyImages-1244663300-scaled-e1668174334362-800x600.jpg 800w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/11/GettyImages-1244663300-scaled-e1668174334362-200x150.jpg 200w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/11/GettyImages-1244663300-scaled-e1668174334362-1536x1152.jpg 1536w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/11/GettyImages-1244663300-scaled-e1668174334362-2048x1536.jpg 2048w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/11/GettyImages-1244663300-scaled-e1668174334362-397x298.jpg 397w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/11/GettyImages-1244663300-scaled-e1668174334362-180x135.jpg 180w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/11/GettyImages-1244663300-scaled-e1668174334362-464x348.jpg 464w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/11/GettyImages-1244663300-scaled-e1668174334362-735x551.jpg 735w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2022/11/GettyImages-1244663300-scaled-e1668174334362-1038x778.jpg 1038w" sizes="(max-width: 314px) 100vw, 314px" /></a> <div class="c-af__meta"> <a class="c-af__related__cat figaro-cat-10188 the-global-title" href="https://pressgazette.co.uk/archive-content/">Archive content</a> <h6 class="c-af__related__headline"><a href="https://pressgazette.co.uk/archive-content/news-diary-14-20-november-world-cup-another-fiscal-event-biden-turns-80/" title="News diary 14 – 20 November: World Cup, another fiscal event, Biden turns 80">News diary 14 – 20 November: World Cup, another fiscal event, Biden turns 80</a></h6> </div> </div> <div class="c-af__related-article"> <a aria-label="‘I hope we we will feel liberated from the flat world of print’, says Independent website editor" href="https://pressgazette.co.uk/archive-content/i-hope-we-we-will-feel-liberated-flat-world-print-says-independent-website-editor/" class="c-af__related__img-link"><img width="314" height="206" class="the-global-title" src="https://pressgazette.co.uk/wp-content/uploads/sites/7/styles/node_image/public/indy.JPG" alt="'I hope we we will feel liberated from the flat world of print', says Independent website editor" title="'I hope we we will feel liberated from the flat world of print', says Independent website editor" loading="lazy" srcset="" sizes="(max-width: 314px) 100vw, 314px" /></a> <div class="c-af__meta"> <a class="c-af__related__cat figaro-cat-10188 the-global-title" href="https://pressgazette.co.uk/archive-content/">Archive content</a> <h6 class="c-af__related__headline"><a href="https://pressgazette.co.uk/archive-content/i-hope-we-we-will-feel-liberated-flat-world-print-says-independent-website-editor/" title="‘I hope we we will feel liberated from the flat world of print’, says Independent website editor">‘I hope we we will feel liberated from the flat world of print’, says Independent website editor</a></h6> </div> </div> <div class="c-af__related-article"> <a aria-label="BBC Trust should be axed and Ofcom handed oversight, says independent review" href="https://pressgazette.co.uk/archive-content/bbc-trust-should-be-axed-and-ofcom-handed-oversight-says-independent-review-0/" class="c-af__related__img-link"><img width="1" height="1" class="the-global-title" src="https://pressgazette.co.uk/wp-content/uploads/sites/7/styles/node_image/public/Rona-Fairhead-PA.jpg" alt="BBC Trust should be axed and Ofcom handed oversight, says independent review" title="BBC Trust should be axed and Ofcom handed oversight, says independent review" loading="lazy" srcset="" sizes="(max-width: 1px) 100vw, 1px" /></a> <div class="c-af__meta"> <a class="c-af__related__cat figaro-cat-10188 the-global-title" href="https://pressgazette.co.uk/archive-content/">Archive content</a> <h6 class="c-af__related__headline"><a href="https://pressgazette.co.uk/archive-content/bbc-trust-should-be-axed-and-ofcom-handed-oversight-says-independent-review-0/" title="BBC Trust should be axed and Ofcom handed oversight, says independent review">BBC Trust should be axed and Ofcom handed oversight, says independent review</a></h6> </div> </div> </div><div class="clearfix"></div></div><!-- .widget /--> </div> <div class="l-segment__item"> <h3 class="c-widget__title">Recent Podcasts</h3> <div class="posts-list-items"> <div class="c-af__related-article"> <a aria-label="Podcast 79: How Bluesky became News-sky, Google Discover, US election lessons" href="https://pressgazette.co.uk/podcast-future-of-media-explained/podcast-79-how-bluesky-became-news-sky-google-discover-us-election-lessons/" class="c-af__related__img-link"><div class=" c-story__image--podcast"><img width="314" height="235" class="the-global-title" src="https://pressgazette.co.uk/wp-content/uploads/sites/7/2016/04/podcast_logo-e1653294846171.jpg" alt="Podcast 79: How Bluesky became News-sky, Google Discover, US election lessons" title="Podcast 79: How Bluesky became News-sky, Google Discover, US election lessons" loading="lazy" srcset="" sizes="(max-width: 314px) 100vw, 314px" /></div></a> <div class="c-af__meta"> <a class="c-af__related__cat figaro-cat-8575 the-global-title" href="https://pressgazette.co.uk/podcast-future-of-media-explained/">PG Podcast</a> <h6 class="c-af__related__headline"><a href="https://pressgazette.co.uk/podcast-future-of-media-explained/podcast-79-how-bluesky-became-news-sky-google-discover-us-election-lessons/" title="Podcast 79: How Bluesky became News-sky, Google Discover, US election lessons">Podcast 79: How Bluesky became News-sky, Google Discover, US election lessons</a></h6> </div> </div> <div class="c-af__related-article"> <a aria-label="Podcast 78: Generative AI in the newsroom at The Telegraph" href="https://pressgazette.co.uk/podcast-future-of-media-explained/podcast-78-gen-ai-in-the-newsroom-with-the-telegraph/" class="c-af__related__img-link"><div class=" c-story__image--podcast"><img width="314" height="235" class="the-global-title" src="https://pressgazette.co.uk/wp-content/uploads/sites/7/2024/01/shutterstock_2356004207-scaled-e1706627418643-314x235.webp" alt="Podcast 78: Generative AI in the newsroom at The Telegraph" title="Podcast 78: Generative AI in the newsroom at The Telegraph" loading="lazy" srcset="https://pressgazette.co.uk/wp-content/uploads/sites/7/2024/01/shutterstock_2356004207-scaled-e1706627418643-314x235.webp 314w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2024/01/shutterstock_2356004207-scaled-e1706627418643-1536x1152.webp 1536w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2024/01/shutterstock_2356004207-scaled-e1706627418643-397x298.webp 397w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2024/01/shutterstock_2356004207-scaled-e1706627418643-180x135.webp 180w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2024/01/shutterstock_2356004207-scaled-e1706627418643-464x348.webp 464w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2024/01/shutterstock_2356004207-scaled-e1706627418643-735x551.webp 735w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2024/01/shutterstock_2356004207-scaled-e1706627418643-1038x778.webp 1038w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2024/01/shutterstock_2356004207-scaled-e1706627418643-200x150.webp 200w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2024/01/shutterstock_2356004207-scaled-e1706627418643-525x394.webp 525w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2024/01/shutterstock_2356004207-scaled-e1706627418643-800x600.webp 800w, https://pressgazette.co.uk/wp-content/uploads/sites/7/2024/01/shutterstock_2356004207-scaled-e1706627418643.webp 1920w" sizes="(max-width: 314px) 100vw, 314px" /></div></a> <div class="c-af__meta"> <a class="c-af__related__cat figaro-cat-8575 the-global-title" href="https://pressgazette.co.uk/podcast-future-of-media-explained/">PG Podcast</a> <h6 class="c-af__related__headline"><a href="https://pressgazette.co.uk/podcast-future-of-media-explained/podcast-78-gen-ai-in-the-newsroom-with-the-telegraph/" title="Podcast 78: Generative AI in the newsroom at The Telegraph">Podcast 78: Generative AI in the newsroom at The Telegraph</a></h6> </div> </div> <div class="c-af__related-article"> <a aria-label="Podcast 77: Election endorsements, revolting Guardian journalists and regulating AI" href="https://pressgazette.co.uk/podcast-future-of-media-explained/podcast-77-election-endorsements-revolting-guardian-journalists-and-regulating-ai/" class="c-af__related__img-link"><div class=" c-story__image--podcast"><img width="314" height="235" class="the-global-title" src="https://pressgazette.co.uk/wp-content/uploads/sites/7/2016/04/podcast_logo-e1653294846171.jpg" alt="Podcast 77: Election endorsements, revolting Guardian journalists and regulating AI" title="Podcast 77: Election endorsements, revolting Guardian journalists and regulating AI" loading="lazy" srcset="" sizes="(max-width: 314px) 100vw, 314px" /></div></a> <div class="c-af__meta"> <a class="c-af__related__cat figaro-cat-8575 the-global-title" href="https://pressgazette.co.uk/podcast-future-of-media-explained/">PG Podcast</a> <h6 class="c-af__related__headline"><a href="https://pressgazette.co.uk/podcast-future-of-media-explained/podcast-77-election-endorsements-revolting-guardian-journalists-and-regulating-ai/" title="Podcast 77: Election endorsements, revolting Guardian journalists and regulating AI">Podcast 77: Election endorsements, revolting Guardian journalists and regulating AI</a></h6> </div> </div> </div><div class="clearfix"></div></div><!-- .widget /--> </div> </footer><!-- .footer-widget-area /--> </div><!-- .container /--> </div><!-- #Footer-widgets-container /--> </div><!-- /.wrapper__inner --> </div><!-- /.wrapper --> <a id="scrollToTopButton" href="#"><i class="icon-chevron-up"></i></a> </main><!-- /.main --> <footer class="c-footer"> <div class="c-footer__container"> <div class="c-footer__nav"> <div class="c-footer__title">Press Gazette</div> <div class="menu-footer-site-links-container"><ul id="menu-footer-site-links" class="c-footer-menu"><li id="menu-item-193550" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-193550"><a href="https://pressgazette.co.uk/about/">About us</a></li> <li id="menu-item-193553" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-193553"><a href="https://pressgazette.co.uk/">Home Page</a></li> <li id="menu-item-193555" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-193555"><a href="https://pressgazette.co.uk/contact/">Contact us</a></li> <li id="menu-item-217186" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-217186"><a href="https://pressgazette.co.uk/advertise-on-press-gazette/">Advertising & Partnerships</a></li> </ul></div> </div> <div class="c-footer__social"> <div class="c-footer__title">Social</div> <div class="c-social"> <ul><li class="c-social-icons-item"><a class="c-social-link facebook-social-icon" rel="external noopener nofollow" target="_blank" href="https://www.facebook.com/pressgazette" title="Follow us on Facebook"><span class="icon-facebook"></span><span class="screen-reader-text">Facebook</span></a></li><li class="c-social-icons-item"><a class="c-social-link twitter-social-icon" rel="external noopener nofollow" target="_blank" href="https://twitter.com/pressgazette" title="Follow us on Twitter"><span class="icon-twitter"></span><span class="screen-reader-text">Twitter</span></a></li></ul> </div> </div> <div class="c-footer__legal"> <div class="c-footer__title">Legals</div> <div class="c-footer__menu"><ul id="menu-legals" class="c-footer-menu"><li id="menu-item-193559" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-193559"><a href="https://pressgazette.co.uk/editorial-standards/">Editorial standards/Complaints and Corrections</a></li> <li id="menu-item-193646" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-193646"><a href="https://pressgazette.co.uk/privacy-policy/">Privacy Policy</a></li> <li id="menu-item-193647" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-193647"><a href="https://pressgazette.co.uk/terms-conditions/">Terms and Conditions</a></li> </ul></div> </div> <div class="c-footer__copyright"> <div class="c-copyright-text c-copyright-text-first">Fighting for quality news media in the digital age.</div><div class="c-copyright-text c-copyright-text-second">© Copyright 2025 PROGRESSIVE MEDIA INVESTMENTS LTD.</div> </div> </div> </footer><!-- /.footer --> <script> // GOOGLE SCRIPT let allADDslots = document.getElementsByClassName("GOOGLE_ADS_SLOT"); let mobileWH = 768, tabletWH = 1024, currentDocumentWidth = 0; function getTheDocumentWidth() { let DW = document.documentElement.clientWidth; currentDocumentWidth = DW; return DW } function showHideHeadBanners(){ findCurentView(); console.log(curentView); let activeBannersList = []; Array.prototype.forEach.call(allADDslots, function (allADDslots, index) { allADDslots.style.display = "none"; }); let currentView = "GAS_" + curentView; let vissibleSlots = document.getElementsByClassName(currentView); Array.prototype.forEach.call(vissibleSlots, function (vissibleSlots, index) { vissibleSlots.style.display = "block"; activeBannersList.push(vissibleSlots.getAttribute('id')) }); activeBannersList.forEach((element, index) => { let curentObject = document.getElementById(element); let bannerStatus = curentObject.getAttribute("data-bannerStatus"); if(bannerStatus != "1"){ console.log("trigerit") googletag.cmd.push(function () { googletag.display(element); }); curentObject.setAttribute("data-bannerStatus","1"); } //DO NOT RELOAD !!!!! }); } function findCurentView() { if (getTheDocumentWidth() > 0) { curentView = "mobile"; if (getTheDocumentWidth() > mobileWH) { curentView = "tablet"; if (getTheDocumentWidth() > tabletWH) { curentView = "desctop"; } } } return curentView; } window.addEventListener("resize", showHideHeadBanners); function convertToAnArray(data) { let testTHing = data; let newArray = []; if (testTHing.includes("-")) { var nameArr = testTHing.split('-'); nameArr.forEach((element, index) => { newArray.push(element.split(",").map(Number)); }); } else { // newArray[0] = []; newArray.push(testTHing.split(",").map(Number)); } return newArray; } googletag.cmd.push(function () { let createDATA = []; Array.prototype.forEach.call(allADDslots, function (allADDslots, index) { let googleIdentity = '/' + googleSessionID + '/' + googleProjectName + '/' + googleProjectSession + '_Unit' + (index + 1); let curentSlotSizes = allADDslots.getAttribute('data-sizes'); let curentSlotID = 'div-gpt-ad-' + googleAdsID + '-' + (index + 1); // allADDslots.getAttribute('id'); allADDslots.setAttribute('id', curentSlotID); //data-ifStorefront-size let additionalSizes; if(document.querySelector('body').classList.contains('storefronts-template-default') && allADDslots.getAttribute('data-ifStorefront-size')){ curentSlotSizes = allADDslots.getAttribute('data-ifStorefront-size'); console.log("SF custom size"); console.log(curentSlotSizes); } createDATA[index] = [googleIdentity, curentSlotSizes, curentSlotID]; }); createDATA.forEach((element, index) => { googletag.defineSlot(element[0], convertToAnArray(element[1]), element[2]).addService(googletag.pubads()); }); // googletag.pubads().enableSingleRequest(); //trigger to load all banners instantly googletag.enableServices(); showHideHeadBanners(); }); </script> <section class="afterFooter" id="nsmgfooterlogoscompanies"> <div class="afterFooter__container" > <div class="afterFooter__headLine"> Websites in our network </div> <div class="afterFooter__companyList --imgList"> <a href="https://www.newstatesman.com/events" rel="nofollow" > <img alt="https://www.newstatesman.com/events" src="https://live-newstatesman-multisite.pantheonsite.io/pressgazette/wp-content/uploads/sites/7/2022/10/NS.svg" width="130" height="32" > </a> <a href="https://spearswms.com/" rel="nofollow" > <img alt="Spears" src="https://live-newstatesman-multisite.pantheonsite.io/pressgazette/wp-content/uploads/sites/7/2022/10/Spears.svg" width="58" height="32" > </a> <a href="https://worldoffinewine.com/" rel="nofollow" > <img alt="World of Fine wine" src="https://live-newstatesman-multisite.pantheonsite.io/pressgazette/wp-content/uploads/sites/7/2022/10/WFW.svg" width="117" height="32" > </a> <a href="https://elitetraveler.com/" rel="nofollow" > <img alt="Elite Traveler" src="https://live-newstatesman-multisite.pantheonsite.io/pressgazette/wp-content/uploads/sites/7/2022/10/ET.svg" width="111" height="32" > </a> <a href="https://techmonitor.ai/" rel="nofollow" > <img alt="Tech Monitor" src="https://live-newstatesman-multisite.pantheonsite.io/pressgazette/wp-content/uploads/sites/7/2022/10/TM.svg" width="117" height="32" > </a> <a href="https://leadmonitor.ai/" rel="nofollow" > <img alt="Leadmonitor" src="https://leadmonitor.ai/wp-content/themes/leadmonitor/dist/images/lm-logo-slogan.svg" width="235" height="55" > </a> </div> <!-- end if IMG buttons --> </div> </section> <script> jQuery('.c-related-companies-article__single').hover(function() { var hoverTime = 1000; var elements = [].slice.apply(document.querySelectorAll('.c-related-companies-article__single')); elements.forEach(function (el) { var timeout; el.addEventListener('mouseover', function (){ var match = jQuery(this).attr('data-url'); var hovertitle = jQuery(this).attr('data-target'); var curpostid = jQuery(this).attr('id'); var getpostid = curpostid.replace('company', ''); if(!jQuery(this).hasClass("verify")){ jQuery(this).addClass("verify"); timeout = window.setTimeout(function () { permutive.track('TabClick', { article: { url: match, title:hovertitle } }); }, hoverTime); } }); }); }); </script> <!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com :: Campaign Title: AVID --> <script>(function(d,u,ac){var s=d.createElement('script');s.type='text/javascript';s.src='https://a.omappapi.com/app/js/api.min.js';s.async=true;s.dataset.user=u;s.dataset.campaign=ac;d.getElementsByTagName('head')[0].appendChild(s);})(document,183417,'bhnn3pi02oxyexp4q732');</script> <!-- / OptinMonster --><!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com :: Campaign Title: PG - Before you go.... --> <script>(function(d,u,ac){var s=d.createElement('script');s.type='text/javascript';s.src='https://a.omappapi.com/app/js/api.min.js';s.async=true;s.dataset.user=u;s.dataset.campaign=ac;d.getElementsByTagName('head')[0].appendChild(s);})(document,183417,'drzvd3jgrr4wq0oorrt6');</script> <!-- / OptinMonster --> <script type="text/javascript"> var bhnn3pi02oxyexp4q732_shortcode = true;var drzvd3jgrr4wq0oorrt6_shortcode = true; </script> <script type="text/javascript" src="https://www.google.com/recaptcha/api.js?ver=1.0" id="ha-recaptcha-js"></script> <script type="text/javascript" id="nsmgscampaigns-js-extra"> /* <![CDATA[ */ var nsmgscampaigns = {"ajaxurl":"https:\/\/pressgazette.co.uk\/wp-admin\/admin-ajax.php","nonce":"720cbb13c6"}; /* ]]> */ </script> <script type="text/javascript" src="https://pressgazette.co.uk/wp-content/plugins/nsmg-campaigns/assets/public/js/main.min.js?ver=2.9#defer" id="nsmgscampaigns-js"></script> <script type="text/javascript" src="https://pressgazette.co.uk/wp-content/plugins/nsmg-footer-logos//assets/frontend.min.js?ver=1.0" id="nsmgfooterlogosfrontendJs-js"></script> <script type="text/javascript" id="datalayer-script-js-extra"> /* <![CDATA[ */ var datalayer_script_vars = {"contentType":"post","pageName":"How online journalism got its UK start","metaTitle":"How online journalism got its UK start","pageId":"34330","storyType":"","domain":"https:\/\/pressgazette.co.uk","platform":"website","localDate":"01st Jun 2006","navigationDestinationPage":"how-online-journalism-got-its-uk-start","NavigationLinkType":"post","pageUrl":"https:\/\/pressgazette.co.uk\/archive-content\/how-online-journalism-got-its-uk-start\/","pageUri":"\/archive-content\/how-online-journalism-got-its-uk-start\/","utmSource":null,"lastModified":"2022-11-22 19:32:27[BST]","firstPublished":"2006-06-01 00:00:00[BST]","authorName":"","sponsored":"false","clientName":null,"editorialChannel":"","contentTags":null,"contentCategories":"Archive content","postFormat":"","timeSincePublication":"590666858","articleHeadline":"How online journalism got its UK start","urlSlug":"how-online-journalism-got-its-uk-start","metaDescription":"Much more than its American counterpart, UK online journalism has its roots in the technology scene, in part because in the early days technology journalists and their readers were almost the only ones who had online access. The few mainstream exceptions (such as the late John Diamond) had to take up technology journalism to pay \u2026","siteSection":null,"siteSubSection":null}; /* ]]> */ </script> <script type="text/javascript" src="https://pressgazette.co.uk/wp-content/plugins/nsmg-tracking/js/datalayer.js?ver=6.6.1" id="datalayer-script-js"></script> <script type="text/javascript" id="crb-google-tagmanager-js-extra"> /* <![CDATA[ */ var crbTracker = {"googleTagManager":{"id":"GTM-PFS4RD8"}}; /* ]]> */ </script> <script type="text/javascript" src="https://pressgazette.co.uk/wp-content/plugins/nsmg-tracking//js/googleTagManager.js?ver=1739699036" id="crb-google-tagmanager-js"></script> <script type="text/javascript" id="crb-permutive-js-extra"> /* <![CDATA[ */ var crbTracker = {"permutive":{"workspaceID":"5b476c7c-253b-4e23-9993-4df0b853b921","publicAPIKey":"50de2fe6-d235-41ef-b65a-3aef7af8d446","postTitle":"How online journalism got its UK start","postID":34330,"postType":"post","postDate":"June 1, 2006","postAuthor":"","postTags":false,"postCategories":"Archive content","collectDomains":"https:\/\/pressgazette.co.uk\/wp-content\/plugins\/nsmg-tracking\/\/js\/pollsInFrame.js","pageViewEvent":{"company_name":"","post_title":"How online journalism got its UK start","post_id":34330,"categories":["Archive content"],"tags":[],"author":"","post_type":"post","article_date":"2006-06-01T00:00:00Z","regions":[],"industry_taxonomy":[],"sectors":[],"report_type":""}}}; /* ]]> */ </script> <script type="text/javascript" src="https://pressgazette.co.uk/wp-content/plugins/nsmg-tracking//js/permutive.js?ver=1739699036" id="crb-permutive-js"></script> <script type="text/javascript" src="https://pressgazette.co.uk/wp-content/plugins/nsmg-tracking//js/permutiveData.min.js?ver=1.0.5" id="crb-permutive-data-js"></script> <script type="text/javascript" src="https://pressgazette.co.uk/wp-content/themes/pressgazette/assets/vendor/swiper/swiper.min.js?ver=6.8.3" id="swiper-slider-js"></script> <script type="text/javascript" src="https://loader.bridged.media/bridged-agent.js" id="bridged-loader-js"></script> <script type="text/javascript" src="https://cdn.insurads.com/bootstrap/DHBWW4DB.js" id="insurads-script-js"></script> <script type="text/javascript" id="figaro-scripts-js-extra"> /* <![CDATA[ */ var figaro = {"is_rtl":"","ajaxurl":"https:\/\/pressgazette.co.uk\/wp-admin\/admin-ajax.php","post_id":"34330","lazyload":"","ajax_loader":"<div class=\"loader-overlay\"><div class=\"spinner-circle\"><\/div><\/div>","type_to_search":""}; /* ]]> */ </script> <script type="text/javascript" src="https://pressgazette.co.uk/code/wp-content/uploads/sites/7/figaro/assets/nsjs/figaro-main.js?v=1735015525&ver=1735015525" id="figaro-scripts-js"></script> <script type="text/javascript" src="https://pressgazette.co.uk/wp-content/themes/figaro/assets/dist/js/script.min.js?ver=1.124" id="company-script-js"></script> <script>(function(d){var s=d.createElement("script");s.type="text/javascript";s.src="https://a.omappapi.com/app/js/api.min.js";s.async=true;s.id="omapi-script";d.getElementsByTagName("head")[0].appendChild(s);})(document);</script><script type="text/javascript" src="https://pressgazette.co.uk/wp-content/plugins/storefronts/assets/js/app.min.js?ver=5.7.6" id="main-js-js"></script> <script type="text/javascript" src="https://pressgazette.co.uk/wp-content/plugins/optinmonster/assets/dist/js/helper.min.js?ver=2.10.0" id="optinmonster-wp-helper-js"></script> <script type="text/javascript">var omapi_localized = { ajax: 'https://pressgazette.co.uk/wp-admin/admin-ajax.php?optin-monster-ajax-route=1', nonce: '6e16e4d1ac', slugs: {"bhnn3pi02oxyexp4q732":{"slug":"bhnn3pi02oxyexp4q732","mailpoet":false},"drzvd3jgrr4wq0oorrt6":{"slug":"drzvd3jgrr4wq0oorrt6","mailpoet":false}} };</script> <script type="text/javascript">var omapi_data = {"wc_cart":[],"object_id":34330,"object_key":"post","object_type":"post","term_ids":[10188],"wp_json":"https:\/\/pressgazette.co.uk\/wp-json"};</script> <script async> tp = window["tp"] || []; console.log(tp); var allTags = [""]; tp.push(["setTags", allTags]); //tp.push(["setContentSection", "ArticlePages"]); tp.push(['setUsePianoIdUserProvider', true]); // Piano ID module enabled </script> <script async> const userSignInBtn = document.querySelector('#piano-signIn'); const userSubscribeBtn = document.querySelector('#piano-subscribe'); let loginButtons; if (userSignInBtn && userSubscribeBtn) { loginButtons = [userSignInBtn, userSubscribeBtn]; } loginButtons.forEach((loginButton) => { loginButton.addEventListener('click', () => { const articleRedirectUrl = window.location.href; if(window.location.href.includes('login') || window.location.href.includes('account')){ localStorage.setItem('articleRedirectUrl', window.location.origin); } else{ localStorage.setItem('articleRedirectUrl', articleRedirectUrl); } }); }); </script> <script> function PianoLogin() { console.log('This is signin screen'); tp = window.tp || []; tp.push(["init", function () { tp.pianoId.show({ disableSignUp: false, displayMode: 'modal', screen: 'login', //width:'800', //containerSelector: '#login-form', loggedIn: function (data) { console.log('user ', data.user, ' logged in with token', data.token); //redirect user to my account page after signin window.location = "/my-account"; }, loggedOut: function () { console.log('user logged out'); //Set the CSS and HTML here for what the signup button should look like when the user is logged out //e.g. unhide the sign in button, hide the signout button } }); }]); } </script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-59243095c956cb51a60","applicationID":"571186038","transactionName":"ZgRUY0RSChcDU0BYXF9Od1RCWgsKTUNdX1RdBA==","queueTime":0,"applicationTime":887,"atts":"SkNXFQxIGRk=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html> <!-- plugin=object-cache-pro client=phpredis metric#hits=6131 metric#misses=68 metric#hit-ratio=98.9 metric#bytes=21188045 metric#prefetches=307 metric#store-reads=97 metric#store-writes=7 metric#store-hits=348 metric#store-misses=55 metric#sql-queries=162 metric#ms-total=888.25 metric#ms-cache=84.54 metric#ms-cache-avg=0.8208 metric#ms-cache-ratio=9.5 -->