CINXE.COM
Sign Up for Macworld Newsletters
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="https://gmpg.org/xfn/11"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO Premium plugin v21.7 (Yoast SEO v23.1) - https://yoast.com/wordpress/plugins/seo/ --> <title>Sign Up for Macworld Newsletters</title> <meta name="twitter:label1" content="Est. reading time" /> <meta name="twitter:data1" content="4 minutes" /> <meta name="twitter:label2" content="Written by" /> <meta name="twitter:data2" content="jonnywaters" /> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//rumcdn.geoedge.be' /> <link rel='dns-prefetch' href='//cdn.onthe.io' /> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel="alternate" type="application/rss+xml" title="Macworld » Feed" href="https://www.macworld.com/en-us/feed" /> <link rel="alternate" type="application/rss+xml" title="Macworld » Comments Feed" href="https://www.macworld.com/en-us/feed" /> <script> window.grumi = { key: '859c0fcb-feae-4616-afed-20011b559baa' }; </script> <script> window._sp_analytics = { config: { accountId: 146, events: { onDetectionComplete: function () { console.log('onMessageReady'); } }, } }; </script> <script type="text/javascript">function ybGPTHook(w,advIds){if (!advIds||advIds.length===0)return;w.googletag=w.googletag||{cmd:[]};w.googletag.cmd.unshift=function(cb){w.googletag.cmd.splice(1,0,cb)};w.googletag.cmd.push(function(){var ves=['slotRequested','slotResponseReceived','slotRenderEnded','slotOnload','impressionViewable','slotVisibilityChanged'];var ies=ves.slice(1);var srv=w.googletag.pubads();srv.__hook_version=2;srv.setTargeting('in2w_key15','u0');function frc(c){return 'u'+(c<11?c:c<26?'10-':c<51?'25-':c<101?'50-':'100-')}function ge(s){return w.document.getElementById(s.getSlotElementId())}function iye(s){var i=s.__getResponseInformation?s.__getResponseInformation():s.getResponseInformation();return (i&&i.advertiserId&&advIds.indexOf(i.advertiserId)!==-1);}function fs(s,l){try{var e=ge(s);if(l){if(!e.style['min-width']&&!e.style['min-height']){e.style['min-width']=e.offsetWidth+'px';e.style['min-height']=e.offsetHeight+'px';s.__keepSize=1;}}else if(s.__keepSize){e.style['min-width']='';e.style['min-height']='';delete s.__keepSize;}}catch(er){}}srv.__refresh=srv.refresh;srv.refresh=function refreshProxy(slots){var args=[];for(var i in arguments)args.push(arguments[i]);try{if(!slots)slots=this.getSlots();for(var i in slots){var slot=slots[i];slot.setTargeting('in2w_key15', frc(slot.__refreshCount||0));}}catch(er){}srv.__refresh.apply(srv,args);}.bind(srv);srv.__reportEvents=function(type,event){if(srv.__eventProxy && srv.__eventProxy[type]){for(var i in srv.__eventProxy[type]){try{srv.__eventProxy[type][i](event)}catch(er){}}}};srv.__addEventListener=srv.addEventListener;srv.addEventListener=function eventListenerProxy(type,listener){if(ves.indexOf(type)!==-1){try{this.__eventProxy=this.__eventProxy||{};if(!this.__eventProxy[type]){this.__eventProxy[type]=[listener];return srv.__addEventListener(type,function proxy(event){var slot=event.slot;if(slot.__skipEvent&&slot.__skipEvent[type]&&(new Date().getTime()-slot.__skipEvent[type]<3000)){delete slot.__skipEvent[type];return;}else{if(ies.indexOf(type)!==-1&&iye(slot)){return}for(var i in srv.__eventProxy[type]){try{srv.__eventProxy[type][i](event)}catch(er){}}}});}else{if(this.__eventProxy[type].indexOf(listener)===-1){this.__eventProxy[type].push(listener);}return srv;}}catch(er){}}return srv.__addEventListener(type,listener);}.bind(srv);srv.addEventListener('slotRequested',function(event){var slot=event.slot;delete slot.__responseInfo;slot.__refreshCount=slot.__refreshCount||0;++slot.__refreshCount;fs(slot,true);});srv.addEventListener('slotRenderEnded',function(event){fs(event.slot,false)});srv.__addEventListener('slotRequested',function(event){var slot=event.slot;try{var e=ge(slot);e.children[0].style.display='none';slot.__hide=1;}catch(er){}});srv.__addEventListener('slotRenderEnded',function(event){var slot = event.slot;if(slot.__hide){try{var e = ge(slot);if(iye(slot)){e.children[0].children[0].style.display='none';}if(e.children[0].style.width&&e.children[0].style['text-align']!=='center'){e.children[0].style.display='inline-block';}else{e.children[0].style.display = '';}}catch(e2){}delete slot.__hide;}});srv.__removeEventListener=srv.removeEventListener;srv.removeEventListener=function removeEventListenerProxy(type,listener){try{var proxy=this.__eventProxy;if(proxy&&proxy[type]){if(proxy[type].indexOf(listener)!==-1){proxy[type].splice(proxy[type].indexOf(listener),1);return true;}else{return false;}}}catch(er){}return srv.__removeEventListener(type,listener);}.bind(srv);});} ybGPTHook(window, [4998674527]); // 4998674527 is intowowNonBillable advertiser id</script><script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.macworld.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.6.2"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); </script> <style id='wp-emoji-styles-inline-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-block-library-css' href='https://www.macworld.com/wp-includes/css/dist/block-library/style.min.css?ver=6.6.2' media='all' /> <style id='wp-block-library-inline-css'> .has-text-align-justify{text-align:justify;} </style> <style id='co-authors-plus-coauthors-style-inline-css'> .wp-block-co-authors-plus-coauthors.is-layout-flow [class*=wp-block-co-authors-plus]{display:inline} </style> <style id='co-authors-plus-avatar-style-inline-css'> .wp-block-co-authors-plus-avatar :where(img){height:auto;max-width:100%;vertical-align:bottom}.wp-block-co-authors-plus-coauthors.is-layout-flow .wp-block-co-authors-plus-avatar :where(img){vertical-align:middle}.wp-block-co-authors-plus-avatar:is(.alignleft,.alignright){display:table}.wp-block-co-authors-plus-avatar.aligncenter{display:table;margin-inline:auto} </style> <style id='co-authors-plus-image-style-inline-css'> .wp-block-co-authors-plus-image{margin-bottom:0}.wp-block-co-authors-plus-image :where(img){height:auto;max-width:100%;vertical-align:bottom}.wp-block-co-authors-plus-coauthors.is-layout-flow .wp-block-co-authors-plus-image :where(img){vertical-align:middle}.wp-block-co-authors-plus-image:is(.alignfull,.alignwide) :where(img){width:100%}.wp-block-co-authors-plus-image:is(.alignleft,.alignright){display:table}.wp-block-co-authors-plus-image.aligncenter{display:table;margin-inline:auto} </style> <style id='global-styles-inline-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='third-party-integrations-style-css' href='https://www.macworld.com/wp-content/client-mu-plugins/idg-third-party/dist/styles/index.css?ver=1731994471' media='all' /> <link rel='stylesheet' id='frontend-shared-styles-css' href='https://www.macworld.com/wp-content/themes/idg-base-theme/dist/styles/shared.css?ver=1731994471' media='all' /> <link rel='stylesheet' id='frontend-styles-css' href='https://www.macworld.com/wp-content/themes/idg-base-theme/dist/styles/bundle.css?ver=1731994471' media='all' /> <link rel='stylesheet' id='macworld-shared-styles-css' href='https://www.macworld.com/wp-content/themes/macworld-com-child-theme/dist/styles/theme.css?ver=1731994471' media='all' /> <script async src="https://rumcdn.geoedge.be/859c0fcb-feae-4616-afed-20011b559baa/grumi-ip.js?ver=1" id="idg_geo_edge_code-js"></script> <script id="third-party-integrations-script-js-extra"> var IDG = {"settings":{"cmp":{"account":{"id":"146","base_endpoint":"https:\/\/cmpv2.macworld.com","href":"https:\/\/macworld.com","is_cp_multi_campaign_enabled":true},"gdpr":{"script":"https:\/\/cmpv2.macworld.com\/unified\/wrapperMessagingWithoutDetection.js","privacy_manager_id":"165662","property_id":"9228","privacy_manager_id_amp":"172450","href_amp":"https:\/\/amp.macworld.com"},"ccpa":{"script":"https:\/\/cmpv2.macworld.com\/ccpa.js","origin":"https:\/\/ccpa-service.sp-prod.net","privacy_manager_id":"902552","privacy_manager_uuid":"5dfa75f712068b42714ed7b8","property_id":"16078","href_amp":"https:\/\/ccpa.amp.macworld.com"}},"gtm":{"account":{"id":"GTM-5JGZ3LH","amp_id":"","ua_number":"UA-870741-1"}},"gpt":{"consent":{"vendor_id":"5e74df5ff443bb795772df9c"},"config":{"prefix":"\/8456\/IDG.US_CSMB_Macworld.com\/","threshold":"0","slots":[{"name":"gpt-leaderboard","template":"banner","disabled":false,"sticky_duration":"12","pos":"ATF","size":"320x50","size_definitions":[{"breakpoint":"970","sizes":"970x250,1400x250,2000x250,980x240,1x2","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"728x90,468x60","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"300x250,300x50,320x50,320x480,320x320","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]},{"name":"gpt-leaderboardmainbod","template":"article","disabled":false,"insert_after_p":"4","insert_after_article":"4","insert_after_article_offset":"8","refresh_interval":"20","refresh_amount":"20","size":"320x50","pos":"BTF{{count}}","size_definitions":[{"breakpoint":"970","sizes":"728x90","min-height":"148","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"300x50,320x50,300x250,320x320,320x480","min-height":"284","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"300x250,300x50,320x50,320x320,320x480","min-height":"284","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}],"insert_after_two_p":true},{"name":"gpt-leaderboardfoot","template":"footer","disabled":false,"size":"300x50","pos":"BTF","size_definitions":[{"breakpoint":"970","sizes":"970x250,728x90","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"728x90,468x60","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"300x250,300x50,320x50","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]},{"name":"gpt-rightrail","template":"right_rail","disabled":false,"size":"120x600","replace_interval":"20","replace_amount":"18","refresh_interval":"20","section":"Sidebardfpatf{{count}}","pos":"ATF1","size_definitions":[{"breakpoint":"970","sizes":"300x250,300x600,160x600,120x600,250x600","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]},{"name":"gpt-welcome","template":"overlay","disabled":false,"size":"640x480","pos":"gpt-welcome","size_definitions":[{"breakpoint":"970","sizes":"640x480","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"640x480","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]},{"name":"gpt-skin","template":"skin","disabled":false,"size":"1x1","pos":"gpt-skin","size_definitions":[{"breakpoint":"970","sizes":"1x1","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]},{"name":"gpt-contenthub-article","template":"gpt-contenthub-article","disabled":false,"pos":"gpt-contenthub","size":"728x90","size_definitions":[{"breakpoint":"970","sizes":"970x56","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"850","sizes":"850x56","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"344","sizes":"344x56","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]},{"name":"gpt_bouncex","template":"bouncex","disabled":false,"size":"1x3","pos":"gpt_bouncex","size_definitions":[{"breakpoint":"970","sizes":"1x3","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"1x3","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"1x3","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]}],"aps_pub_id":"3051"},"adapex":{"is_adapex_enabled":true}},"index_exchange":{"config":{"id":"183980-206117126681438","intowow_code":"function ybGPTHook(w,advIds){if (!advIds||advIds.length===0)return;w.googletag=w.googletag||{cmd:[]};w.googletag.cmd.unshift=function(cb){w.googletag.cmd.splice(1,0,cb)};w.googletag.cmd.push(function(){var ves=['slotRequested','slotResponseReceived','slotRenderEnded','slotOnload','impressionViewable','slotVisibilityChanged'];var ies=ves.slice(1);var srv=w.googletag.pubads();srv.__hook_version=2;srv.setTargeting('in2w_key15','u0');function frc(c){return 'u'+(c<11?c:c<26?'10-':c<51?'25-':c<101?'50-':'100-')}function ge(s){return w.document.getElementById(s.getSlotElementId())}function iye(s){var i=s.__getResponseInformation?s.__getResponseInformation():s.getResponseInformation();return (i&&i.advertiserId&&advIds.indexOf(i.advertiserId)!==-1);}function fs(s,l){try{var e=ge(s);if(l){if(!e.style['min-width']&&!e.style['min-height']){e.style['min-width']=e.offsetWidth+'px';e.style['min-height']=e.offsetHeight+'px';s.__keepSize=1;}}else if(s.__keepSize){e.style['min-width']='';e.style['min-height']='';delete s.__keepSize;}}catch(er){}}srv.__refresh=srv.refresh;srv.refresh=function refreshProxy(slots){var args=[];for(var i in arguments)args.push(arguments[i]);try{if(!slots)slots=this.getSlots();for(var i in slots){var slot=slots[i];slot.setTargeting('in2w_key15', frc(slot.__refreshCount||0));}}catch(er){}srv.__refresh.apply(srv,args);}.bind(srv);srv.__reportEvents=function(type,event){if(srv.__eventProxy && srv.__eventProxy[type]){for(var i in srv.__eventProxy[type]){try{srv.__eventProxy[type][i](event)}catch(er){}}}};srv.__addEventListener=srv.addEventListener;srv.addEventListener=function eventListenerProxy(type,listener){if(ves.indexOf(type)!==-1){try{this.__eventProxy=this.__eventProxy||{};if(!this.__eventProxy[type]){this.__eventProxy[type]=[listener];return srv.__addEventListener(type,function proxy(event){var slot=event.slot;if(slot.__skipEvent&&slot.__skipEvent[type]&&(new Date().getTime()-slot.__skipEvent[type]<3000)){delete slot.__skipEvent[type];return;}else{if(ies.indexOf(type)!==-1&&iye(slot)){return}for(var i in srv.__eventProxy[type]){try{srv.__eventProxy[type][i](event)}catch(er){}}}});}else{if(this.__eventProxy[type].indexOf(listener)===-1){this.__eventProxy[type].push(listener);}return srv;}}catch(er){}}return srv.__addEventListener(type,listener);}.bind(srv);srv.addEventListener('slotRequested',function(event){var slot=event.slot;delete slot.__responseInfo;slot.__refreshCount=slot.__refreshCount||0;++slot.__refreshCount;fs(slot,true);});srv.addEventListener('slotRenderEnded',function(event){fs(event.slot,false)});srv.__addEventListener('slotRequested',function(event){var slot=event.slot;try{var e=ge(slot);e.children[0].style.display='none';slot.__hide=1;}catch(er){}});srv.__addEventListener('slotRenderEnded',function(event){var slot = event.slot;if(slot.__hide){try{var e = ge(slot);if(iye(slot)){e.children[0].children[0].style.display='none';}if(e.children[0].style.width&&e.children[0].style['text-align']!=='center'){e.children[0].style.display='inline-block';}else{e.children[0].style.display = '';}}catch(e2){}delete slot.__hide;}});srv.__removeEventListener=srv.removeEventListener;srv.removeEventListener=function removeEventListenerProxy(type,listener){try{var proxy=this.__eventProxy;if(proxy&&proxy[type]){if(proxy[type].indexOf(listener)!==-1){proxy[type].splice(proxy[type].indexOf(listener),1);return true;}else{return false;}}}catch(er){}return srv.__removeEventListener(type,listener);}.bind(srv);});}\nybGPTHook(window, [4998674527]); \/\/ 4998674527 is intowowNonBillable advertiser id"}},"permutive":{"account":{"workspace_id":"f5b3be27-f789-4ef1-8867-37c67da5b361","api_key":"84c7e805-5ce9-41f4-b988-3529488bab1c"}},"outbrain":{"config":{"script":"","widget_id":"AR_1","amp_widget_ids":"AMP_1","src":"https:\/\/macworld.com"}},"nativo":{"config":{"script":"https:\/\/s.ntv.io\/serve\/load.js","insert_after_p":"18","insert_after_article":"20","insert_after_article_offset":"11"}},"subscribers":{"config":{"id":"ce223ed1-731c-42ea-a371-710bb2897cce","script":"https:\/\/cdn.subscribers.com\/assets\/subscribers.js"}},"jw_player":{"config":{"insert_after_p":"4","insert_after_article":"4","player_library_id":"kAvvfxjt","amp_player_library_id":"wySF9V4I","floating_player_playlist_id":"O6tSMQIo","adscheduleid":"fQeHP23f","floating_player_adscheduleid":"fQeHP23f","description_url":"http:\/\/www.macworld.com","sz":"640x480|640x360","ciu_szs":"300x250,728x90","player_branding":"https:\/\/www.macworld.com\/wp-content\/uploads\/2021\/08\/MW-TV-logo.svg","bidding_partners":[{"vp_bp_name":"MediaGrid","vp_bp_id":"101101","vp_bp_pubid":"cpVDGgDj","jw_json_object":"{\"name\":\"MediaGrid\",\"id\":\"101101\",\"pubid\":\"cpVDGgDj\"}"},{"vp_bp_name":"IndexExchange","vp_bp_id":"808550","vp_bp_pubid":"183980","jw_json_object":"{\"name\":\"IndexExchange\",\"id\":\"808550\",\"pubid\":\"183980\"}"},{"vp_bp_name":"MediaNet","vp_bp_id":"582920176","vp_bp_pubid":"8CU30876H","jw_json_object":"{\"name\":\"MediaNet\",\"id\":\"582920176\",\"pubid\":\"8CU30876H\"}"},{"vp_bp_name":"jwdemand","jw_json_object":"{\"name\":\"jwdemand\",\"siteid\":\"qxSSQPwA\",\"placementId\":\"24399793\",\"publisherId\":\"cpVDGgDj\"}"},{"vp_bp_name":"PubMatic","vp_bp_pubid":"158441","vp_bp_id":"4763523","jw_json_object":"{\"name\":\"PubMatic\",\"pubid\":\"158441\",\"id\":\"4763523\"}"},{"jw_json_object":"{\"name\":\"AppNexus\",\"id\":\"32650150\"}"},{"jw_json_object":"{\"name\":\"Rubicon\",\"pubid\":\"10778\",\"siteId\":\"511844\",\"zoneId\":\"3373940\"}"}],"seconds_bt_ads":40,"jw_size_definitions":[{"name":"970","min_height":"","max_height":""},{"name":"728","min_height":"","max_height":""},{"name":"320","min_height":"","max_height":""}],"floorPriceCents":50,"ads_overrides":{"ads_json_object":""}}},"io_script":{"config":{"id":"5KcvHdQ51r5K","io_amp_id":"44394"}},"tds_phone_price":{"tds-phone-price-settings":{"fr_telecom_portal_token":"076ebc58-8bba-4a93-8a22-40bc9e27c45c","uk_telecom_portal_token":"6fb1fec4-fa7e-4833-a3bf-5e093a83c56d"}},"cp_thirdparty_vendors":[],"geo_edge_setting":{"config":{"enable_geo_edge":1,"geo_edge_key":"859c0fcb-feae-4616-afed-20011b559baa"}},"whistleout_phone_price":{"whistleout-phone-contract-settings":{"au_widget_builder_url":"https:\/\/techadvisor.whistleout.com.au\/MobilePhones","us_widget_builder_url":"https:\/\/techadvisor.whistleout.com\/CellPhones"}},"vendor_list_setting":{"vendor_list":{"infogram_vendor_id":"5fa55b45a9559348c754e36d","whistleout_inc":"64b54e0d68721106bd1c758a","whistleout_pty_ltd":"64b54e1cdba59a06b46c4e77","dutch_selection":"65003f86e5d06c05a059673c","flourish_vendor_id":"5ec7955faf2b474b46b7a09e","podigee_vendor_id":"5e717ad49a0b5040d5750815","taboola_vendor_id":"5e37fc3e56a5e6615502f9c4","facebook_vendor_id":"5e716fc09a0b5040d575080f","twitter_vendor_id":"5e71760b69966540e4554f01","youtube_vendor_id":"5e7ac3fae30e7d1bc1ebf5e8","instagram_vendor_id":"5e717c8e69966540e4554f05","apple_podcast_id":"6662cc7c8f27a504b458c4e6","gleam_vendor_id":"6373cb50134bd404d52b7d1a","tiktok_vendor_id":"5e7f6927b8e05c4e491e7380","giphy_vendor_id":"5eb97863c9a2c12e5cfa5127","reddit_vendor_id":"5e7f6927b8e05c4e491e7381"}},"taboola":{"config":{"taboola_script":"\/\/cdn.taboola.com\/libtrc\/foundry-network\/loader.js","taboola_widget_id":"alternating-thumbnails-a","mode_name":"alternating-thumbnails-stream-macworld","default_position_mid_article":"6","mid_artcile_placements":[{"name":"mid_article","template":"mid_article","size_definitions":[{"breakpoint":"970","insert_after_x_instructional":"6","insert_after_x_informational":"6","insert_after_x_transactional":"6"},{"breakpoint":"728","insert_after_x_instructional":"6","insert_after_x_informational":"6","insert_after_x_transactional":"6"},{"breakpoint":"320","insert_after_x_instructional":"6","insert_after_x_informational":"6","insert_after_x_transactional":"6"}]}]}},"miso":{"miso_placements":{"miso_smart_answers":[{"name":"miso-smart-answers","template":"smart_answers","size_definitions":[{"breakpoint":"970","insert_after_p_instructional":"10","insert_after_p_informational":"10","insert_after_p_transactional":"10"},{"breakpoint":"728","insert_after_p_instructional":"10","insert_after_p_informational":"10","insert_after_p_transactional":"10"},{"breakpoint":"320","insert_after_p_instructional":"10","insert_after_p_informational":"10","insert_after_p_transactional":"10"}]}],"miso_ipp":[{"name":"miso-ipp","template":"ipp","size_definitions":[{"breakpoint":"970","insert_after_p_instructional":"14","insert_after_p_informational":"14","insert_after_p_transactional":"14"},{"breakpoint":"728","insert_after_p_instructional":"14","insert_after_p_informational":"14","insert_after_p_transactional":"14"},{"breakpoint":"320","insert_after_p_instructional":"6","insert_after_p_informational":"6","insert_after_p_transactional":"6"}]}],"default_position_smart_answers":"10","default_position_ipp":"14"}},"miso_deal_details":{"miso_deal_config":{"BUCKET_NAME":"idg-b2c-data.askmiso.com","US_KEY":"techconnect_deals_us_generated_latest.json","UK_KEY":"techconnect_deals_uk_generated_latest.json","REGION":"us-west-2"}},"overlays_privacy_policies":{"consent_overlays":{"english_overlay_message":"<div class=\"external-embed-wrapper hide-overlay-${platform}\"><div class=\"overlay-div\"><h4>External content from ${platformName}<\/h4><p>This article contains external content from ${platformName}. To view the content, we request your permission.<\/p><a class=\"consent-button\" data-cmp=\"${cmp}\" data-callback=\"${callback}\" data-type=\"hide-overlay-${platform}\" href=\"javascript:void(0)\">Show external content from ${platformName}<\/a><p>By clicking on \u201cShow external content from ${platformName}\u201d I agree that the content will be displayed to me. This allows personal data to be transmitted to ${platformName} and other third parties. You can find more information about this in our <a target=\"_blank\" href=\"${foundryPPLink}\">data protection declaration<\/a> and <a target=\"_blank\" href=\"${privacyPolicyLink}\">${platformName}<\/a>\u2019s Privacy Policy.<p><\/div><\/div>","german_overlay_message":"<div class=\"external-embed-wrapper hide-overlay-${platform}\"><div class=\"overlay-div\"><h4>Externer Inhalt von ${platformName}<\/h4><p>An dieser Stelle hat die Redaktion einen zum Inhalt des Artikels passenden externen Inhalt von ${platformName} platziert. Damit dieser angezeigt werden kann, ben\u00f6tigen wir Ihre Zustimmung.<\/p><p><a class=\"consent-button\" data-cmp=\"${cmp}\" data-callback=\"${callback}\" data-type=\"hide-overlay-${platform}\" href=\"javascript:void(0)\" style=\"border: 2px solid black;padding: 5px 10px;color: black;\">Externen Inhalt von ${platformName} anzeigen<\/a><\/p><p>Mit einem Klick auf \"Externe Inhalte von ${platformName} anzeigen\" erkl\u00e4re ich mich damit einverstanden, dass mir der Inhalt angezeigt wird. Dadurch k\u00f6nnen personenbezogene Daten an ${platformName} und andere Drittanbieter \u00fcbermittelt werden. Mehr Informationen dazu finden Sie in unserer <a target=\"_blank\" href=\"${foundryPPLink}\">Datenschutzerkl\u00e4rung<\/a> und unter <a target=\"_blank\" href=\"${privacyPolicyLink}\">${platformName}<\/a>\u2019s.<p><\/div><\/div>","sweden_overlay_message":"<div class=\"external-embed-wrapper hide-overlay-${platform}\"><div class=\"overlay-div\"><h4>Externt inneh\u00e5ll fr\u00e5n ${platformName}<\/h4><p>Den h\u00e4r artikeln inneh\u00e5ller externt inneh\u00e5ll fr\u00e5n ${platformName}. F\u00f6r att se inneh\u00e5llet ber vi om ditt tillst\u00e5nd.<\/p><p><a class=\"consent-button\" data-cmp=\"${cmp}\" data-callback=\"${callback}\" data-type=\"hide-overlay-${platform}\" href=\"javascript:void(0)\" style=\"border: 2px solid black;padding: 5px 10px;color: black;\">Visa externt inneh\u00e5ll fr\u00e5n ${platformName}<\/a><\/p><p>Genom att klicka p\u00e5 \"Visa externt inneh\u00e5ll fr\u00e5n ${platformName}\" godk\u00e4nner jag att inneh\u00e5llet kommer att visas f\u00f6r mig. Detta g\u00f6r att personuppgifter kan \u00f6verf\u00f6ras till ${platformName} och tredje part. Du kan hitta mer information om detta i v\u00e5r <a target=\"_blank\" href=\"${foundryPPLink}\">dataskyddsdeklaration<\/a> and <a target=\"_blank\" href=\"${privacyPolicyLink}\">${platformName}<\/a>\u2019s sekretesspolicy.<p><\/div><\/div>","english_generic_overlay_message":"<div class=\"external-embed-wrapper custom-html-consent-notice-${platform}\"><div class=\"overlay-div\"><h4>Allow External content<\/h4><p>This article contains external content in this section. To view the content, we request your permission.<\/p><a class=\"consent-button-generic\" platform=\"${platform}\" href=\"javascript:void(0)\">Show external content<\/a><p>By clicking on \u201cShow external content\u201d, I agree that the content will be displayed to me. This allows personal data to be transmitted to other third parties. You can find more information about this in our <a target=\"_blank\" href=\"${foundryPPLink}\">data protection declaration<\/a> and the external source\u2019s privacy policy.<p><\/div><\/div>","german_generic_overlay_message":"<div class=\"external-embed-wrapper custom-html-consent-notice-${platform}\"><div class=\"overlay-div\"><h4>Allow External content<\/h4><p>This article contains external content in this section. To view the content, we request your permission.<\/p><a class=\"consent-button-generic\" platform=\"${platform}\" href=\"javascript:void(0)\">Show external content<\/a><p>By clicking on \u201cShow external content\u201d, I agree that the content will be displayed to me. This allows personal data to be transmitted to other third parties. You can find more information about this in our <a target=\"_blank\" href=\"${foundryPPLink}\">data protection declaration<\/a> and the external source\u2019s privacy policy.<p><\/div><\/div>","sweden_generic_overlay_message":"<div class=\"external-embed-wrapper custom-html-consent-notice-${platform}\"><div class=\"overlay-div\"><h4>Allow External content<\/h4><p>This article contains external content in this section. To view the content, we request your permission.<\/p><a class=\"consent-button-generic\" platform=\"${platform}\" href=\"javascript:void(0)\">Show external content<\/a><p>By clicking on \u201cShow external content\u201d, I agree that the content will be displayed to me. This allows personal data to be transmitted to other third parties. You can find more information about this in our <a target=\"_blank\" href=\"${foundryPPLink}\">data protection declaration<\/a> and the external source\u2019s privacy policy.<p><\/div><\/div>"},"foundry_privacy_policies":{"contentpass":"https:\/\/foundryco.com\/about-us\/privacy-compliance\/","gdpr":"https:\/\/foundryco.com\/about-us\/privacy-compliance\/","ccpa":"https:\/\/foundryco.com\/about-us\/privacy-compliance\/"},"instagram_privacy_policies":{"contentpass":"https:\/\/privacycenter.instagram.com\/policy\/version\/25238980265745528\/","gdpr":"https:\/\/privacycenter.instagram.com\/policy\/version\/25238980265745528\/","ccpa":"https:\/\/privacycenter.instagram.com\/policy\/version\/25238980265745528\/"},"facebook_privacy_policies":{"contentpass":"https:\/\/www.facebook.com\/privacy\/policy\/version\/25238980265745528","gdpr":"https:\/\/www.facebook.com\/privacy\/policy\/version\/25238980265745528","ccpa":"https:\/\/www.facebook.com\/privacy\/policy\/version\/25238980265745528"},"twitter_privacy_policies":{"contentpass":"https:\/\/x.com\/de\/privacy","gdpr":"https:\/\/x.com\/en\/privacy","ccpa":"https:\/\/x.com\/en\/privacy"},"toutube_privacy_policies":{"contentpass":"https:\/\/support.google.com\/youtube\/answer\/10364219?hl=de","gdpr":"https:\/\/support.google.com\/youtube\/answer\/10364219?hl=en-GB","ccpa":"https:\/\/support.google.com\/youtube\/answer\/10364219?hl=en-GB"},"tiktok_privacy_policies":{"contentpass":"https:\/\/www.tiktok.com\/legal\/page\/eea\/privacy-policy\/de","gdpr":"https:\/\/www.tiktok.com\/legal\/page\/eea\/privacy-policy\/en","ccpa":"https:\/\/www.tiktok.com\/legal\/page\/us\/privacy-policy\/en"},"gleam_privacy_policies":{"contentpass":"https:\/\/gleam.io\/privacy","gdpr":"https:\/\/gleam.io\/privacy","ccpa":"https:\/\/gleam.io\/privacy"},"infogram_privacy_policies":{"contentpass":"https:\/\/infogram.com\/privacy","gdpr":"https:\/\/infogram.com\/privacy","ccpa":"https:\/\/infogram.com\/privacy"},"apple_podcast_privacy_policies":{"contentpass":"https:\/\/www.apple.com\/legal\/privacy\/data\/de\/apple-podcasts\/","gdpr":"https:\/\/www.apple.com\/legal\/privacy\/data\/en\/apple-podcasts","ccpa":"https:\/\/www.apple.com\/legal\/privacy\/data\/en\/apple-podcasts"},"whistleout_privacy_policies":{"contentpass":"https:\/\/www.whistleout.com\/Privacy","gdpr":"https:\/\/www.whistleout.com\/Privacy","ccpa":"https:\/\/www.whistleout.com\/Privacy"},"dutch_selection_privacy_policies":{"contentpass":"https:\/\/www.thedutchselection.com\/pages\/privacy","gdpr":"https:\/\/www.thedutchselection.com\/pages\/privacy","ccpa":"https:\/\/www.thedutchselection.com\/pages\/privacy"},"flourish_privacy_policies":{"contentpass":"https:\/\/flourish.studio\/privacy\/","gdpr":"https:\/\/flourish.studio\/privacy\/","ccpa":"https:\/\/flourish.studio\/privacy\/"},"jetpack_podcast_player_privacy_policies":{"contentpass":"https:\/\/jetpack.com\/support\/jetpack-blocks\/podcast-player-block\/","gdpr":"https:\/\/jetpack.com\/support\/jetpack-blocks\/podcast-player-block\/","ccpa":"https:\/\/jetpack.com\/support\/jetpack-blocks\/podcast-player-block\/"},"vimeo_privacy_policies":{"contentpass":"https:\/\/vimeo.com\/privacy","gdpr":"https:\/\/vimeo.com\/privacy","ccpa":"https:\/\/vimeo.com\/privacy"},"soundcloud_privacy_policies":{"contentpass":"https:\/\/soundcloud.com\/pages\/privacy","gdpr":"https:\/\/soundcloud.com\/pages\/privacy","ccpa":"https:\/\/soundcloud.com\/pages\/privacy"},"giphy_privacy_policies":{"contentpass":"https:\/\/support.giphy.com\/hc\/en-us\/articles\/360032872931-GIPHY-Privacy-Policy ","gdpr":"https:\/\/support.giphy.com\/hc\/en-us\/articles\/360032872931-GIPHY-Privacy-Policy ","ccpa":"https:\/\/support.giphy.com\/hc\/en-us\/articles\/360032872931-GIPHY-Privacy-Policy "},"reddit_privacy_policies":{"contentpass":"https:\/\/www.reddit.com\/policies\/privacy-policy ","gdpr":"https:\/\/www.reddit.com\/policies\/privacy-policy ","ccpa":"https:\/\/www.reddit.com\/policies\/privacy-policy "},"newsletter_signup_policies":{"contentpass":"https:\/\/www.macworld.com\/about\/privacy","gdpr":"https:\/\/www.macworld.com\/about\/privacy","ccpa":"https:\/\/www.macworld.com\/about\/privacy"}},"editionsJwplayer":{"isEditionEnabled":true,"jwPlayerSettings":{"insert_after_p":"4","insert_after_article":"4","amp_player_library_id":"wySF9V4I","floating_player_playlist_id":"O6tSMQIo","seconds_bt_ads":40}}},"GPT":{"ad_slot_name":"page_door","prefix":"\/8456\/IDG.US_CSMB_Macworld.com\/","targeting":{"articleId":"100000772","author":"","browser":"Mozilla\/4.0(compatible;MSIE7.0;WindowsNT6.0;SLCC1;.NETCLR2.0.50727;.NETCLR3.0.04506;.NETCLR3.5.21022;.NETCLR1.0.3705;.NETCLR1.1.4322)","templateType":"default","categorySlugs":"","tags":"","categoryIds":"","env":null,"productId":"","goldenIds":"","channel":"","fireplace":"false","type":"","typeId":"","sponsored":"false","video-autoplay":"true","manufactuer":"apple","url":"https:\/\/www.macworld.com\/newsletters\/signup","zone":"signup-index-default","wpsponsorshipId":""},"isViaAdapex":true},"geolocation":"SG","suppress_monetization":{"page_ads":true,"content_ads":true,"jwplayer":true,"nativo":true,"outbrain":true},"supressBb2bRightrail":"","products":[],"vendor_pricing":{"amazon":[]},"APS_UNUSED":{"pubID":"3051","scriptURL":"https:\/\/www.macworld.com\/wp-content\/client-mu-plugins\/idg-third-party\/dist\/scripts\/apstag_library.js"},"isB2B":"","isSingle":"","isCPEnabled":"","isEuVisitor":"","vendorList":{"infogram":"5fa55b45a9559348c754e36d","whistleout_inc":"64b54e0d68721106bd1c758a","whistleout_pty_ltd":"64b54e1cdba59a06b46c4e77","dutch_selection":"65003f86e5d06c05a059673c","flourish":"5ec7955faf2b474b46b7a09e","podigee":"5e717ad49a0b5040d5750815","taboola":"5e37fc3e56a5e6615502f9c4","facebook":"5e716fc09a0b5040d575080f","instagram":"5e717c8e69966540e4554f05","youtube":"5e7ac3fae30e7d1bc1ebf5e8","twitter":"5e71760b69966540e4554f01","apple_podcast":"6662cc7c8f27a504b458c4e6","gleam":"6373cb50134bd404d52b7d1a","tiktok":"5e7f6927b8e05c4e491e7380","giphy":"5eb97863c9a2c12e5cfa5127","reddit":"5e7f6927b8e05c4e491e7381"}}; </script> <script id="third-party-integrations-script-js-before"> window.dataLayer = window.dataLayer || []; window.dataLayer.push({"adBlockerEnabled":true,"arenaId":"","audience":"consumer","ccpaOptedOut":"false","environment":"wp_production","sessionNumber":"@TODO","firstSessionDate":"@TODO","lastSessionDate":"@TODO","timestamp":1732563878,"url":"https:\/\/www.macworld.com\/newsletters\/signup","triblioPixelCode":"","isAdapexActive":true,"prodIds":"","prodCategories":"","prodManufacturers":"","prodNames":"","prodVendors":"","categories":"","categoryIds":"","categoriesSlugs":"","channel":"","primaryCategory":"","primaryAncestorCategoryList":"","primaryAncestorCategoryListSlugs":"","ancestorGoldenCategories":"","goldenTaxonomyIdPrimary":"","gtaxPrimaryIdsList":"","gtaxPrimarySlugsList":"","gtaxIdList":"","gtaxList":"","bcGtaxIdList":[],"bcGtaxList":[],"articleId":"100000772","articleTitle":"Sign Up for Macworld Newsletters","articleType":"","isBlog":"false","blogname":"","blogId":"","brandpost":"false","content_type":"signup index","datePublished":"2021-03-02","dateUpdate":"2021-03-02","dateTimePublished":"2021-03-02T10:16:28-08:00","dateTimeUpdate":"2021-03-02T10:16:28-08:00","daysSincePublished":"1364","daysSinceUpdated":"1364","description":"Sign up to Macworld's newsletters for your weekly dose of news, reviews, tips, the very best Apple deals, and all the biggest stories on Macworld.com.","displayType":"signup index","fireplace":"false","pageNumber":"1","page_type":"default","platform":"web","podcastSponsored":"false","property":"macworld","source":"","sponsorName":"","sponsorshipId":"","tags":[],"legacyCmsId":"","language":"English","edition":"en-us","articleLocale":"english us","isInsiderContent":"false","insiderSignedIn":"true","adSuppression":"true","BCUID":"","legacyCmsName":"","idgAppID":{"SITE_TYPE":[{"type":"delivery","site":"macworld.com","sourcecms":"onecms","connectedhub":"b2c","staff":"Macworld Staff","brand":"Macworld"}],"IDG_APP_ID":"2568"}}); // GDPR Stub function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){for(var t,e,o=[],n=window,r=n;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=n.parent}t||(function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))}(); window.__gpp_addFrame=function(e){if(!window.frames[e])if(document.body){var t=document.createElement("iframe");t.style.cssText="display:none",t.name=e,document.body.appendChild(t)}else window.setTimeout(window.__gpp_addFrame,10,e)},window.__gpp_stub=function(){var e=arguments;if(__gpp.queue=__gpp.queue||[],__gpp.events=__gpp.events||[],!e.length||1==e.length&&"queue"==e[0])return __gpp.queue;if(1==e.length&&"events"==e[0])return __gpp.events;var t=e[0],p=e.length>1?e[1]:null,s=e.length>2?e[2]:null;if("ping"===t)p({gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnatv1","8:uscav1","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[],gppString:"",parsedSections:{}},!0);else if("addEventListener"===t){"lastId"in __gpp||(__gpp.lastId=0),__gpp.lastId++;var n=__gpp.lastId;__gpp.events.push({id:n,callback:p,parameter:s}),p({eventName:"listenerRegistered",listenerId:n,data:!0,pingData:{gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnatv1","8:uscav1","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[],gppString:"",parsedSections:{}}},!0)}else if("removeEventListener"===t){for(var a=!1,i=0;i<__gpp.events.length;i++)if(__gpp.events[i].id==s){__gpp.events.splice(i,1),a=!0;break}p({eventName:"listenerRemoved",listenerId:s,data:a,pingData:{gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnatv1","8:uscav1","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[],gppString:"",parsedSections:{}}},!0)}else"hasSection"===t?p(!1,!0):"getSection"===t||"getField"===t?p(null,!0):__gpp.queue.push([].slice.apply(e))},window.__gpp_msghandler=function(e){var t="string"==typeof e.data;try{var p=t?JSON.parse(e.data):e.data}catch(e){p=null}if("object"==typeof p&&null!==p&&"__gppCall"in p){var s=p.__gppCall;window.__gpp(s.command,(function(p,n){var a={__gppReturn:{returnValue:p,success:n,callId:s.callId}};e.source.postMessage(t?JSON.stringify(a):a,"*")}),"parameter"in s?s.parameter:null,"version"in s?s.version:"1.1")}},"__gpp"in window&&"function"==typeof window.__gpp||(window.__gpp=window.__gpp_stub,window.addEventListener("message",window.__gpp_msghandler,!1),window.__gpp_addFrame("__gppLocator")); // CCPA Stub (function () { var e = false; var c = window; var t = document; function r() { if (!c.frames["__uspapiLocator"]) { if (t.body) { var a = t.body; var e = t.createElement("iframe"); e.style.cssText = "display:none"; e.name = "__uspapiLocator"; a.appendChild(e) } else { setTimeout(r, 5) } } } r(); function p() { var a = arguments; __uspapi.a = __uspapi.a || []; if (!a.length) { return __uspapi.a } else if (a[0] === "ping") { a[2]({ gdprAppliesGlobally: e, cmpLoaded: false }, true) } else { __uspapi.a.push([].slice.apply(a)) } } function l(t) { var r = typeof t.data === "string"; try { var a = r ? JSON.parse(t.data) : t.data; if (a.__cmpCall) { var n = a.__cmpCall; c.__uspapi(n.command, n.parameter, function (a, e) { var c = { __cmpReturn: { returnValue: a, success: e, callId: n.callId } }; t.source.postMessage(r ? JSON.stringify(c) : c, "*") }) } } catch (a) { } } if (typeof __uspapi !== "function") { c.__uspapi = p; __uspapi.msgHandler = l; c.addEventListener("message", l, false) } })(); // Google Tag Manager (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5JGZ3LH'); // Permutive Stub !function(n,e,i){if(!n){n=n||{},window.permutive=n,n.q=[],n.config={}||{},n.config.apiKey=e,n.config.environment=n.config.environment||"production";for(var o=["addon","identify","track","trigger","query","segment","segments","ready","on","once","user","consent"],r=0;r<o.length;r++){var t=o[r];n[t]=function(e){return function(){var i=Array.prototype.slice.call(arguments,0);n.q.push({functionName:e,arguments:i})}}(t)}}}( window.permutive, '84c7e805-5ce9-41f4-b988-3529488bab1c' ); window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.googletag.cmd.push(function(){if(0===window.googletag.pubads().getTargeting("permutive").length){var g=window.localStorage.getItem("_pdfps");window.googletag.pubads().setTargeting("permutive",g?JSON.parse(g):[])}}); let categorySlug = ''; const stripOutIllegal = s => s.replace(/[~'"=!+#;^()<>&[]]/g,''); window.ntvConfig = window.ntvConfig || {} ; window.ntvConfig.keyValues = window.ntvConfig.keyValues || {}; const segs = localStorage.getItem('_pnativo'); if (segs) { window.ntvConfig.keyValues.permutive = JSON.parse(segs).join(","); } const metaKeywordsTag = document.querySelector("meta[name='keywords']"); if ( metaKeywordsTag && (metaKeywordsTag.hasAttribute('content')) ) { const kwds = metaKeywordsTag.content.split(',').filter(kw => kw.length <= 40); window.ntvConfig.keyValues.contextual = stripOutIllegal(kwds.join(',')); } [categorySlug].forEach(function(val) { if (val.length !== 0) { window.ntvConfig.keyValues.channel = stripOutIllegal(val); } }); if (typeof(window.ntvConfig.keyValues.channel) === "undefined") { window.ntvConfig.keyValues.channel = ""; } </script> <script> window._io_config = window?._io_config || {}; window._io_config["0.2.0"] = window?._io_config["0.2.0"] || []; window._io_config["0.2.0"].push({"page_url":"https:\/\/www.macworld.com\/newsletters\/signup","page_url_canonical":"https:\/\/www.macworld.com\/newsletters\/signup","page_title":"Sign Up for Macworld Newsletters","page_type":"default","page_language":"en","language_type":"English"}); var defaultEditionObj = {"defaultEdition":"en-us","editionConfig":{"editions_supported":{"is_editions_supported":true,"country_mapping_json":"{\n\"US\":\"en-us\",\n\"GB\":\"en-gb\"\n}"},"language_supported":{"is_language_supported":true,"default_language_edition":{"en":"en-us","es":""},"edition_hreflang_suffix":{"en-gb":"gb","en-us":"us","es-es":""}},"active_editions_field":{"active_editions":["en-gb","en-us"]},"default_edition_field":{"default_edition":"en-us"},"active_Languages_field":{"active_Languages":["en"]}},"browserLanguage":"en","currentEdition":"en-us","pageSlug":"en-us","ajaxurl":"https:\/\/www.macworld.com\/wp-admin\/admin-ajax.php","nonce":"3bc01c3473","isBrandpostPage":false}; </script> <script src="https://www.macworld.com/wp-content/client-mu-plugins/idg-third-party/dist/scripts/index.js?ver=1731994471" id="third-party-integrations-script-js"></script> <script type="text/javascript" src="https://www.macworld.com/wp-content/client-mu-plugins/idg-third-party/dist/scripts/prebid-ads.js?m=1731994471g" ></script><script async src="https://cdn.onthe.io/io.js/5KcvHdQ51r5K?ver=1" id="io_script_code-js"></script> <script type="text/javascript" src="https://www.macworld.com/_static/??-eJzTLy/QzcxLzilNSS3WzwKiwtLUokoopZebmaeXVayjj0+Rbm5melFiSSpUsX2uraG5sZGRgZmBgWUWAK8zIhY=" ></script> <script type="text/javascript"> window.blocksForConsent = { "instagram": { "platform": "instagram", "platformName": "Instagram.com", "selector": ".wp-block-embed-instagram", "privacyPolicyLink": 'instagram_privacy_policies', "callback": "instagramCallback()" }, "facebook": { "platform": "facebook", "platformName": "Facebook.com", "selector": ".embed_url_facebook", "privacyPolicyLink": 'facebook_privacy_policies', "callback": "loadFacebookEmbed()" }, "twitter": { "platform": "twitter", "platformName": "Twitter.com", "selector": ".wp-block-embed-twitter", "privacyPolicyLink": 'twitter_privacy_policies', "callback": "twitterCallback()" }, "youtube": { "platform": "youtube", "platformName": "Youtube.com", "selector": ".wp-block-embed-youtube", "privacyPolicyLink": 'toutube_privacy_policies', "callback": "youtubeCallback()" }, "tiktok": { "platform": "tiktok", "platformName": "Tiktok.com", "selector": ".wp-block-embed-tiktok", "privacyPolicyLink": 'tiktok_privacy_policies', "callback": "tiktokCallback()" }, "gleam": { "platform": "gleam", "platformName": "Gleam.io", "selector": ".gleam_embed", "privacyPolicyLink": 'gleam_privacy_policies', "callback": "gleamCallback()" }, "infogram": { "platform": "infogram", "platformName": "Infogram.com", "selector": ".infogram-embed", "privacyPolicyLink": 'infogram_privacy_policies', "callback": "infogramCallback()" }, "applepodcast": { "platform": "apple", "platformName": "Apple.com", "selector": ".apple_podcasts iframe", "privacyPolicyLink": 'apple_podcast_privacy_policies', "callback": "loadApplePodcastplayer()" }, "whistleout": { "platform": "whistleout", "platformName": "Whistleout.com", "selector": ".whistleout_placeholder", "privacyPolicyLink": 'whistleout_privacy_policies', "callback": "whistleoutCallback()" }, "dutchselection": { "platform": "dutchselection", "platformName": "Thedutchselection.com", "selector": "#tds-widget", "privacyPolicyLink": 'dutch_selection_privacy_policies', "callback": "loadDutchBlockConfig()" }, "flourish": { "platform": "flourish", "platformName": "Flourish.studio", "selector": ".flourish-chart", "privacyPolicyLink": 'flourish_privacy_policies', "callback": "flourishCallback()" }, "jetpackpodcastplayer": { "platform": "jetpack", "platformName": "Jetpack.com", "selector": ".wp-block-jetpack-podcast-player", "privacyPolicyLink": 'jetpack_podcast_player_privacy_policies', "callback": "loadPodcastplayer()" }, "vimeo": { "platform": "vimeo", "platformName": "Vimeo.com", "selector": ".wp-block-embed-vimeo", "privacyPolicyLink": 'vimeo_privacy_policies', "callback": "vimeoCallback()" }, "soundcloud": { "platform": "soundcloud", "platformName": "Soundcloud.com", "selector": ".wp-block-embed-soundcloud", "privacyPolicyLink": 'soundcloud_privacy_policies', "callback": "soundcloudCallback()" }, "giphy": { "platform": "giphy", "platformName": "Giphy.com", "selector": ".wp-block-jetpack-gif", "privacyPolicyLink": 'giphy_privacy_policies', "callback": "giphyCallback()" }, "reddit": { "platform": "reddit", "platformName": "Reddit.com", "selector": ".wp-block-embed-reddit", "privacyPolicyLink": 'reddit_privacy_policies', "callback": "redditCallback()" }, "newsletterSignup": { "platform": "newsletterSignup", "platformName": "Newsletter Signup", "selector": "#newslettersignup", "privacyPolicyLink": 'newsletter_signup_policies', "callback": "newsletterCallback()" } }; function getOverlayMessage(platform, platformName, privacyPolicyLink, foundryPPLink, callback, cmpType) { let customHTMLTextOverlay = window?.IDG?.settings?.overlays_privacy_policies?.consent_overlays?.english_overlay_message ?? ''; customHTMLTextOverlay = customHTMLTextOverlay.replace(/\$\{platformName\}/g, platformName).replace(/\$\{privacyPolicyLink\}/g, privacyPolicyLink).replace(/\$\{foundryPPLink\}/g, foundryPPLink).replace(/\$\{platform\}/g, platform).replace(/\$\{callback\}/g, callback).replace(/\$\{cmp\}/g, cmpType); return customHTMLTextOverlay; } function setOverlayCookie(name, value, days) { let expires = ""; if (days) { const date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } function getOverlayCookie(name) { const nameEQ = name + "="; const ca = document.cookie.split(';'); for(let i = 0; i < ca.length; i++) { let c = ca[i]; while (c.charAt(0) === ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); } return null; } function renderOverlay(element, platform, platformName, ppLink, foundryPPLink, callback, cmpType) { const cookieName = `hide-overlay-${platform}`; const consentGiven = getOverlayCookie(cookieName); if (consentGiven !== 'true') { const overlayNextExists = jQuery(element).next(`.${cookieName}`).length > 0; const overlayPrevExists = jQuery(element).prev(`.${cookieName}`).length > 0; if (!overlayNextExists && !overlayPrevExists) { const textOverlay = getOverlayMessage(platform, platformName, ppLink, foundryPPLink, callback, cmpType); jQuery(textOverlay).insertAfter(element); jQuery(element).hide(); } } else { jQuery(element).show(); console.log(callback); eval(callback); const src = element.getAttribute('src'); const dataSrc = element.getAttribute('data-src'); if (src === "" && dataSrc) { element.setAttribute('src', dataSrc); // Move data-src to src } } } function showOverlays(cmpType) { const blocksForConsent = window?.blocksForConsent ?? []; Object.entries(blocksForConsent).forEach(function([key, value]) { const { platform, platformName, selector, privacyPolicyLink, callback } = value; const elements = document.querySelectorAll(`${selector}`); // selector for iframes and scripts within 'legacy_content' for the custom blcok. const legacySelector = `.legacy_content iframe[data-src*="${platform}"], .legacy_content script[src*="${platform}"], .legacy_content script[data-src*="${platform}"], .legacy_content blockquote[class*="${platform}"]`; // Select all iframes and scripts within the div with class 'legacy_content' that match the dynamic selectors. const legacyElements = document.querySelectorAll(legacySelector); const ppLink = window?.IDG?.settings?.overlays_privacy_policies?.[privacyPolicyLink]?.[cmpType]; const foundryPPLink = window?.IDG?.settings?.overlays_privacy_policies?.foundry_privacy_policies?.[cmpType]; if (elements.length > 0) { elements.forEach(function(element) { renderOverlay(element, platform, platformName, ppLink, foundryPPLink, callback, cmpType) }); } if (legacyElements.length > 0) { legacyElements.forEach(function(element) { renderOverlay(element, platform, platformName, ppLink, foundryPPLink, `renderCustomBlockInLegacyContent('${platform}', '${callback}')`, cmpType); }); } }); } </script> <script type="text/javascript"> /** * Load Infogram-block if user accepted consent */ function infogramCallback() { ! function(e, i, n, s) { var t = "InfogramEmbeds",d = e.getElementsByTagName("script")[0]; if (window[t] && window[t].initialized) window[t].process && window[t].process(); else if (!e.getElementById(n)) { var o = e.createElement("script"); o.async = 1, o.id = n, o.src = "https://e.infogram.com/js/dist/embed-loader-min.js", d.parentNode.insertBefore(o, d) } }(document, 0, "infogram-async"); } /** * Display Whistleout-block if user accepted consent */ function whistleoutCallback() { /* Get the placeholder element */ const whistleout_script_placeholder = document.querySelectorAll(".whistleout_placeholder"); /* get the tariffux-id dataset attribute from the placeholder element */ if( whistleout_script_placeholder ){ whistleout_script_placeholder.forEach(box => { /** * Load whistleout script here **/ let whistleout_script = document.createElement('script'); let whistleoutAuId = box.dataset.whistleoutauid; let whistleoutUsId = box.dataset.whistleoutusid; let getLocation = window?.IDG?.geolocation; if( 'AU' == getLocation && undefined !== whistleoutAuId && '' !== whistleoutAuId ){ whistleout_script.src = "https://www.whistleout.com/Widgets/Geo/Embed"; whistleout_script.async = true; whistleout_script.type = "text/javascript"; /** * Replace xxx here with the right embed-id set by the editor **/ whistleout_script.setAttribute('data-au', 'https://www.whistleout.com.au/Widgets/MobilePhoneSearch/Embed/'+whistleoutAuId); } if( 'US' == getLocation && undefined !== whistleoutUsId && '' !== whistleoutUsId ){ whistleout_script.src = "https://www.whistleout.com/Widgets/Geo/Embed"; whistleout_script.async = true; whistleout_script.type = "text/javascript"; /** * Replace xxx here with the right embed-id set by the editor **/ whistleout_script.setAttribute('data-us', 'https://www.whistleout.com/Widgets/MobilePhoneSearch/Embed/'+whistleoutUsId); } box.appendChild(whistleout_script) }) } } /** * Script for Dutch Selection block. **/ var tdsPcInpageConfig = tdsPcInpageConfig || {}; function loadDutchBlockConfig() { if( tdsPcInpageConfig['widget']!==undefined ) { console.log('tdsPcInpageConfig=',tdsPcInpageConfig); var dutchSelectionScript = document.createElement('script'); dutchSelectionScript.async = true; dutchSelectionScript.src = 'https://pcf.tdscd.com/pc-inpage.js'; document.body.appendChild(dutchSelectionScript); } } /** * Load Flourish-block if user accepted consent **/ function flourishCallback() { /* wait until window.visitorConsentedAll is set */ /* Get the placeholder element */ const flourish_script_placeholder = document.querySelectorAll(".flourish-chart"); /* get the tariffux-id dataset attribute from the placeholder element */ if( flourish_script_placeholder ){ flourish_script_placeholder.forEach(box => { let flourish_id = box.dataset.src; if( flourish_id !== undefined ) { /* create a new script */ let flourish_script = document.createElement("script"); flourish_script.type = "text/javascript"; /* create the script-id by concatenating 'twl-mobile-' with the dynamic id */ flourish_script.async = true; flourish_script.src = 'https://public.flourish.studio/resources/embed.js'; /* add the script as a child element of the placeholder div */ box.appendChild(flourish_script) } }) } } /** * Load podcast player if user accepted consent **/ function iframeLoaded( podcastIframe ) { if( podcastIframe ) { const height = podcastIframe.contentWindow.document.body.scrollHeight + 'px'; podcastIframe.style.height = height; } } function loadPodcastplayer(){ const podcastElements = document.querySelectorAll('.wp-block-jetpack-podcast-player'); if( podcastElements ){ let count = 1; Array.from(podcastElements).map(function(element) { if (!element.querySelector('iframe')) { let postId = element.getAttribute('post_id'); let podcastIframe = document.createElement("iframe"); const siteUrl = document.location.origin; podcastIframe.src = siteUrl+"/podcast-player?id="+postId+"&position="+count+'&_ajaxnonce=6333e743e9'; podcastIframe.width = "100%"; podcastIframe.frameBorder ="0"; podcastIframe.scrolling = "0"; podcastIframe.style.border= "none"; podcastIframe.scrolling = "no"; element.appendChild(podcastIframe); podcastIframe.onload = function() { setTimeout( function() { iframeLoaded( podcastIframe ); }, 1000); }; count++; } }); } } document.addEventListener("DOMContentLoaded", () => { document.querySelectorAll('.wp-block-embed-instagram').forEach(function(element) { element.style.display = 'none'; }); }); function instagramCallback(){ const instagramBlocks = document.querySelectorAll('.wp-block-embed-instagram'); if (instagramBlocks.length > 0) { let scriptInstaSrc = null; instagramBlocks.forEach(block => { const oldInstaScript = block.querySelector('script'); if (oldInstaScript) { if (!scriptInstaSrc) { scriptInstaSrc = oldInstaScript.getAttribute('data-src'); } oldInstaScript.remove(); } block.style.display = 'initial'; }); if (scriptInstaSrc) { const instagramScript = document.createElement('script'); instagramScript.async = true; instagramScript.src = scriptInstaSrc; document.getElementsByTagName('head')[0].appendChild(instagramScript); } } const instaBlocks = document.querySelectorAll('.legacy_content blockquote[class*="instagram"]'); if( instaBlocks ) { let instaScript = document.createElement("script"); instaScript.type = "text/javascript"; instaScript.async = true; instaScript.src = '//www.instagram.com/embed.js'; document.body.appendChild(instaScript); } } document.addEventListener("DOMContentLoaded", () => { document.querySelectorAll('.wp-block-embed-twitter').forEach(function(element) { element.style.display = 'none'; }); }); function twitterCallback(){ const twitterBlocks = document.querySelectorAll('.wp-block-embed-twitter'); if (twitterBlocks.length > 0) { let scriptSrc = null; twitterBlocks.forEach(block => { const oldScript = block.querySelector('script'); if (oldScript) { if (!scriptSrc) { scriptSrc = oldScript.getAttribute('data-src'); } oldScript.remove(); } block.style.display = 'initial'; }); if (scriptSrc) { const twitterScript = document.createElement('script'); twitterScript.async = true; twitterScript.src = scriptSrc; twitterScript.charset = "utf-8"; document.getElementsByTagName('head')[0].appendChild(twitterScript); } } const twittBlocks = document.querySelectorAll('.legacy_content blockquote[class*="twitter"]'); if( twittBlocks ) { let twittScript = document.createElement("script"); twittScript.type = "text/javascript"; twittScript.async = true; twittScript.src = '//platform.twitter.com/widgets.js'; document.body.appendChild(twittScript); } } /** * Load Apple podcast-block if user accepted consent **/ function loadApplePodcastplayer(){ const applePodcastElements = document.querySelectorAll('.apple_podcasts iframe'); if( applePodcastElements ){ Array.from(applePodcastElements).map(function(element) { const dataSrc = element.getAttribute('data-url'); const dataHeight = element.getAttribute('data-height'); element.src = dataSrc; element.height = dataHeight; }); } } /** * Load custom HTML block if user accepted consent */ function customHTMLCallback() { jQuery('.legacy_content iframe, .legacy_content script, .legacy_content img').each(function(index, element) { const dataSrc = jQuery(element).attr('data-src'); if(dataSrc) { if( element.nodeName.toLowerCase() === 'script' ) { let genericScript = document.createElement("script"); genericScript.type = "text/javascript"; genericScript.async = true; genericScript.src = dataSrc; element.parentNode.insertBefore(genericScript, element); element.remove(); } else { jQuery(element).attr('src', jQuery(element).attr('data-src')); } jQuery(element).show(); } }); jQuery("[class*='custom-html-consent-notice-']").hide(); } function loadTaboola() { window._taboola = window._taboola || []; _taboola.push({article:'auto'}); !function (e, f, u, i) { if ( !document.getElementById(i)) { e.async = 1; e.src = u; e.id = i; f.parentNode.insertBefore(e, f); } } ( document.createElement('script'), document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/foundry-network/loader.js' ,'tb_loader_script' ); if(window.performance && typeof window.performance.mark == 'function') { window.performance.mark('tbl_ic'); } } function renderCustomBlockInLegacyContent(selector, callback) { const legacySelector = `.legacy_content iframe[data-src*="${selector}"], .legacy_content script[src*="${selector}"], .legacy_content script[data-src*="${selector}"], .legacy_content blockquote[class*="${selector}"], .legacy_content img[data-src*="${selector}"]`; jQuery(legacySelector).each(function(index, element) { if( element.nodeName.toLowerCase() === 'script' ) { let genericScript = document.createElement("script"); genericScript.type = "text/javascript"; genericScript.async = true; genericScript.src = jQuery(element).attr('data-src'); element.parentNode.insertBefore(genericScript, element); element.remove(); } else { jQuery(element).attr('src', jQuery(element).attr('data-src')); } jQuery(element).show(); }); eval(callback); } /** * Load google Recaptcha JS and Keys if user accepted consent. */ function newsletterCallback(){ const newsletterTemplate = document.getElementById("newslettersignup"); if(newsletterTemplate){ var reCaptpchaGoogleScript = document.createElement('script'); reCaptpchaGoogleScript.src = 'https://www.google.com/recaptcha/api.js?render=6Lcpg5woAAAAAC6mlZsgRDBDLrpkwIBUEUTjCanh'; reCaptpchaGoogleScript.async = true; document.getElementsByTagName('head')[0].appendChild(reCaptpchaGoogleScript); var reCaptchaKey = document.createElement('script'); reCaptchaKey.type = 'text/javascript'; reCaptchaKey.innerHTML = "var recaptcha_site_key = '6Lcpg5woAAAAAC6mlZsgRDBDLrpkwIBUEUTjCanh';"; document.getElementsByTagName('head')[0].appendChild(reCaptchaKey); const newsletterTemplate = document.getElementById("newslettersignup"); const cookieName = `hide-overlay-newsletterSignup`; const consentGiven = getOverlayCookie(cookieName); if (consentGiven === 'true') { document.getElementById("consent_validation").value = true; } } } /** * Load google Recaptcha JS and Keys if user accepted consent. */ function newsletterCallback(){ const newsletterTemplate = document.getElementById("newslettersignup"); if(newsletterTemplate){ var reCaptpchaGoogleScript = document.createElement('script'); reCaptpchaGoogleScript.src = 'https://www.google.com/recaptcha/api.js?render=6Lcpg5woAAAAAC6mlZsgRDBDLrpkwIBUEUTjCanh'; reCaptpchaGoogleScript.async = true; document.getElementsByTagName('head')[0].appendChild(reCaptpchaGoogleScript); var reCaptchaKey = document.createElement('script'); reCaptchaKey.type = 'text/javascript'; reCaptchaKey.innerHTML = "var recaptcha_site_key = '6Lcpg5woAAAAAC6mlZsgRDBDLrpkwIBUEUTjCanh';"; document.getElementsByTagName('head')[0].appendChild(reCaptchaKey); const newsletterTemplate = document.getElementById("newslettersignup"); const cookieName = `hide-overlay-newsletterSignup`; const consentGiven = getOverlayCookie(cookieName); if (consentGiven === 'true') { document.getElementById("consent_validation").value = true; } } } // __tcfapi call event. __tcfapi('addEventListener', 2, function(tcData, success) { if ( success && (tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete') ) { console.log('###### tcData.eventStatu infogram ', tcData.eventStatus ); /** * GDPR Case **/ if(tcData.gdprApplies) { /** * Use getCustomVendorConsents to get all the vendor information we need to check * if consent was given for the vendor and associated purposes. **/ __tcfapi('getCustomVendorConsents', 2, function(vendorConsents, success) { /** * If this fails for some reason, log to the console and do nothing **/ if(!success) { console.warn('Error getting custom vendor consents.'); }; if(success) { /** * Split up the vendorConsents callback return values into manageable variables **/ consentedPurposes = vendorConsents.consentedPurposes || []; consentedCustomVendors = vendorConsents.consentedVendors || []; vendorGrants = vendorConsents.grants; allConsented = vendorConsents.consentedAll; /** * Set up the checkConsent function to use for checking * individual vendor consents via their Sourcepoint Vendor-ID **/ var checkConsent = function(vendorId) { /** * Always start with the assumption that consent is not given by default **/ var consentGiven = false; /** * Check if the vendorId is found in vendorGrants from the vendorConsents.grants * callback variable of getCustomVendorConsents **/ if(vendorId in vendorGrants) { /** * Get vendorGrants via vendorId **/ var vendor = vendorGrants[vendorId]; /** * Now we can use the associated vendor to get the vendorGrant information. * If the vendor has grants, consentGiven will be true, otherwise this will * be set to false. **/ consentGiven = vendor.vendorGrant; /** * Check if we already have consent at this point **/ if(consentGiven) { /** * If we reach this, we know the vendor is not turned off, * but we double check all the vendors associated purposes * to be absolutely sure. **/ for(var purposeID in vendor.purposeGrants) { /** * While iterating all vendor associated purposes, * set this to true or false for each purpose **/ consentGiven = vendor.purposeGrants; /** * If this is set to false at any point in the purpose iteration, * we can exit out because at least one of the purposes has no * explicit consent given by the visitor **/ if(!consentGiven) { /** * Log to the console for easy debugging **/ console.warn('Purpose-consent for purpose', purposeID, 'for vendor', vendorId, 'is', consentGiven); /** * Exit the loop **/ break; }; }; }; /** * If we passed both checks above, return the current value of consentGiven **/ console.log('Vendor', vendorId, 'has vendorGrant.'); return consentGiven; }; /** * Fallback case if vendor is not in vendor list and/or not found in vendorGrants * Just default to assuming consent is not given since we cannot explicitly check. **/ console.log('Vendor', vendorId, 'was not found in vendorGrants. Assume no consent.'); return false; }; /** * Now we can use the checkConsent function to check individual vendors via their vendorId **/ const whistleout_inc = window?.IDG?.vendorList?.whistleout_inc || ''; const whistleout_pty_ltd = window?.IDG?.vendorList?.whistleout_pty_ltd || ''; /** * For whistleout, we should check consent for both whistleout_inc and whistleout_pty_ltd * before loading the script **/ if( checkConsent(whistleout_inc) && whistleout_inc !== '' && checkConsent(whistleout_pty_ltd) && whistleout_pty_ltd !== '' ) { console.log('Consent given for vendor whistleout_inc', whistleout_inc, ' and whistleout_pty_ltd', whistleout_pty_ltd,'. Script can now be loaded'); /** * Display whistleout block here **/ setTimeout(whistleoutCallback, 0); } /** * Store Sourcepoint vendorIds here to use for individual checks **/ const infogram = window?.IDG?.vendorList?.infogram || ''; /** * Now we can use the checkConsent function together with the vendorIds to check * each vendor and load the script when consent is given **/ if( infogram !== '' && checkConsent(infogram) ) { console.log('Consent given for vendor infogram', infogram, '. Script can now be loaded'); setTimeout(infogramCallback, 0); }; /*** * Dutch selection block. **/ const dutchSelectionBlock = window?.IDG?.vendorList?.dutch_selection || ''; if( dutchSelectionBlock !== '' && checkConsent(dutchSelectionBlock) ) { console.log('Consent given for vendor dutchblock', dutchSelectionBlock, '. Script can now be loaded'); setTimeout(loadDutchBlockConfig, 0); }; /*** * Flourish block. **/ const flourish = window?.IDG?.vendorList?.flourish || ''; if( flourish !== '' && checkConsent(flourish) ) { console.log('Consent given for vendor flourish block', flourish, '. Script can now be loaded'); setTimeout(flourishCallback, 0); } /*** * Jetpack podcast player. **/ const podigee = window?.IDG?.vendorList?.podigee || ''; if( podigee !== '' && checkConsent(podigee) ) { console.log('Consent given for vendor podcast player block', podigee, '. Script can now be loaded'); setTimeout(loadPodcastplayer, 0); } const instagram = window?.IDG?.vendorList?.instagram || ''; if( instagram !== '' && checkConsent(instagram) ) { console.log('Consent given for vendor instagram', instagram, '. Script can now be loaded'); setTimeout(instagramCallback, 0); } const twitter = window?.IDG?.vendorList?.twitter || ''; if( twitter !== '' && checkConsent(twitter) ) { console.log('Consent given for vendor Twitter', twitter, '. Script can now be loaded'); setTimeout(twitterCallback, 0); } /** * Display Apple Podcasts. **/ const apple_podcast = window?.IDG?.vendorList?.apple_podcast || ''; if( apple_podcast !== '' && checkConsent(apple_podcast) ) { console.log('Consent given for vendor Apple podcast block', apple_podcast, '. Script can now be loaded'); setTimeout(loadApplePodcastplayer, 0); } /*** * consent given then render custom html blocks. **/ if(vendorConsents.consentedAll) { setTimeout(customHTMLCallback, 0); } /*** * Taboola. **/ const taboola = window?.IDG?.vendorList?.taboola || ''; if( taboola !== '' && checkConsent(taboola) ) { console.log('Consent given for Taboola', taboola, '. Script can now be loaded'); setTimeout(loadTaboola, 0); } /*** * Displaying overlays when Reject all is clicked. **/ if( ! allConsented) { showOverlays('gdpr'); } /*** * consent given then render custom html blocks. **/ if(vendorConsents.consentedAll) { setTimeout(customHTMLCallback, 0); setTimeout(newsletterCallback, 0); } } }); }; /** * Non-GDPR Case **/ if(!tcData.gdprApplies) { /** * GDPR does not apply so check for CCPA **/ __uspapi('getCustomVendorRejects', 2, function(consent, USPDataSuccess) { /** * Log if this fails for some reason, should rarely ever happen **/ if(!USPDataSuccess) { console.error('Error getting __uspapi custom vendor rejects.'); }; /** * Check if CCPA applies, stored inside the consent variable of the callback **/ if(USPDataSuccess) { /** * Handle CCPA opt out check if it applies **/ if(consent.ccpaApplies) { /** * Get US Privacy Data **/ __uspapi('getUSPData', 2, function(uspData, success) { /** * Log if this fails for some reason, should rarely ever happen **/ if(!success) { console.error('Error in getUSPData'); } /** * The opt out information is stored in the uspString * see IAB documentation: * https://github.com/InteractiveAdvertisingBureau/USPrivacy/blob/master/CCPA/USP%20API.md#getuspdata **/ var uspString = uspData.uspString; var uspArray = uspString.split(''); var ccpaOptOut = (uspArray[2] === 'Y'); /** * Visitor has actively opted out, so we do not fire the script(s) **/ if(ccpaOptOut) { console.log('Visitor has opted out via CCPA.'); showOverlays('ccpa'); } if(!ccpaOptOut) { /** * Visitor has not opted out so we can load our script(s) here for the CCPA case **/ setTimeout(infogramCallback, 0); console.log('CCPA and no opt out. Loading scripts'); /** * Display whistleout block here **/ setTimeout(whistleoutCallback, 0); /** * Display DutchBlcok **/ setTimeout(loadDutchBlockConfig, 0); /** * Display FlourishBlock **/ setTimeout(flourishCallback, 0); /** * Display Podcast player jetpack. **/ setTimeout(loadPodcastplayer, 0); setTimeout(instagramCallback, 0); setTimeout(twitterCallback, 0); /** * Display Apple Podcasts. **/ setTimeout(loadApplePodcastplayer, 0); /*** * consent given then render custom html blocks. **/ setTimeout(customHTMLCallback, 0); /** * Display Taboola. **/ setTimeout(loadTaboola, 0); setTimeout(newsletterCallback, 0); } }); } /** * If we reach this point, we have checked for GDPR and CCPA applies * and both cases were false so no consent checks are required and * we can load the script(s) **/ if(!consent.ccpaApplies) { setTimeout(infogramCallback, 0); console.log('No consent required. Loading scripts'); /** * Display whistleout block here **/ setTimeout(whistleoutCallback, 0); /** * Display DutchBlcok **/ setTimeout(loadDutchBlockConfig, 0); /** * Display FlourishBlock **/ setTimeout(flourishCallback, 0); /** * Display Podcast player jetpack. **/ setTimeout(loadPodcastplayer, 0); setTimeout(instagramCallback, 0); setTimeout(twitterCallback, 0); /** * Display Apple Podcasts. **/ setTimeout(loadApplePodcastplayer, 0); /*** * consent given then render custom html blocks. **/ setTimeout(customHTMLCallback, 0); /** * Display Taboola. **/ setTimeout(loadTaboola, 0); setTimeout(newsletterCallback, 0); } } }); } else { console.log('###### GDPR applied tcData.eventStatus ', tcData.eventStatus ); } /** * Remove the event listener after it has fired once per page * to avoid loading the script(s) multiple times **/ __tcfapi('removeEventListener', 2, function(success) { if (success) { console.log('Removing event listener gdpr consent', tcData.listenerId) } }, tcData.listenerId); } }); </script> <script> const isCPEnabled = window.IDG?.isCPEnabled; const isEuVisitor = window.IDG?.isEuVisitor; __tcfapi("addEventListener", 2, function(tcData, success) { if (success && (tcData.eventStatus === "tcloaded" || tcData.eventStatus === "useractioncomplete")) { if(isCPEnabled && isEuVisitor){ var cpvisitor = setInterval( function() { if (window.visitorConsentedAll) { document.getElementById("consent_validation").value = true; } else { document.getElementById("consent_validation").value = false; } clearInterval(cpvisitor); }); } else { /** * GDPR Case **/ if(tcData.gdprApplies) { __tcfapi('getCustomVendorConsents', 2, function(vendorConsents, success) { if(success) { var consentedAll = vendorConsents.consentedAll; console.log("In Newsletter signup: "+consentedAll); var cmpInterval = setInterval( function() { document.getElementById("consent_validation").value = consentedAll; clearInterval(cmpInterval); }); } }); } /** * Non-GDPR Case **/ if(!tcData.gdprApplies) { /** * GDPR does not apply so check for CCPA **/ __uspapi('getCustomVendorRejects', 2, function(consent, USPDataSuccess) { /** * Check if CCPA applies, stored inside the consent variable of the callback **/ if(USPDataSuccess) { /** * Handle CCPA opt out check if it applies **/ if(consent.ccpaApplies) { /** * Get US Privacy Data **/ __uspapi('getUSPData', 2, function(uspData, success) { var uspString = uspData.uspString; var uspArray = uspString.split(''); var ccpaOptOut = (uspArray[2] === 'Y'); /** * Visitor has actively opted out, so we do not fire the script(s) **/ if(ccpaOptOut) { console.log('Visitor has opted out via CCPA.') } if(!ccpaOptOut) { document.getElementById("consent_validation").value = true; } }); } /** * If we reach this point, we have checked for GDPR and CCPA applies * and both cases were false so no consent checks are required and * we can load the script(s) **/ if(!consent.ccpaApplies) { console.log('No consent required on newsletter. Loading scripts'); document.getElementById("consent_validation").value = true; } } }); } else { console.log('###### GDPR applied tcData.eventStatus ', tcData.eventStatus ); } /** * Remove the event listener after it has fired once per page * to avoid loading the script(s) multiple times **/ __tcfapi('removeEventListener', 2, function(success) { if (success) { console.log('Removing event listener gdpr newsletter consent', tcData.listenerId) } }, tcData.listenerId); } } }); </script> <style>img#wpstats{display:none}</style> <script type="application/ld+json">[{"@context":"https:\/\/schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.macworld.com"},{"@type":"ListItem","position":2,"name":"Newsletters","item":"https:\/\/www.macworld.com\/newsletters"},{"@type":"ListItem","position":3,"name":"Newsletters Signup","item":"https:\/\/www.macworld.com\/newsletters\/signup"}]}]</script> <style> :root { /* Base. */ --base--font-family: "proxima-nova", sans-serif; --base--font-color: #111; /* Blockquote. */ --blockquote--font-family: "proxima-nova", sans-serif; --blockquote--font-color: #4d4d4d; --blockquote--border-color: #5b7186; --blockquote--font-size: 20px; --blockquote--line-height: 28px; --blockquote--citation-color: #111; --blockquote--citation-font-size: 16px; --blockquote--citation-line-height: 24px; /* Pullquote */ --pullquote--max-width: 617px; --pullquote--quotation-color: #2395d1; --pullquote--quotation-font-size: 7rem; --pullquote--cite-color: #111; --pullquote--cite-font-size: 16px; --pullquote--text-color: #4d4d4d; --pullquote--text-font-size: 28px; --pullquote--quotation-font-weight: 800; /* Social Links */ --social-link-color: #39c; /* Text Link. */ --text-link--font-color: #2a7da7; --text-link--hover--font-color: #2a7da7; --text-link--active--font-color: #2a7da7; --text-link--visited--font-color: #2a7da7; /* Skip Link */ --skip-link--font-color: #fff; --skip-link--background-color: #3a3a3a; /* Heading. */ --heading--font-family: "proxima-nova", sans-serif; --heading--font-color: #111; --heading--link--font-color: #2a7da7; /* Deals Collection Block */ --view-button--green: #2a7da7; /** Block - Price Comparison */ --price-comparison--border-color: #2A7DA7; --price-comparison--header--font-family: "proxima-nova-condensed", sans-serif; --price-comparison--header--font-color: #fff; --price-comparison--header--letter-spacing: 0.78px; --price-comparison--header--background-color: #2A7DA7; --price-comparison--record--font-family: "proxima-nova", sans-serif; --price-comparison--record--border-color: #C7C7C7; --price-comparison--delivery-text--font-color: #3E3E3E; --price-comparison--view-button--background-color: #2a7da7; --price-comparison--view-button--hover--color: #39c; --price-comparison--view-button--letter-spacing: 0.72px; --price-comparison--footer--font-color: #666666; --price-comparison--view-more-button--font-color: #2A7DA7; /** Block - Product chart */ --product-chart--title--font-family: "proxima-nova", sans-serif; --product-chart--information-label--font-family: "proxima-nova", sans-serif; --product-chart--information-value--font-color: #2A7DA7; --product-chart--review-link--font-color: #2A7DA7; --product-chart--description--font-color: #4D4D4D; --product-chart--separator--background-color: #404040; --product-price-comparison--record--border-color: #e2e1e1; /** Block - Product widget */ --product-widget--border-color: #878787; --product-widget--block-title--background-color: #2A7DA7; --product-widget--block-title--font-color: #fff; --product-widget--block-title--letter-spacing: 0.78px; --product-widget--block-title--font-family: "proxima-nova-condensed", sans-serif; --product-widget--title--font-family: "proxima-nova", sans-serif; --product-widget--title--font-color: #111111; --product-widget--information-label--font-family: "proxima-nova", sans-serif; --product-widget--information-value--font-color: #2A7DA7; /* Button Primary. */ --button-primary--font-color: #fff; --button-primary--border-color: #2a7da7; --button-primary--background-color: #2a7da7; --button-primary--enter--font-color: #fff; --button-primary--enter--border-color: #3f8ab0; --button-primary--enter--background-color: #3f8ab0; --button-primary--hover--font-color: #fff; --button-primary--hover--border-color: #3f8ab0; --button-primary--hover--background-color: #3f8ab0; --button-primary--visited--font-color: #fff; --button-primary--visited--border-color: #2a7da7; --button-primary--visited--background-color: #2a7da7; --button-primary--border-radius: 4px; /* Button Outline. */ --button-outline--font-color: #2a7da7; --button-outline--border-color: #2a7da7; --button-outline--enter--font-color: #fff; --button-outline--enter--border-color: #2a7da7; --button-outline--enter--background-color: #2a7da7; --button-outline--border-radius: 4px; /* Footer. */ --footer--background-color: #3a3a3a; --footer--border-color: #d8d8d8; --footer--logo-width: 200px; /* Navigation Primary. */ --navigation-primary--font-family: "proxima-nova", sans-serif; --navigation-primary--font-color: #111; --navigation-primary--hover--font-color: #2a7da7; --navigation-primary--background-color: #39c; --navigation-primary--logo-width: 140px; /* Navigation Logo Bar. */ --navigation-logo-bar--background-color: #39c; --navigation-logo-bar--logo-width: 235px; /* Navigation Secondary. */ --navigation-secondary--font-family: "proxima-nova", sans-serif; --navigation-secondary--font-color: #4d4d4d; --navigation-secondary--title--font-family: "proxima-nova-condensed", sans-serif; --navigation-secondary--title--font-color: #db7900; --navigation-secondary--border-color: #d8d8d8; --navigation-secondary--social-icon-color: #4d4d4d; /* Navigation Mobile. */ --navigation-mobile--font-family: "proxima-nova", sans-serif; --navigation-mobile--font-color: #111; --navigation-mobile--scroll-bar-color: #39c; --navigation-mobile--button-color: #4d4d4d; --navigation-mobile--menu-button-color: #2a7da7; /* Hero. */ --hero--title-color: #3a3a3a; --hero--border-color: #e8e8e8; /* Article Feed */ --articleFeed--border-color: #dedede; --articleFeed--meta--font-color: #4d4d4d; /* Author Meta. */ --meta--posted-on--font-color: #757575; /* Single Article. */ --single-article--border-color: #cccccc; --single-article--bio--font-color: #4d4d4d; --single-article--social--font-color: #888888; --single-article--first-byline-border-color: #111; --single-article--second-byline-border-color: #888; /* Figcaptions. */ --figcaption--font-family: "proxima-nova", sans-serif; --figcaption--font-color: #4D4D4D; /* Image. */ --image--border-color: #ccc; --imagecredit--font-color: #757575; /* Eyebrows. */ --eyebrow--default--font-family: "proxima-nova-condensed", sans-serif; --eyebrow--default--font-color: #5b7186; --eyebrow--default--font-weight: 700; --eyebrow--default--letter-spacing: 0.4px; --eyebrow--sponsered--font-family: "proxima-nova-condensed", sans-serif; --eyebrow--sponsered--font-color: #ac1f2b; --eyebrow--sponsered--font-weight: 700; --eyebrow--sponsered--letter-spacing: 0.4px; /* Nativo / sponsored content eyebrow color */ --eyebrow--sponsered--content--font-color: #b95804; --eyebrow--sponsered--dealpost--font-family: "proxima-nova", sans-serif; --eyebrow--sponsered--dealpost--font-color: #4d4d4d; --eyebrow--sponsered--dealpost--font-size: 13px; --eyebrow--sponsered--dealpost--letter-spacing: 0; --eyebrow--sponsered--dealpost--line-height: 20px; --hero-eyebrow--default--font-family: "proxima-nova-condensed", sans-serif; --hero-eyebrow--default--font-color: #fff; --hero-eyebrow--default--font-weight: 500; --hero-eyebrow--default--letter-spacing: auto; --hero-eyebrow--default--background-color: #3a3a3a; --eyebrow--sponsored--sponsored-by--font-color: #111111; --eyebrow--sponsered--sponsored-by--font-family: "proxima-nova", sans-serif; --eyebrow--sponsored--sponsored-by--font-size: 14px; --eyebrow--sponsored--sponsored-by--letter-spacing: 0; --eyebrow--sponsored--sponsored-by--line-height: 20px; /* Tab Navigation */ --tab-navigation--background-color: transparent; --tab-navigation--font-family: "proxima-nova", sans-serif; --tab-navigation--font-color: #4D4D4D; --tab-navigation--default--border-color: #D8D8D8; --tab-navigation--active--border-color: #39c; --tab-navigation--text-hover--border-radius: 2px; --tab-navigation--text-hover--font-color: #297BA8; --tab-navigation--text-hover--background-color: #E5F2FA; --tab-navigation--text-active--font-color: #297BA8; --tab-navigation--text-active--background-color: #E5F2FA; --tab-navigation--text-visited--font-color: #297BA8; --tab-navigation--text-visited--background-color: #E5F2FA; --tab-navigation--button--font-color: #fff; --tab-navigation--button--border-color: #2a7da7; --tab-navigation--button--background-color: #2a7da7; --tab-navigation--button--hover--font-color: #fff; --tab-navigation--button--hover--border-color: #3f8ab0; --tab-navigation--button--hover--background-color: #3f8ab0; --tab-navigation--button--visited--font-color: #fff; --tab-navigation--button--visited--border-color: #2a7da7; --tab-navigation--button--visited--background-color: #2a7da7; --tab-navigation--button--border-radius: 2px; --tab-navigation--group--background-color: #fff; /* Sponsorship Header. */ --sponsorship-header--font-color: #4d4d4d; /* Sponsored Links */ --sponsored-links--title--font-color: #888888; --sponsored-links--border-color: #d8d8d8; /* Google Search. */ --google-search--title--font-family: "proxima-nova", sans-serif; --google-search--title--font-color: #111; --google-search--snippet--font-family: "proxima-nova", sans-serif; --google-search--snippet--font-color: #4d4d4d; /* JW Player. */ --jw-player-border-color: #3eafe9; --jw-player-title-color: #3eafe9; --jw-player-close-btn-color: #111; /* Fake Sidebar Styles*/ --fake-sidebar--default--font-weight: bold; --fake-sidebar--default--line-height: 30px; --fake-sidebar--default--font-size: 20px; /*Lineup Element*/ --lineup-element-error-font-color: #cd423b; --lineup-element-disabled-button-background-color: #ddd; --lineup-element-disabled-button-font-color: #eee; --lineup-element-button-tooltip-background-color: #757575; --lineup-element-button-tooltip-font-color: #fff; --lineup-element-note-font-color: #757575; --lineup-element-button-disabled: hsla(0,0%,100%,.4); /* LineUp Popover.*/ --lineup-popover-a-color: white; --lineup-popover-err-color: red; --lineup-popover-th-color: #d4d4d4; --lineup-popover-tr-color: #f2f2f2; --lineup-popover-paginate-a-active-color: #ddd; --lineup-popover-paginate-a-non-active-color: #006ba1; /* Publication list pop-up pn edit edition page */ --publication-list-container-bg: rgba(255, 255, 255, 1); --publication-list-container-border: #111; --publication-list-container-bs: #222; --publication-list-bg:rgba(100, 100, 100, .6); --publication-list-popup-header-border: #ddd; --publication-list-popup-header-bg: #e9e9e9; /* Author Section */ --author-block--border-top: #3399CC; --site-primary: #3399cc; /* Amazon Lightning Deal */ --amazon-lightning--header-font-family: "proxima-nova", sans-serif; --amazon-lightning--text--font-color: #4d4d4d; --amazon-lightning--text-font-family: "proxima-nova", sans-serif; --amazon-lightning-deal-name-text-color: #222222; --amazon-lightning-deal-name-text-font-weight: 600; --amazon-lightning-deal-name-text-font-size: 11pt; --amazon-lightning-deal-name-text-line-height: 11pt; --amazon-lightning-deal-name-text-padding-bottom: 3pt; --amazon-lightning-deal-discount-price-font-size: 12pt; --amazon-lightning-deal-end-at-font-size: .75rem; --amazon-lightning-deal-end-at-line-height: 1.2rem; --amazon-lightning-deal-end-at-margin-top: 2pt; --amazon-lightning-deal-end-at-width: 85px; --amazon-lightning--text-font-size: 16px; --amazon-lightning--header-font-size: 24px; --amazon-lightning--header-font-color: #111111; --amazon-lightning--header-font-size-mobile: 20px; --amazon-lightning--text-font-size-mobile: 18px; --jw-player-branding: url("https://www.macworld.com/wp-content/uploads/2021/08/MW-TV-logo.svg"); } </style> <style> :root { /* FAQ*/ --faq-heading-seprator-color: #d8d8d8; --faq-input-box-border-color: #757575; --faq-remove-link-color: #c30e0e; --faq-heading-color: #141414; --faq-heading-font-family: "fira-sans", sans-serif; --faq-title-description-font-family: "myriad-pro",sans-serif; --faq-label-color: #AAA; --faq-company-name-font-color: #75757A; --faq-horizontal-line-color: #DEDEDE; /* Image Text*/ --image-translation: "Image: "; /* Brandpost template Text*/ --brandpost-light-color: #fff; --brandpost-dark-color: #000; /* get the values of gpt leaderboardmainbod */ --min-height-970: 148px; --max-height-970: ; --background-color-970: ; --min-height-728: 284px; --max-height-728: ; --background-color-728: ; --min-height-320: 284px; --max-height-320: ; --background-color-320: ; /*JW player for Floating Player */ --jw_min_height_970: ; --jw_max_height_970: ; --jw_min_height_728: ; --jw_max_height_728: ; --jw_min_height_320: ; --jw_max_height_320: ; } </style> <style> :root { /* Nav menu */ --nav-menu-error: #b32d2e; /* Promo Unit Block HR color */ --promo-unit-hr: #d55d5d; /* Promo Unit Block Title After Color */ --promo-unit-title-after: #d04949; /* Promo Unit Block Title After Color */ --promo-unit-title: #322a2a; /* Promo Unit Block Title before Color */ --promo-unit-before-one: #e42e22; /* Promo Unit Block Title before Color */ --promo-unit-before-two: #f3f5f6; /* Promo Unit Block Title before Color */ --promo-unit-item-bg: #000; /* Deals Collection Block */ --deal-collection-productIndex-border-color: #12C7F1; --deal-collection-deal-header-color: #000; --deal-collection-deal--view-button--background-color: #21873A; --deal-collection-deal-price-color: #CD0912; /* Publication list pop-up pn edit edition page */ --publication-list-container-bg: rgba(255, 255, 255, 1); --publication-list-container-border: #111; --publication-list-container-bs: #222; --publication-list-bg:rgba(100, 100, 100, .6); --publication-list-popup-header-border: #ddd; --publication-list-popup-header-bg: #e9e9e9; --lineup-element-button-disabled: hsla(0,0%,100%,.4); /* LineUp Popover.*/ --lineup-popover-a-color: white; --lineup-popover-err-color: red; --lineup-popover-th-color: #d4d4d4; --lineup-popover-tr-color: #f2f2f2; --lineup-popover-paginate-a-active-color: #ddd; --lineup-popover-paginate-a-non-active-color: #006ba1; /* Slotting settings */ --slotting-settings-taxonomy-help-text-color: #808080; /* Author section top */ --sponsorship-brandpost-divider-line-color: #D8D8D8; /** Block - Product chart */ --product-chart--information-value--font-color: #2A7DA7; --product-chart--review-link--font-color: #2A7DA7; --product-chart--description--font-color: #4D4D4D; --product-chart--separator--background-color: #404040; /** Block - Product chart Pros and Cons */ --product-chart--pros-cons-title--font-color: #111111; --product-chart--pros-cons-border: 1px solid #ccc; /* Author Archive Page */ --author-archive-title: rgba(0, 0, 0, .87); --author-job-title: #000; --author-share-icons-divider-color: #D8D8D8; --author-share-icon-fill-color: #111; /* Sponsors index Page */ --sponsored-index-page-slug-background-color: #eee; --sponsorship-brandpost--title: 28px; --sponsorship-title--line-height: 32px; --uppercase-text: uppercase; --sponsor-eyebrow--font-color: #75757A; --sponsor-tooltip-learn-more--font-color: #111111; --sponsorship-brandpost--title-color: #111111; /* How to - at a glance block */ --how-to-at-glance-text-font-family: "canada-type-gibson", sans-serif; /* fonts */ --fira-sans-semibold: 700; /* headings */ --heading-three: 24px; --heading-four: 20px; --heading-three-line-height: 30px; /* Price Comparision search */ --price-comparision: #141414; --price-search-text: #757575; --search-field: #a6a4a4; --price-comparision--description: #4d4d4d; --price-comparison--default: #000; --sec--border-bottom: #b0b1b3; /* Pagination */ --pagination-color: #ED1B24; --pagination-hover-color: #e3e3e3; --pagination-bg-color: #FFFFFF; --pagination-text-color: #000000; --pagination-hover-bor-color: #2b7da7; /* Amazon Lightning Deal */ --amazon-lightning--text-font-size: 16px; --amazon-lightning--header-font-size: 24px; --amazon-lightning--header-font-color: #111111; --amazon-lightning--header-font-size-mobile: 20px; --amazon-lightning--text-font-size-mobile: 18px; } </style> <meta name="displaytype" content="article" /> <meta name="source" content="https://www.macworld.com/newsletters/signup" /> <link rel="canonical" href="https://www.macworld.com/newsletters/signup" /> <meta name="description" content="Sign up to Macworld's newsletters for your weekly dose of news, reviews, tips, the very best Apple deals, and all the biggest stories on Macworld.com." /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://www.macworld.com/newsletters/signup" /> <meta property="og:site_name" content="Macworld" /> <meta property="og:title" content="Sign Up for Macworld Newsletters" /> <meta property="og:description" content="Sign up to Macworld's newsletters for your weekly dose of news, reviews, tips, the very best Apple deals, and all the biggest stories on Macworld.com." /> <meta property="twitter:card" content="summary_large_image" /> <meta property="twitter:url" content="https://www.macworld.com/newsletters/signup" /> <meta property="twitter:site" content="Macworld" /> <meta property="twitter:title" content="Sign Up for Macworld Newsletters" /> <meta property="twitter:description" content="Sign up to Macworld's newsletters for your weekly dose of news, reviews, tips, the very best Apple deals, and all the biggest stories on Macworld.com." /> <link rel="icon" href="https://www.macworld.com/wp-content/uploads/2021/03/cropped-macworld-favicon.png?w=32" sizes="32x32" /> <link rel="icon" href="https://www.macworld.com/wp-content/uploads/2021/03/cropped-macworld-favicon.png?w=192" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.macworld.com/wp-content/uploads/2021/03/cropped-macworld-favicon.png?w=180" /> <meta name="msapplication-TileImage" content="https://www.macworld.com/wp-content/uploads/2021/03/cropped-macworld-favicon.png?w=270" /> </head> <body class="page-template page-template-templates page-template-template-newsletter page-template-templatestemplate-newsletter-php page page-id-100000772 page-child parent-pageid-100000784 sticky-header"> <!-- Non AMP markup --> <div id="mobileNav"> <div class="partition"> <div class="mobileNav-close"> <div class="editor-switcher-tab"><input type="checkbox" id="sideNavEditorCheckbox"><label class="editor-switcher-tab-label" for="sideNavEditorCheckbox"><span class="globe-icon-span"><?xml version="1.0" encoding="UTF-8"?> <svg width="15px" height="15px" viewBox="0 0 15 15" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>g</title> <g id="CIO-Final" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="CIO---Menu-Open---Final" transform="translate(-32.000000, -48.000000)" fill="#020202" fill-rule="nonzero"> <path d="M39.2656077,62.6406211 C43.27927,62.6406211 46.5312154,59.3886757 46.5312154,55.3750134 C46.5312154,51.3613511 43.27927,48.1094057 39.2656077,48.1094057 C35.2519454,48.1094057 32,51.3613511 32,55.3750134 C32,59.3886757 35.2519454,62.6406211 39.2656077,62.6406211 Z M41.5536767,52.5625201 L36.9775386,52.5625201 C37.4667724,50.3388812 38.4775122,49.0469035 39.2656077,49.0469035 C40.0537032,49.0469035 41.064443,50.3388812 41.5536767,52.5625201 Z M44.9257562,52.5625201 L42.5087697,52.5625201 C42.2450985,51.2617305 41.8026996,50.154317 41.243142,49.3662501 C42.8544663,49.8994291 44.1786876,51.062518 44.9257562,52.5625201 Z M36.0224456,52.5625201 L33.6054592,52.5625201 C34.3525277,51.062518 35.676749,49.8994291 37.2880733,49.3662501 C36.731434,50.1513988 36.2861169,51.2588123 36.0224456,52.5625201 Z M41.717756,57.2500089 L36.8134594,57.2500089 C36.7343523,56.6699379 36.6874888,56.0459217 36.6874888,55.3750134 C36.6874888,54.7041051 36.7343523,54.0800889 36.8134594,53.5000179 L41.717756,53.5000179 C41.7968631,54.0800889 41.8437265,54.7041051 41.8437265,55.3750134 C41.8437265,56.0459217 41.7968631,56.6699379 41.717756,57.2500089 Z M35.8730434,57.2500089 L33.2216825,57.2500089 C33.0371183,56.6582078 32.9374978,56.0283264 32.9374978,55.3750134 C32.9374978,54.7217004 33.0371183,54.0918191 33.2216825,53.5000179 L35.8730434,53.5000179 C35.7968545,54.1006024 35.7499911,54.7246186 35.7499911,55.3750134 C35.7499911,56.0254082 35.7939363,56.6494244 35.8730434,57.2500089 Z M45.3095329,57.2500089 L42.658172,57.2500089 C42.7343609,56.6494244 42.7812243,56.0254082 42.7812243,55.3750134 C42.7812243,54.7246186 42.7372791,54.1006024 42.658172,53.5000179 L45.3095329,53.5000179 C45.494097,54.0918191 45.5937176,54.7217004 45.5937176,55.3750134 C45.5937176,56.0283264 45.494097,56.6582078 45.3095329,57.2500089 Z M37.2880733,61.3837767 C35.676749,60.8505977 34.3525277,59.6875067 33.6054592,58.1875067 L36.0224456,58.1875067 C36.2861169,59.4882963 36.7285158,60.5957098 37.2880733,61.3837767 Z M39.2656077,61.7031233 C38.4775122,61.7031233 37.4667724,60.4111457 36.9775386,58.1875067 L41.5536767,58.1875067 C41.064443,60.4111457 40.0537032,61.7031233 39.2656077,61.7031233 Z M41.243142,61.3837767 C41.7997813,60.598628 42.2450985,59.4912145 42.5087697,58.1875067 L44.9257562,58.1875067 C44.1786876,59.6875067 42.8544663,60.8505977 41.243142,61.3837767 Z" id="g"></path> </g> </g> </svg></span><span id="current-edition">English US Edition</span><span class="dropdown-down-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z"/></svg></span></label><div class="editor-switcher-tab-content"><ul id="editor-switcher-tab-list-items" class="dropdown"><li class="edition">Edition</li><li><a class="edition-item " href="javascript:void(0);" data-href="" data-slug="en-gb" data-edition-id="8445">English UK</a></li><li><a class="edition-item current" href="javascript:void(0);" data-href="" data-slug="en-us" data-edition-id="7606">English US</a><span class="tick-mark-span"><?xml version="1.0" encoding="iso-8859-1"?> <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <g> <g> <path d="M504.502,75.496c-9.997-9.998-26.205-9.998-36.204,0L161.594,382.203L43.702,264.311c-9.997-9.998-26.205-9.997-36.204,0 c-9.998,9.997-9.998,26.205,0,36.203l135.994,135.992c9.994,9.997,26.214,9.99,36.204,0L504.502,111.7 C514.5,101.703,514.499,85.494,504.502,75.496z"/> </g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> </svg> </span></li></ul></div></div> <!-- AMP markup --> <a href="#" id="mobileNav-close-button" aria-label="Close mobile menu" role="button"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M193.94 256L296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z"/></svg> </a> </div> </div> <div class="mobileNav-menu-wrap"><ul id="menu-primary-nav-en-us" class="mobileNav-menu"><li id="menu-item-100000519-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/mac">Mac</a></li> <li id="menu-item-100000557-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/iphone">iPhone</a></li> <li id="menu-item-100000600-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/ipad">iPad</a></li> <li id="menu-item-100000603-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple-watch">Apple Watch</a></li> <li id="menu-item-100225690-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/airpods">AirPods</a></li> <li id="menu-item-100237469-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/vision">Vision Pro</a></li> <li id="menu-item-100202902-" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children inactive"><a>More</a><button class="sub-menu-open-button" aria-label="open-close"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z"/></svg></button> <ul class="sub-menu"> <li id="menu-item-100000671-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/accessories">Accessories</a></li> <li id="menu-item-100000520-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple">Apple</a></li> <li id="menu-item-100000632-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple-tv">Apple TV</a></li> <li id="menu-item-100000654-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/audio">Audio</a></li> <li id="menu-item-100212301-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/security">Security</a></li> <li id="menu-item-100000690-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/software">Software</a></li> </ul> </li> <li id="menu-item-100075387-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/best-picks">Best Picks</a></li> <li id="menu-item-100211660-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/reviews">Reviews</a></li> <li id="menu-item-100001046-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/deals">Deals</a></li> <li id="menu-item-100059406-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/opinion">Opinion</a></li> <li id="menu-item-100195968-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple-rumors">Rumors</a></li> <li id="menu-item-100000831-" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-100000772 current_page_item inactive"><a href="https://www.macworld.com/newsletters/signup">Newsletter</a></li> <li id="menu-item-100063728-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://simplecirc.com/subscribe/macworld">Digital Magazine – Subscribe</a></li> <li id="menu-item-100063729-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://www.macworld.com/faq">Digital Magazine – Info</a></li> <li id="menu-item-100240041-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/smart-answers">Smart Answers</a></li> </ul></div> <!-- Non AMP markup --> </div> <div id="site-overlay"></div> <div id="page" class="site"> <a class="skip-link screen-reader-text" href="#primary">Skip to content</a> <header id="masthead" class="site-header"> <div id="primaryNav" class="primaryNav--article"> <div class="primaryNav-wrap"> <div class="primaryNav-left-wrap"> <ul class="primaryNav-left"> <li class="primaryNav-left--menu"> <!-- AMP markup --> <a href="#" id="mobileNav-open-button" aria-label="Open mobile menu" role="button"> <span>Menu</span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"/></svg> </a> </li> <li class="primaryNav-left--logo"> <a href="https://www.macworld.com"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 234 41"><defs><path id="a" d="M.194.132h39.765v40.561H.194z"/></defs><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M31.098 39.136V17.504h-.28L20.564 34.912h-2.241L8.068 17.504h-.279v21.632H0V1.864h7.676l11.991 20.434h.113L31.715 1.864h7.452v37.272zM61.736 31.944v-2.67c-1.189-1.022-3.567-1.987-6.398-1.987-4.473 0-6.115 1.76-6.115 3.862 0 2.33 1.869 3.863 5.039 3.863 3.964 0 6.625-2.272 7.474-3.068M43.618 14.22c2.605-1.307 7.588-2.954 12.909-2.954 6.342 0 12.74 2.159 12.74 8.408v14.827c0 1.25.113 3.295.793 5.397h-7.474c-.283-.852-.51-2.159-.68-3.181-2.038 1.987-4.473 3.862-9.285 3.862-6.68 0-10.928-4.033-10.928-9.43 0-5.17 4.416-9.202 12.117-9.202 2.943 0 5.888.682 7.926 2.272v-2.784c0-2.898-2.49-4.205-5.83-4.205-3.511 0-7.928 1.535-9.965 2.614l-2.323-5.624m50.483 6.76c-2.265-2.214-4.869-3.294-7.077-3.294-4.077 0-7.361 3.182-7.361 8.237 0 5.056 3.51 8.465 7.644 8.465 2.775 0 5.322-1.705 7.417-3.75l4.643 4.658c-1.19 1.42-5.832 5.454-12.91 5.454-7.983 0-14.833-5.907-14.833-14.827 0-8.862 6.623-14.657 14.833-14.657 4.247 0 8.72 1.478 12.343 4.715l-4.699 5m30.124-8.805l4.983 17.724h.339l4.303-17.724h7.757l-8.776 27.722h-7.19l-4.814-16.985h-.34l-4.868 16.985h-7.134l-8.777-27.722h7.928l4.416 17.724h.339l4.983-17.724zm31.281 22.325c4.7 0 7.418-3.977 7.418-8.579 0-4.543-2.718-8.35-7.418-8.35-4.585 0-7.247 3.807-7.247 8.35 0 4.602 2.662 8.58 7.247 8.58m0-23.237c9.003 0 15.117 6.42 15.117 14.657 0 8.239-6.114 14.827-15.117 14.827-8.945 0-15.004-6.588-15.004-14.827 0-8.237 6.059-14.657 15.004-14.657m24.989 10.795v17.838h-7.587V20.015c0-2.33-.227-4.772-.793-7.84h6.907a40.91 40.91 0 01.567 4.148c1.698-2.84 3.68-5.057 7.247-5.057 1.415 0 3.284.398 4.247 1.137l-2.095 6.93c-.85-.34-2.718-.795-3.737-.795-1.981 0-3.228 1.533-4.756 3.522"/><g transform="translate(193.968)"><mask id="b" fill="#fff"><use xlink:href="#a"/></mask><path fill="#FFF" mask="url(#b)" d="M.194 39.898h7.618V.132H.194zm18.391-13.975c0 5.055 2.842 8.407 6.424 8.407 3.298 0 5.742-2.045 6.709-3.067V20.81c-1.99-1.932-4.434-3.124-6.709-3.124-3.639 0-6.424 3.182-6.424 8.237m14.213 13.975c-.17-.966-.285-2.33-.342-3.295-1.705 1.932-4.719 4.09-8.584 4.09-7.39 0-13.474-5.85-13.474-14.77 0-8.862 6.14-14.657 13.474-14.657 2.729 0 5.571 1.307 7.846 3.41V.13h7.618v31.871c0 2.273 0 4.658.625 7.896h-7.163"/></g></g></svg> </a> </li> </ul> </div> <div class="primaryNav-menu-wrap"><ul id="menu-primary-nav-en-us-1" class="primaryNav-menu is-dropdown"><li id="menu-item-100000519-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/mac">Mac</a></li> <li id="menu-item-100000557-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/iphone">iPhone</a></li> <li id="menu-item-100000600-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/ipad">iPad</a></li> <li id="menu-item-100000603-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple-watch">Apple Watch</a></li> <li id="menu-item-100225690-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/airpods">AirPods</a></li> <li id="menu-item-100237469-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/vision">Vision Pro</a></li> <li id="menu-item-100202902-" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children inactive"><a>More</a><button class="sub-menu-open-button" aria-label="open-close"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z"/></svg></button> <ul class="sub-menu"> <li id="menu-item-100000671-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/accessories">Accessories</a></li> <li id="menu-item-100000520-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple">Apple</a></li> <li id="menu-item-100000632-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple-tv">Apple TV</a></li> <li id="menu-item-100000654-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/audio">Audio</a></li> <li id="menu-item-100212301-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/security">Security</a></li> <li id="menu-item-100000690-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/software">Software</a></li> </ul> </li> <li id="menu-item-100075387-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/best-picks">Best Picks</a></li> <li id="menu-item-100211660-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/reviews">Reviews</a></li> <li id="menu-item-100001046-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/deals">Deals</a></li> <li id="menu-item-100059406-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/opinion">Opinion</a></li> <li id="menu-item-100195968-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple-rumors">Rumors</a></li> <li id="menu-item-100000831-" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-100000772 current_page_item inactive"><a href="https://www.macworld.com/newsletters/signup">Newsletter</a></li> <li id="menu-item-100063728-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://simplecirc.com/subscribe/macworld">Digital Magazine – Subscribe</a></li> <li id="menu-item-100063729-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://www.macworld.com/faq">Digital Magazine – Info</a></li> <li id="menu-item-100240041-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/smart-answers">Smart Answers</a></li> </ul></div> <div class="primaryNav-actions-wrap"> <ul class="primaryNav-actions"> <li class="primaryNav-action--search"> <!-- AMP markup --> <a href="#" id="siteSearch-open-button" aria-label="Open site search" role="button"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M508.5 468.9L387.1 347.5c-2.3-2.3-5.3-3.5-8.5-3.5h-13.2c31.5-36.5 50.6-84 50.6-136C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c52 0 99.5-19.1 136-50.6v13.2c0 3.2 1.3 6.2 3.5 8.5l121.4 121.4c4.7 4.7 12.3 4.7 17 0l22.6-22.6c4.7-4.7 4.7-12.3 0-17zM208 368c-88.4 0-160-71.6-160-160S119.6 48 208 48s160 71.6 160 160-71.6 160-160 160z"/></svg> </a> </li> </ul> </div> </div> <div id="siteSearch"> <div class="siteSearch-wrap"> <div class="siteSearch-close"> <a href="#" id="siteSearch-close-button" aria-label="Close site search" role="button"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M193.94 256L296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z"/></svg> </a> </div> <label class="siteSearch-help-text" for="gsc-i-id1">Type your search and hit enter</label> <div class="gcse-searchbox-only" data-resultsUrl="https://www.macworld.com/search"></div> </div> </div> </div> <div id="secondaryNav"> <div class="secondaryNav-wrap"> <span class="secondaryNav-title"> HOT TOPICS </span> <div class="secondaryNav-menu-wrap"> <div class="secondaryNav-container"><ul id="menu-hot-topics-menu-en-us" class="secondaryNav-menu"><li id="menu-item-100265817" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-100265817"><a href="https://www.macworld.com/black-friday">Black Friday Apple deals</a></li> <li id="menu-item-100263742" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-100263742"><a href="https://www.macworld.com/ultimate-holiday-shopping-guide">Holiday Shopping Guide</a></li> <li id="menu-item-100266227" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-100266227"><a href="https://www.macworld.com/article/2303200/m4-macbook-air-design-price-specs-release.html">M4 MacBook Air</a></li> <li id="menu-item-100266226" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-100266226"><a href="https://www.macworld.com/article/1354114/iphone-se-4-design-specs-features-release-date.html">iPhone SE 4</a></li> <li id="menu-item-100243622" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-100243622"><a href="https://www.macworld.com/article/2158175/ipad-11th-gen-2024-release-date.html">11th-gen iPad</a></li> <li id="menu-item-100266228" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-100266228"><a href="https://www.macworld.com/article/2204696/m3-mac-studio-design-processor-specs-price.html">M4 Mac Studio</a></li> <li id="menu-item-100206940" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-100206940"><a href="https://www.macworld.com/article/668850/best-mac-antivirus-software.html">Best Mac antivirus</a></li> <li id="menu-item-100080820" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-100080820"><a href="https://www.macworld.com/article/231047/best-vpn-for-mac.html">Best Mac VPN</a></li> </ul></div> </div> <div class="secondaryNav-social-wrap"> <ul class="secondaryNav-social"> <li class="secondaryNav-social--facebook"> <a href="https://www.facebook.com/Macworld/" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on Facebook"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"/></svg> </a> </li> <li class="secondaryNav-social--twitter"> <a href="https://twitter.com/macworld" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on X"> <svg version="1.1" id="Layer_1" xmlns:x="ns_extend;" xmlns:i="ns_ai;" xmlns:graph="ns_graphs;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 49.8 45" style="enable-background:new 0 0 49.8 45;" xml:space="preserve"> <metadata> <sfw xmlns="ns_sfw;"> <slices> </slices> <sliceSourceBounds bottomLeftOrigin="true" height="45" width="49.8" x="-67.2" y="-209.8"> </sliceSourceBounds> </sfw> </metadata> <g> <path d="M39.2,0h7.6L30.2,19.1L49.8,45H34.4l-12-15.7L8.6,45H1l17.8-20.4L0,0h15.8l10.9,14.4L39.2,0z M36.5,40.4h4.2L13.5,4.3H8.9 L36.5,40.4z"> </path> </g> </svg> </a> </li> <li class="secondaryNav-social--youtube"> <a href="https://www.youtube.com/user/macworld" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on YouTube"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg> </a> </li> <li class="secondaryNav-social--youtube"> <a href="https://www.linkedin.com/company/macworld/" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on LinkedIn"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg> </a> </li> <li class="secondaryNav-social--whatsapp"> <a href="https://whatsapp.com/channel/0029VagNnbe002TCyUyKte2j" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on WhatsApp"> <svg width="360" height="362" viewBox="0 0 360 362" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <path fill-rule="evenodd" clip-rule="evenodd" d="M307.546 52.5655C273.709 18.685 228.706 0.0171895 180.756 0C81.951 0 1.53846 80.404 1.50408 179.235C1.48689 210.829 9.74646 241.667 25.4319 268.844L0 361.736L95.0236 336.811C121.203 351.096 150.683 358.616 180.679 358.625H180.756C279.544 358.625 359.966 278.212 360 179.381C360.017 131.483 341.392 86.4547 307.546 52.5741V52.5655ZM180.756 328.354H180.696C153.966 328.346 127.744 321.16 104.865 307.589L99.4242 304.358L43.034 319.149L58.0834 264.168L54.5423 258.53C39.6304 234.809 31.749 207.391 31.7662 179.244C31.8006 97.1036 98.6334 30.2707 180.817 30.2707C220.61 30.2879 258.015 45.8015 286.145 73.9665C314.276 102.123 329.755 139.562 329.738 179.364C329.703 261.513 262.871 328.346 180.756 328.346V328.354ZM262.475 216.777C257.997 214.534 235.978 203.704 231.869 202.209C227.761 200.713 224.779 199.966 221.796 204.452C218.814 208.939 210.228 219.029 207.615 222.011C205.002 225.002 202.389 225.372 197.911 223.128C193.434 220.885 179.003 216.158 161.891 200.902C148.578 189.024 139.587 174.362 136.975 169.875C134.362 165.389 136.7 162.965 138.934 160.739C140.945 158.728 143.412 155.505 145.655 152.892C147.899 150.279 148.638 148.406 150.133 145.423C151.629 142.432 150.881 139.82 149.764 137.576C148.646 135.333 139.691 113.287 135.952 104.323C132.316 95.5909 128.621 96.777 125.879 96.6309C123.266 96.5019 120.284 96.4762 117.293 96.4762C114.302 96.4762 109.454 97.5935 105.346 102.08C101.238 106.566 89.6691 117.404 89.6691 139.441C89.6691 161.478 105.716 182.785 107.959 185.776C110.202 188.767 139.544 234.001 184.469 253.408C195.153 258.023 203.498 260.782 210.004 262.845C220.731 266.257 230.494 265.776 238.212 264.624C246.816 263.335 264.71 253.786 268.44 243.326C272.17 232.866 272.17 223.893 271.053 222.028C269.936 220.163 266.945 219.037 262.467 216.794L262.475 216.777Z" fill="#111B21"> </path> </svg> </a> </li> </ul> </div> </div> </div> <div> </div> </header><!-- #masthead --> <main id="primary" class="site-main newsletter-wrapper"> <article id="post-100000772" class="post-100000772 page type-page status-publish languages-en editions-en-us"> <div class="entry-content"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <div id="link_wrapped_content"> <body><section class="wp-block-bigbite-multi-title"><div class="container"></div></section> <style> .hidden { display: none; } .wp-block-separator { display: none; } form { width: 100% } body.page-template-template-newsletter .article-hero__breadcrumbs { border-bottom: 1px solid #b6aeaa; } .mb-4 { margin-bottom: 16px; } .mb-5 { margin-bottom: 24px; } #container { display: flex; max-width: 648px; } #container>.container { padding-left: 0; padding-right: 0; margin-top: 20px; } .newsletter-wrapper { margin-bottom: 100px; } .newsletter-wrapper .entry-title { line-height: 1.2; font-family: var(--enzo--font-family); font-size: 2rem; font-weight: 800; } @media (min-width: 768px) { .newsletter-wrapper .entry-title { font-size: 3.25rem; line-height: 1.2; } } .newsletter-wrapper p.description { font-size: 1.25rem; line-height: 1.875rem; } .newsletter-wrapper form hr { color: inherit; background-color: currentColor; border: 0; opacity: .25; margin: 1rem 0; } .newsletter-wrapper form hr:not([size]) { height: 1px; } .newsletter-wrapper form .g-3>hr.my-4 { height: 0; display: none; } .newsletter-wrapper .row { display: flex; flex-wrap: wrap; padding-bottom: 1.5rem; } .newsletter-wrapper .row>* { flex-shrink: 0; width: 100%; max-width: 100%; } .newsletter-wrapper .form-check { display: block; min-height: 1.5rem; padding-left: 1.5em; margin-bottom: 0.125rem; margin-top: 1.5rem } .newsletter-wrapper .form-check.agree { margin-bottom: 24px; } .newsletter-wrapper .form-check.nl-title { margin-top: 2.5rem; } .newsletter-wrapper .form-check .text-block { display: block; padding-top: 2px; font-size: 14px; line-height: 21px; color: #4d4d4d; font-family: var(--base--font-family); } .newsletter-wrapper .form-check small.mb-3 { font-family: var(--base--font-family); font-weight: 500; font-size: 12px; line-height: 19px; color: #0c0c0c; letter-spacing: 0.1em; text-transform: uppercase; } .newsletter-wrapper .form-check.ms-2>p>small { color: #0C0C0C; display: block; padding-top: 2px; font-size: 14px; line-height: 21px; } .newsletter-wrapper .form-check.ms-2>p>small a { text-decoration: underline; } .newsletter-wrapper .form-check.ms-2>p { margin-left: -1.5em; margin-top: 0.25em; margin-bottom: 1em; } .newsletter-wrapper .form-check label { font-size: 16px; cursor: pointer; } .newsletter-wrapper .form-check-input { width: 1em; height: 1em; margin-top: 0.25em; vertical-align: top; background-color: #fff; background-repeat: no-repeat; background-position: center; background-size: contain; border: 1px solid rgba(0, 0, 0, .25); } .newsletter-wrapper .form-check .form-check-input { float: left; margin-left: -1.5em; } .newsletter-wrapper .form-check-input[type=checkbox] { border-radius: 0.25em; } .newsletter-wrapper .form-check label { display: inline-block; margin-right: 1.5rem; cursor: pointer; } .newsletter-wrapper .form-label { margin-bottom: 0.5rem; display: inline-block; font-family: var(--base--font-family); font-size: 16px; line-height: 21px; font-weight: 400; color: #000000; } .newsletter-wrapper .email-address { margin-top: 3rem; } .newsletter-wrapper .form-select { display: block; width: 100%; -moz-padding-start: calc(0.75rem - 3px); font-size: 16px; font-weight: 400; /*line-height: 1.5;*/ color: #333; background-color: #fff; border: 1px solid #cccccc; border-radius: 0.25rem; transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; overflow: hidden; overflow: -moz-hidden-unscrollable; appearance: none; -webkit-appearance: none; -moz-appearance: none; padding: 16px 24px; height: 53px; cursor: pointer; } .newsletter-wrapper .country-select .field-check select { background: transparent; position: relative; z-index: 3; } .newsletter-wrapper .country-select .field-check { background: white; position: relative; } .newsletter-wrapper .country-select .field-check::after { content: "\25bc"; position: absolute; top: 35%; right: 15px; font-size: 0.85rem; z-index: 1; } .newsletter-wrapper .country-select .field-check.invalid::after { top: 42%; } .newsletter-wrapper input.form-control { display: block; width: 100%; font-size: 16px; font-weight: 400; line-height: 1.5; color: #333; background-color: #ffffff; background-clip: padding-box; border: 1px solid #cccccc; border-radius: 4px; transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; box-shadow: none; margin-left: 0; padding: 16px 24px; height: 53px; } .newsletter-wrapper label.fw-bold { font-weight: 700; font-family: var(--base--font-family); font-size: 1rem; line-height: 24px; color: #0c0c0c; } .newsletter-wrapper input[type=submit], .newsletter-wrapper button[type=submit] { font-weight: 700; font-size: 1rem; padding: 10px 28px; text-transform: uppercase; font-family: var(--base--font-family); color: var(--button-primary--font-color); border: 2px solid var(--button-primary--border-color); background-color: var(--button-primary--background-color); border-radius: var(--button-primary--border-radius); } .newsletter-wrapper .required, .newsletter-wrapper .text-danger { color: #dc3545 } .newsletter-wrapper .invalid-feedback { display: none; font-size: 0.8em; text-align: left; margin: 0.2em 0 1em 0; color: #c00; } .newsletter-wrapper .invalid .invalid-feedback { display: block; } .newsletter-wrapper .invalid input, .invalid select { border-color: #c00; } .newsletter-wrapper svg#definition { display: none; } .newsletter-wrapper .visually-hidden { position: absolute; width: 1px; height: 1px; left: -10000px; overflow: hidden; } .newsletter-wrapper .icon { width: 0.5em; height: 0.5em; fill: red; vertical-align: top; margin-top: 2px; font-size: initial; } .newsletter-wrapper input[type=submit]:hover:not([disabled]), .newsletter-wrapper button[type=submit]:hover:not([disabled]) { cursor: pointer; color: var(--button-primary--enter--font-color); background-color: var(--button-primary--enter--border-color); border-color: var(--button-primary--enter--background-color); } .newsletter-wrapper input[type=submit]:disabled, .newsletter-wrapper button[type=submit]:disabled { background-color: #cccccc; border: 2px solid #cccccc; color: #4d4d4d; cursor: initial; } .listing-hero__container { display: none; } .listing-hero { display: none; } #recaptcha_response { color: red; margin-bottom: 10px; } #nb-feedback { margin-top: 5px; } .newsletter-wrapper .policy-terms { color: #0C0C0C; display: block; padding-top: 2px; font-size: 14px; line-height: 21px; font-family: graphik, sans-serif; margin-bottom: 64px; } .newsletter-wrapper .policy-terms a { text-decoration: underline; } .newsletter-wrapper .policy-terms p { font-size: 14px; } /* @media (min-width: 768px) { .listing-hero { display: block; } } */ </style> <svg id="definition" version="1.1" xmlns="http://www.w3.org/2000/svg"> <defs> <symbol id="required" viewbox="0 0 128 128"> <g> <path d="M110.1,16.4L75.8,56.8l0.3,1l50.6-10.2v32.2l-50.9-8.9l-0.3,1l34.7,39.1l-28.3,16.5L63.7,78.2L63,78.5 l-18.5,49L17.2,111l34.1-39.8v-0.6l-50,9.2V47.6l49.3,9.9l0.3-0.6L17.2,16.7L45.5,0.5l17.8,48.7H64L82.1,0.5L110.1,16.4z"> </path> </g> </symbol> </defs> </svg> <div class="entry-eyebrow--default">FROM OUR EDITORS TO YOU</div> <h1 class="entry-title" id="sign-up-for-macworld-newsletters">Sign Up for Macworld Newsletters</h1> <p>Select the newsletters you’d like to receive then enter your details below:</p> <div id="container" class="mt-5"> <form id="newslettersignup" name="nlForm" action="" method="post" accept-charset="UTF-8" class="mt-3"> <div id="nlCheckBoxWrapper"> <hr class="my-4"> <div class="form-check nl-title"> <div class="amf-el amf-type-list hw cLeft cbNews"> <div class="amf-el-inner"> <input type="checkbox" class="checkbox form-check-input" name="macworld_daily_2561" id="amf-input-macworld_daily_2561" value="43" onclick="formsubscribe()" data-pref=""> <label class="form-check-label fw-bold" for="amf-input-macworld_daily_2561">Macworld Daily</label> </div> </div> <div class="amf-el amf-type-textblock nl-desc"> <div class="text-block">News, reviews and tips to make the most out of the Apple products you love - stay up to speed with this daily round up.</div> </div> </div> <div class="form-check nl-title"> <div class="amf-el amf-type-list hw cLeft cbNews"> <div class="amf-el-inner"> <input type="checkbox" class="checkbox form-check-input" name="macworld_us_deals_2559" id="amf-input-macworld_us_deals_2559" value="44" onclick="formsubscribe()" data-pref=""> <label class="form-check-label fw-bold" for="amf-input-macworld_us_deals_2559">Macworld US Deals</label> </div> </div> <div class="amf-el amf-type-textblock nl-desc"> <div class="text-block">Ensure you snap up the latest tech at incredible prices. The hottest deals on products for Apple lovers delivered straight to your inbox twice a week.</div> </div> </div> <div class="form-check nl-title"> <div class="amf-el amf-type-list hw cLeft cbNews"> <div class="amf-el-inner"> <input type="checkbox" class="checkbox form-check-input" name="macweek_2563" id="amf-input-macweek_2563" value="46" onclick="formsubscribe()" data-pref=""> <label class="form-check-label fw-bold" for="amf-input-macweek_2563">MacWeek</label> </div> </div> <div class="amf-el amf-type-textblock nl-desc"> <div class="text-block">Macworld’s editors curate the biggest Apple related stories from the past seven days. Straight to your inbox every Wednesday.</div> </div> </div> <div class="form-check nl-title"> <div class="amf-el amf-type-list hw cLeft cbNews"> <div class="amf-el-inner"> <input type="checkbox" class="checkbox form-check-input" name="ios_tips__trends_2565" id="amf-input-ios_tips__trends_2565" value="45" onclick="formsubscribe()" data-pref=""> <label class="form-check-label fw-bold" for="amf-input-ios_tips__trends_2565">iOS Tips & Trends</label> </div> </div> <div class="amf-el amf-type-textblock nl-desc"> <div class="text-block">The world of your iOS device is fast-moving and rich. Our weekly newsletter will keep you up to date. </div> </div> </div> <div class="form-check nl-title"> <div class="amf-el amf-type-list hw cLeft cbNews"> <div class="amf-el-inner"> <input type="checkbox" class="checkbox form-check-input" name="apple_breakfast_7833" id="amf-input-apple_breakfast_7833" value="1754524" onclick="formsubscribe()" data-pref=""> <label class="form-check-label fw-bold" for="amf-input-apple_breakfast_7833">Apple Breakfast</label> </div> </div> <div class="amf-el amf-type-textblock nl-desc"> <div class="text-block">David Price's bite-sized round-up of all the Apple news you need to know about. Get the Apple Breakfast column straight to your inbox.</div> </div> </div> <div class="form-check nl-title"> <div class="amf-el amf-type-list hw cLeft cbNews"> <div class="amf-el-inner"> <input type="checkbox" class="checkbox form-check-input" name="the_macalope_7926" id="amf-input-the_macalope_7926" value="1772246" onclick="formsubscribe()" data-pref=""> <label class="form-check-label fw-bold" for="amf-input-the_macalope_7926">The Macalope (Coming Soon)</label> </div> </div> <div class="amf-el amf-type-textblock nl-desc"> <div class="text-block">Calling all Apple fans who want an irreverent, humorous take on the latest news and rumors from a half-man, half-mythical Mac beast. Arrives every Tuesday.</div> </div> </div> <br> <hr class="my-4"> <br> </div> <div class="amf-el amf-type-email mb-4"> <label class="form-label" for="amf-input-email_2569"> Email Address <svg class="icon" focusable="false"> <use xlink:href="#required"></use> </svg> </label> <div class="amf-el-inner"> <input type="email" id="input_email" class="form-control" name="email_2569" maxlength="255" onkeyup="if (this.length>255) this.value=this.value.substr(0, 255);formsubscribe()" onblur="this.value=this.value.substr(0, 255);formsubscribe()" onfocus="formsubscribe()" onkeypress="formsubscribe()"> <div id="nb-feedback" style="display:none; margin-top: 5px;"></div> </div> </div> <div class="amf-el amf-type-select countryList country-select mb-4"> <label for="input_country" class="form-label"> Country <svg class="icon" focusable="false"> <use xlink:href="#required"></use> </svg> </label> <div class="amf-el-inner field-check"> <select class="form-select" name="input_country" id="input_country" onchange="formsubscribe();"> <option value="" selected>Select here</option> <option value="AL" data-region="Non-EU">Albania</option> <option value="DZ" data-region="Non-EU">Algeria</option> <option value="AX" data-region="Non-EU">Aland Islands</option> <option value="AS" data-region="Non-EU">American Samoa</option> <option value="AD" data-region="Non-EU">Andorra</option> <option value="AO" data-region="Non-EU">Angola</option> <option value="AI" data-region="Non-EU">Anguilla</option> <option value="AQ" data-region="Non-EU">Antarctica</option> <option value="AG" data-region="Non-EU">Antigua and Barbuda</option> <option value="AR" data-region="Non-EU">Argentina</option> <option value="AM" data-region="Non-EU">Armenia</option> <option value="AW" data-region="Non-EU">Aruba</option> <option value="AU" data-region="Non-EU">Australia</option> <option value="AT" data-region="EU">Austria</option> <option value="AZ" data-region="Non-EU">Azerbaijan</option> <option value="BS" data-region="Non-EU">Bahamas</option> <option value="BH" data-region="Non-EU">Bahrain</option> <option value="BD" data-region="Non-EU">Bangladesh</option> <option value="BB" data-region="Non-EU">Barbados</option> <option value="BE" data-region="EU">Belgium</option> <option value="BZ" data-region="Non-EU">Belize</option> <option value="BJ" data-region="Non-EU">Benin</option> <option value="BM" data-region="Non-EU">Bermuda</option> <option value="BT" data-region="Non-EU">Bhutan</option> <option value="BO" data-region="Non-EU">Bolivia, Plurinational State of</option> <option value="BQ" data-region="Non-EU">Bonaire, Sint Eustatius and Saba</option> <option value="BA" data-region="Non-EU">Bosnia and Herzegovina</option> <option value="BW" data-region="Non-EU">Botswana</option> <option value="BV" data-region="Non-EU">Bouvet Island</option> <option value="BR" data-region="Non-EU">Brazil</option> <option value="IO" data-region="Non-EU">British Indian Ocean Territory</option> <option value="BN" data-region="Non-EU">Brunei Darussalam</option> <option value="BG" data-region="EU">Bulgaria</option> <option value="BF" data-region="Non-EU">Burkina Faso</option> <option value="BI" data-region="Non-EU">Burundi</option> <option value="CV" data-region="Non-EU">Cabo Verde</option> <option value="KH" data-region="Non-EU">Cambodia</option> <option value="CM" data-region="Non-EU">Cameroon</option> <option value="CA" data-region="EU">Canada</option> <option value="KY" data-region="Non-EU">Cayman Islands</option> <option value="CF" data-region="Non-EU">Central African Republic</option> <option value="TD" data-region="Non-EU">Chad</option> <option value="CL" data-region="Non-EU">Chile</option> <option value="CN" data-region="Non-EU">China</option> <option value="CX" data-region="Non-EU">Christmas Island</option> <option value="CC" data-region="Non-EU">Cocos (Keeling) Islands</option> <option value="CO" data-region="Non-EU">Colombia</option> <option value="KM" data-region="Non-EU">Comoros</option> <option value="CG" data-region="Non-EU">Congo</option> <option value="CD" data-region="Non-EU">Congo, the Democratic Republic of the</option> <option value="CK" data-region="Non-EU">Cook Islands</option> <option value="CR" data-region="Non-EU">Costa Rica</option> <option value="HR" data-region="EU">Croatia</option> <option value="CW" data-region="Non-EU">Curaçao</option> <option value="CY" data-region="EU">Cyprus</option> <option value="CZ" data-region="EU">Czechia</option> <option value="CI" data-region="Non-EU">Côte d'Ivoire</option> <option value="DK" data-region="EU">Denmark</option> <option value="DJ" data-region="Non-EU">Djibouti</option> <option value="DM" data-region="Non-EU">Dominica</option> <option value="DO" data-region="Non-EU">Dominican Republic</option> <option value="EC" data-region="Non-EU">Ecuador</option> <option value="EG" data-region="Non-EU">Egypt</option> <option value="SV" data-region="Non-EU">El Salvador</option> <option value="GQ" data-region="Non-EU">Equatorial Guinea</option> <option value="ER" data-region="Non-EU">Eritrea</option> <option value="EE" data-region="EU">Estonia</option> <option value="ET" data-region="Non-EU">Ethiopia</option> <option value="FK" data-region="Non-EU">Falkland Islands (Malvinas)</option> <option value="FO" data-region="Non-EU">Faroe Islands</option> <option value="FJ" data-region="Non-EU">Fiji</option> <option value="FI" data-region="EU">Finland</option> <option value="FR" data-region="EU">France</option> <option value="GF" data-region="Non-EU">French Guiana</option> <option value="PF" data-region="Non-EU">French Polynesia</option> <option value="TF" data-region="Non-EU">French Southern Territories</option> <option value="GA" data-region="Non-EU">Gabon</option> <option value="GM" data-region="Non-EU">Gambia</option> <option value="GE" data-region="Non-EU">Georgia</option> <option value="DE" data-region="EU">Germany</option> <option value="GH" data-region="Non-EU">Ghana</option> <option value="GI" data-region="Non-EU">Gibraltar</option> <option value="GR" data-region="EU">Greece</option> <option value="GL" data-region="Non-EU">Greenland</option> <option value="GD" data-region="Non-EU">Grenada</option> <option value="GP" data-region="Non-EU">Guadeloupe</option> <option value="GU" data-region="Non-EU">Guam</option> <option value="GT" data-region="Non-EU">Guatemala</option> <option value="GG" data-region="Non-EU">Guernsey</option> <option value="GN" data-region="Non-EU">Guinea</option> <option value="GW" data-region="Non-EU">Guinea-Bissau</option> <option value="GY" data-region="Non-EU">Guyana</option> <option value="HT" data-region="Non-EU">Haiti</option> <option value="HM" data-region="Non-EU">Heard Island and McDonald Islands</option> <option value="VA" data-region="Non-EU">Holy See</option> <option value="HN" data-region="Non-EU">Honduras</option> <option value="HK" data-region="Non-EU">Hong Kong</option> <option value="HU" data-region="EU">Hungary</option> <option value="IS" data-region="Non-EU">Iceland</option> <option value="IN" data-region="Non-EU">India</option> <option value="ID" data-region="Non-EU">Indonesia</option> <option value="IQ" data-region="Non-EU">Iraq</option> <option value="IE" data-region="EU">Ireland</option> <option value="IM" data-region="Non-EU">Isle of Man</option> <option value="IL" data-region="Non-EU">Israel</option> <option value="IT" data-region="EU">Italy</option> <option value="JM" data-region="Non-EU">Jamaica</option> <option value="JP" data-region="Non-EU">Japan</option> <option value="JE" data-region="Non-EU">Jersey</option> <option value="JO" data-region="Non-EU">Jordan</option> <option value="KZ" data-region="Non-EU">Kazakhstan</option> <option value="KE" data-region="Non-EU">Kenya</option> <option value="KI" data-region="Non-EU">Kiribati</option> <option value="KR" data-region="Non-EU">Korea, Republic of</option> <option value="KW" data-region="Non-EU">Kuwait</option> <option value="KG" data-region="Non-EU">Kyrgyzstan</option> <option value="LA" data-region="Non-EU">Lao People's Democratic Republic</option> <option value="LV" data-region="EU">Latvia</option> <option value="LB" data-region="Non-EU">Lebanon</option> <option value="LS" data-region="Non-EU">Lesotho</option> <option value="LR" data-region="Non-EU">Liberia</option> <option value="LY" data-region="Non-EU">Libya</option> <option value="LI" data-region="Non-EU">Liechtenstein</option> <option value="LT" data-region="EU">Lithuania</option> <option value="LU" data-region="EU">Luxembourg</option> <option value="MO" data-region="Non-EU">Macao</option> <option value="MK" data-region="Non-EU">Macedonia, the former Yugoslav Republic of</option> <option value="MG" data-region="Non-EU">Madagascar</option> <option value="MW" data-region="Non-EU">Malawi</option> <option value="MY" data-region="Non-EU">Malaysia</option> <option value="MV" data-region="Non-EU">Maldives</option> <option value="ML" data-region="Non-EU">Mali</option> <option value="MT" data-region="EU">Malta</option> <option value="MH" data-region="Non-EU">Marshall Islands</option> <option value="MQ" data-region="Non-EU">Martinique</option> <option value="MR" data-region="Non-EU">Mauritania</option> <option value="MU" data-region="Non-EU">Mauritius</option> <option value="YT" data-region="Non-EU">Mayotte</option> <option value="MX" data-region="Non-EU">Mexico</option> <option value="FM" data-region="Non-EU">Micronesia, Federated States of</option> <option value="MD" data-region="Non-EU">Moldova, Republic of</option> <option value="MC" data-region="Non-EU">Monaco</option> <option value="MN" data-region="Non-EU">Mongolia</option> <option value="ME" data-region="Non-EU">Montenegro</option> <option value="MS" data-region="Non-EU">Montserrat</option> <option value="MA" data-region="Non-EU">Morocco</option> <option value="MZ" data-region="Non-EU">Mozambique</option> <option value="MM" data-region="Non-EU">Myanmar</option> <option value="NA" data-region="Non-EU">Namibia</option> <option value="NR" data-region="Non-EU">Nauru</option> <option value="NP" data-region="Non-EU">Nepal</option> <option value="NL" data-region="EU">Netherlands</option> <option value="NC" data-region="Non-EU">New Caledonia</option> <option value="NZ" data-region="Non-EU">New Zealand</option> <option value="NI" data-region="Non-EU">Nicaragua</option> <option value="NE" data-region="Non-EU">Niger</option> <option value="NG" data-region="Non-EU">Nigeria</option> <option value="NU" data-region="Non-EU">Niue</option> <option value="NF" data-region="Non-EU">Norfolk Island</option> <option value="MP" data-region="Non-EU">Northern Mariana Islands</option> <option value="NO" data-region="Non-EU">Norway</option> <option value="OM" data-region="Non-EU">Oman</option> <option value="PK" data-region="Non-EU">Pakistan</option> <option value="PW" data-region="Non-EU">Palau</option> <option value="PS" data-region="Non-EU">Palestine, State of</option> <option value="PA" data-region="Non-EU">Panama</option> <option value="PG" data-region="Non-EU">Papua New Guinea</option> <option value="PY" data-region="Non-EU">Paraguay</option> <option value="PE" data-region="Non-EU">Peru</option> <option value="PH" data-region="Non-EU">Philippines</option> <option value="PN" data-region="Non-EU">Pitcairn</option> <option value="PL" data-region="EU">Poland</option> <option value="PT" data-region="EU">Portugal</option> <option value="PR" data-region="Non-EU">Puerto Rico</option> <option value="QA" data-region="Non-EU">Qatar</option> <option value="RO" data-region="EU">Romania</option> <option value="RW" data-region="Non-EU">Rwanda</option> <option value="RE" data-region="Non-EU">Réunion</option> <option value="BL" data-region="Non-EU">Saint Barthélemy</option> <option value="SH" data-region="Non-EU">Saint Helena, Ascension and Tristan da Cunha</option> <option value="KN" data-region="Non-EU">Saint Kitts and Nevis</option> <option value="LC" data-region="Non-EU">Saint Lucia</option> <option value="MF" data-region="Non-EU">Saint Martin (French part)</option> <option value="PM" data-region="Non-EU">Saint Pierre and Miquelon</option> <option value="VC" data-region="Non-EU">Saint Vincent and the Grenadines</option> <option value="WS" data-region="Non-EU">Samoa</option> <option value="SM" data-region="Non-EU">San Marino</option> <option value="ST" data-region="Non-EU">Sao Tome and Principe</option> <option value="SA" data-region="Non-EU">Saudi Arabia</option> <option value="SN" data-region="Non-EU">Senegal</option> <option value="RS" data-region="Non-EU">Serbia</option> <option value="SC" data-region="Non-EU">Seychelles</option> <option value="SL" data-region="Non-EU">Sierra Leone</option> <option value="SG" data-region="Non-EU">Singapore</option> <option value="SX" data-region="Non-EU">Sint Maarten (Dutch part)</option> <option value="SK" data-region="EU">Slovakia</option> <option value="SI" data-region="EU">Slovenia</option> <option value="SB" data-region="Non-EU">Solomon Islands</option> <option value="SO" data-region="Non-EU">Somalia</option> <option value="ZA" data-region="Non-EU">South Africa</option> <option value="GS" data-region="Non-EU">South Georgia and the South Sandwich Islands</option> <option value="SS" data-region="Non-EU">South Sudan</option> <option value="ES" data-region="EU">Spain</option> <option value="LK" data-region="Non-EU">Sri Lanka</option> <option value="SD" data-region="Non-EU">Sudan</option> <option value="SR" data-region="Non-EU">Suriname</option> <option value="SJ" data-region="Non-EU">Svalbard and Jan Mayen</option> <option value="SZ" data-region="Non-EU">Swaziland</option> <option value="SE" data-region="EU">Sweden</option> <option value="CH" data-region="Non-EU">Switzerland</option> <option value="TW" data-region="Non-EU">Taiwan, Province of China</option> <option value="TJ" data-region="Non-EU">Tajikistan</option> <option value="TZ" data-region="Non-EU">Tanzania, United Republic of</option> <option value="TH" data-region="Non-EU">Thailand</option> <option value="TL" data-region="Non-EU">Timor-Leste</option> <option value="TG" data-region="Non-EU">Togo</option> <option value="TK" data-region="Non-EU">Tokelau</option> <option value="TO" data-region="Non-EU">Tonga</option> <option value="TT" data-region="Non-EU">Trinidad and Tobago</option> <option value="TN" data-region="Non-EU">Tunisia</option> <option value="TR" data-region="Non-EU">Turkey</option> <option value="TM" data-region="Non-EU">Turkmenistan</option> <option value="TC" data-region="Non-EU">Turks and Caicos Islands</option> <option value="TV" data-region="Non-EU">Tuvalu</option> <option value="UG" data-region="Non-EU">Uganda</option> <option value="UA" data-region="Non-EU">Ukraine</option> <option value="AE" data-region="Non-EU">United Arab Emirates</option> <option value="GB" data-region="EU">United Kingdom of Great Britain and Northern Ireland</option> <option value="UM" data-region="Non-EU">United States Minor Outlying Islands</option> <option value="US" data-region="Non-EU">United States of America</option> <option value="UY" data-region="Non-EU">Uruguay</option> <option value="UZ" data-region="Non-EU">Uzbekistan</option> <option value="VU" data-region="Non-EU">Vanuatu</option> <option value="VN" data-region="Non-EU">Viet Nam</option> <option value="VG" data-region="Non-EU">Virgin Islands, British</option> <option value="VI" data-region="Non-EU">Virgin Islands, U.S.</option> <option value="WF" data-region="Non-EU">Wallis and Futuna</option> <option value="EH" data-region="Non-EU">Western Sahara</option> <option value="YE" data-region="Non-EU">Yemen</option> <option value="ZM" data-region="Non-EU">Zambia</option> <option value="ZW" data-region="Non-EU">Zimbabwe</option> </select> </div> </div> <div class="amf-el amf-type-htmlblock eu"> <div class="html-block form-check ms-2"> <p> <small>I have read the <a href="/about/privacy/" target="_blank" rel="noopener">PRIVACY POLICY</a> which describes how my personal data may be collected, stored, processed, and shared. IDG Communications, Inc. and Group Undertakings may collect, store and process my personal data for purposes of my accessing the requested content or receiving the requested service including registration for and attendance of events, and also for the purpose of my receiving offers for similar content or services by direct marketing including Email, telemarketing, and SMS text. My Personal Data will only be transferred to third countries if an adequate level of protection or safeguard exist to protect my personal Data. My consent can be withdrawn at any time in the future by emailing <a href="mailto:datarequest@idg.com" target="_blank" rel="noopener">datarequest@idg.com</a>.</small> </p> </div> </div> <div class="amf-el amf-type-checkbox agree form-check ms-2"> <div class="amf-el-inner mb-5"> <input type="checkbox" class="checkbox form-check-input" name="i_agree_2577" id="input_agree" value="TRUE" onclick="formsubscribe()"> <label for="amf-input-i_agree_2577" class="form-check-label"> I agree <svg class="icon" focusable="false"> <use xlink:href="#required"></use> </svg> </label> </div> </div> <div id="recaptcha_response"></div> <!--<input type="hidden" class="" name="owner_id_4932" id="amf-hidden-owner_id_4932" value="0c99a1d7-c4e7-42a5-910f-a22134d1f98d">--> <div class="amf-el amf-type-button" id="amf-el-submit"> <button class="btn btn-primary btn-lg mb-5" name="submit" type="submit" id="subscribebtn" disabled>Submit</button> </div> <div class="policy-terms"> <p>This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service</a> apply. </p> </div> <div id="recaptcha-container" style="display: none;color: red;margin-bottom: 10px;"></div> <input type="hidden" value="" name="nb-result"> <input id="consent_validation" type="hidden" value="" name="consent-result"> <script> (function () { if (window?.IDG?.geolocation) { document.getElementById("input_country").value = window.IDG.geolocation.toUpperCase(); } var form = document.getElementById("newslettersignup"); form.addEventListener("submit", function (evt) { evt.preventDefault(); nbajax(); }); })(); function getCheckedBoxes() { var checkboxes = document.querySelectorAll('#nlCheckBoxWrapper input[type=checkbox]:checked'); var checkboxesChecked = []; // loop over them all for (var i = 0; i < checkboxes.length; i++) { // And stick the checked ones onto an array... if (checkboxes[i].checked) { checkboxesChecked.push(checkboxes[i].defaultValue); } } // Return the array if it is non-empty, or null return checkboxesChecked.length > 0 ? checkboxesChecked : null; } function formsubscribe() { var emailinput = encodeURIComponent(document.getElementById("input_email").value); var nbresult = document.forms["nlForm"].elements["nb-result"]; var allPrefElement = document.querySelectorAll("[data-pref]"); var agreeCheckBox = document.getElementById("input_agree"); var country = document.getElementById("input_country").value; if ( country && country.value != "" && allPrefElement.length > 0 && emailinput != "" && Array.from(allPrefElement).find((t) => t.checked) && agreeCheckBox && agreeCheckBox.checked ) { document.getElementById("subscribebtn").removeAttribute("disabled"); } else { document .getElementById("subscribebtn") .setAttribute("disabled", "disabled"); } } function nbajax() { // Generate a reCAPTCHA token grecaptcha.ready(function () { grecaptcha.execute(recaptcha_site_key, { action: 'submit' }).then(function (token) { var emailinput = encodeURIComponent(document.getElementById("input_email").value); var consent_value = document.getElementById("consent_validation").value; var newsletter_id = getCheckedBoxes().toString(); var countrydropdown = document.getElementById("input_country"); var selectedOption = countrydropdown.options[countrydropdown.selectedIndex]; var dataRegionvalue = selectedOption.getAttribute("data-region"); var country = countrydropdown.value; document.getElementById("subscribebtn").setAttribute("disabled", "disabled"); document.getElementById("subscribebtn").innerHTML = 'Loading..'; const xhttp = new XMLHttpRequest(); const requestUri = `action=idg_neverbounce_email_validate&_ajaxnonce=${ajaxload_params.nonce}&email=${emailinput}&recaptcha_token=${token}&ids=${newsletter_id}&country=${country}®ion=${dataRegionvalue}&visitorConsentedAll=${consent_value}`; //eslint-disable-line xhttp.onload = function ajaxLoad() { if (xhttp.status >= 200 && xhttp.status <= 400) { const serverResponse = JSON.parse(xhttp.responseText); document.getElementById('nb-feedback').style.display = 'block'; document.getElementById("nb-feedback").innerHTML = ''; document.getElementById("subscribebtn").innerHTML = 'Submit'; document.getElementById("subscribebtn").removeAttribute("disabled"); if (serverResponse.recaptcha === 'failed') { document.getElementById("recaptcha_response").style.display = 'block'; document.getElementById("recaptcha_response").innerHTML = "<span>" + serverResponse.message + ""; } else if (!serverResponse.recaptcha) { document.getElementById("recaptcha_response").style.display = 'none'; } if (serverResponse.neverbounce === 'success') { document.forms["nlForm"].elements["nb-result"].value = 'true'; var theDiv = document.getElementById("nb-feedback"); theDiv.innerHTML += "<span style='color:green;'>Valid Email address"; document.getElementById("subscribebtn").click(); } else if (serverResponse.neverbounce === 'failed') { document.forms["nlForm"].elements["nb-result"].value = 'false'; var theDiv = document.getElementById("nb-feedback"); theDiv.innerHTML += "<span style='color:red;'>" + serverResponse.message + ""; } else if (serverResponse.newsletter_adestra === 'success') { location.href = "/newsletters/thankyou"; } else if (serverResponse.newsletter_adestra === 'failed') { document.getElementById("recaptcha_response").style.display = 'block'; document.getElementById("recaptcha_response").innerHTML = "<span>" + serverResponse.message + ""; } } }; xhttp.open('POST', ajaxload_params.ajaxurl, true); //eslint-disable-line xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhttp.send(requestUri); }); }); } </script> </form> </div> </body></div> </div><!-- .entry-content --> </article><!-- #post-100000772 --> </main><!-- #main --> <footer class="primaryFooter"> <div class="primaryFooter-wrap"> <div class ='primaryFooter-return-top' title="Return to Top"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M35.5 279.9l148-148.4c4.7-4.7 12.3-4.7 17 0l148 148.4c4.7 4.7 4.7 12.3 0 17l-19.6 19.6c-4.8 4.8-12.5 4.7-17.1-.2L218 219.2V468c0 6.6-5.4 12-12 12h-28c-6.6 0-12-5.4-12-12V219.2l-93.7 97.1c-4.7 4.8-12.4 4.9-17.1.2l-19.6-19.6c-4.8-4.7-4.8-12.3-.1-17zM12 84h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12H12C5.4 32 0 37.4 0 44v28c0 6.6 5.4 12 12 12z"/> </div> <div class="primaryFooter-top"> <div class="primaryFooter-top--logo"> <a href="https://www.macworld.com" title="Macworld" aria-label="Macworld is your best source for all things Apple. We give you the scoop on what's new, what's best and how to make the most out of the products you love."> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 234 41"><defs><path id="a" d="M.194.132h39.765v40.561H.194z"/></defs><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M31.098 39.136V17.504h-.28L20.564 34.912h-2.241L8.068 17.504h-.279v21.632H0V1.864h7.676l11.991 20.434h.113L31.715 1.864h7.452v37.272zM61.736 31.944v-2.67c-1.189-1.022-3.567-1.987-6.398-1.987-4.473 0-6.115 1.76-6.115 3.862 0 2.33 1.869 3.863 5.039 3.863 3.964 0 6.625-2.272 7.474-3.068M43.618 14.22c2.605-1.307 7.588-2.954 12.909-2.954 6.342 0 12.74 2.159 12.74 8.408v14.827c0 1.25.113 3.295.793 5.397h-7.474c-.283-.852-.51-2.159-.68-3.181-2.038 1.987-4.473 3.862-9.285 3.862-6.68 0-10.928-4.033-10.928-9.43 0-5.17 4.416-9.202 12.117-9.202 2.943 0 5.888.682 7.926 2.272v-2.784c0-2.898-2.49-4.205-5.83-4.205-3.511 0-7.928 1.535-9.965 2.614l-2.323-5.624m50.483 6.76c-2.265-2.214-4.869-3.294-7.077-3.294-4.077 0-7.361 3.182-7.361 8.237 0 5.056 3.51 8.465 7.644 8.465 2.775 0 5.322-1.705 7.417-3.75l4.643 4.658c-1.19 1.42-5.832 5.454-12.91 5.454-7.983 0-14.833-5.907-14.833-14.827 0-8.862 6.623-14.657 14.833-14.657 4.247 0 8.72 1.478 12.343 4.715l-4.699 5m30.124-8.805l4.983 17.724h.339l4.303-17.724h7.757l-8.776 27.722h-7.19l-4.814-16.985h-.34l-4.868 16.985h-7.134l-8.777-27.722h7.928l4.416 17.724h.339l4.983-17.724zm31.281 22.325c4.7 0 7.418-3.977 7.418-8.579 0-4.543-2.718-8.35-7.418-8.35-4.585 0-7.247 3.807-7.247 8.35 0 4.602 2.662 8.58 7.247 8.58m0-23.237c9.003 0 15.117 6.42 15.117 14.657 0 8.239-6.114 14.827-15.117 14.827-8.945 0-15.004-6.588-15.004-14.827 0-8.237 6.059-14.657 15.004-14.657m24.989 10.795v17.838h-7.587V20.015c0-2.33-.227-4.772-.793-7.84h6.907a40.91 40.91 0 01.567 4.148c1.698-2.84 3.68-5.057 7.247-5.057 1.415 0 3.284.398 4.247 1.137l-2.095 6.93c-.85-.34-2.718-.795-3.737-.795-1.981 0-3.228 1.533-4.756 3.522"/><g transform="translate(193.968)"><mask id="b" fill="#fff"><use xlink:href="#a"/></mask><path fill="#FFF" mask="url(#b)" d="M.194 39.898h7.618V.132H.194zm18.391-13.975c0 5.055 2.842 8.407 6.424 8.407 3.298 0 5.742-2.045 6.709-3.067V20.81c-1.99-1.932-4.434-3.124-6.709-3.124-3.639 0-6.424 3.182-6.424 8.237m14.213 13.975c-.17-.966-.285-2.33-.342-3.295-1.705 1.932-4.719 4.09-8.584 4.09-7.39 0-13.474-5.85-13.474-14.77 0-8.862 6.14-14.657 13.474-14.657 2.729 0 5.571 1.307 7.846 3.41V.13h7.618v31.871c0 2.273 0 4.658.625 7.896h-7.163"/></g></g></svg> </a> </div> <div class="primaryFooter-top--tagline"> Macworld is your best source for all things Apple. We give you the scoop on what's new, what's best and how to make the most out of the products you love. </div> <div class="primaryFooter-top-social-wrap"> <ul class="primaryFooter-top-social"> <li class="primaryFooter-top-social--facebook"> <a href="https://www.facebook.com/Macworld/" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on Facebook"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"/></svg> </a> </li> <li class="primaryFooter-top-social--twitter"> <a href="https://twitter.com/macworld" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on X"> <svg version="1.1" id="Layer_1" xmlns:x="ns_extend;" xmlns:i="ns_ai;" xmlns:graph="ns_graphs;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 49.8 45" style="enable-background:new 0 0 49.8 45;" xml:space="preserve"> <metadata> <sfw xmlns="ns_sfw;"> <slices> </slices> <sliceSourceBounds bottomLeftOrigin="true" height="45" width="49.8" x="-67.2" y="-209.8"> </sliceSourceBounds> </sfw> </metadata> <g> <path d="M39.2,0h7.6L30.2,19.1L49.8,45H34.4l-12-15.7L8.6,45H1l17.8-20.4L0,0h15.8l10.9,14.4L39.2,0z M36.5,40.4h4.2L13.5,4.3H8.9 L36.5,40.4z"> </path> </g> </svg> </a> </li> <li class="primaryFooter-top-social--youtube"> <a href="https://www.youtube.com/user/macworld" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on YouTube"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg> </a> </li> <li class="primaryFooter-top-social--linkedin"> <a href="https://www.linkedin.com/company/macworld/" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on LinkedIn"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg> </a> </li> <li class="primaryFooter-top-social--whatsapp"> <a href="https://whatsapp.com/channel/0029VagNnbe002TCyUyKte2j" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on WhatsApp"> <svg width="360" height="362" viewBox="0 0 360 362" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <path fill-rule="evenodd" clip-rule="evenodd" d="M307.546 52.5655C273.709 18.685 228.706 0.0171895 180.756 0C81.951 0 1.53846 80.404 1.50408 179.235C1.48689 210.829 9.74646 241.667 25.4319 268.844L0 361.736L95.0236 336.811C121.203 351.096 150.683 358.616 180.679 358.625H180.756C279.544 358.625 359.966 278.212 360 179.381C360.017 131.483 341.392 86.4547 307.546 52.5741V52.5655ZM180.756 328.354H180.696C153.966 328.346 127.744 321.16 104.865 307.589L99.4242 304.358L43.034 319.149L58.0834 264.168L54.5423 258.53C39.6304 234.809 31.749 207.391 31.7662 179.244C31.8006 97.1036 98.6334 30.2707 180.817 30.2707C220.61 30.2879 258.015 45.8015 286.145 73.9665C314.276 102.123 329.755 139.562 329.738 179.364C329.703 261.513 262.871 328.346 180.756 328.346V328.354ZM262.475 216.777C257.997 214.534 235.978 203.704 231.869 202.209C227.761 200.713 224.779 199.966 221.796 204.452C218.814 208.939 210.228 219.029 207.615 222.011C205.002 225.002 202.389 225.372 197.911 223.128C193.434 220.885 179.003 216.158 161.891 200.902C148.578 189.024 139.587 174.362 136.975 169.875C134.362 165.389 136.7 162.965 138.934 160.739C140.945 158.728 143.412 155.505 145.655 152.892C147.899 150.279 148.638 148.406 150.133 145.423C151.629 142.432 150.881 139.82 149.764 137.576C148.646 135.333 139.691 113.287 135.952 104.323C132.316 95.5909 128.621 96.777 125.879 96.6309C123.266 96.5019 120.284 96.4762 117.293 96.4762C114.302 96.4762 109.454 97.5935 105.346 102.08C101.238 106.566 89.6691 117.404 89.6691 139.441C89.6691 161.478 105.716 182.785 107.959 185.776C110.202 188.767 139.544 234.001 184.469 253.408C195.153 258.023 203.498 260.782 210.004 262.845C220.731 266.257 230.494 265.776 238.212 264.624C246.816 263.335 264.71 253.786 268.44 243.326C272.17 232.866 272.17 223.893 271.053 222.028C269.936 220.163 266.945 219.037 262.467 216.794L262.475 216.777Z" fill="#111B21"> </path> </svg> </a> </li> </ul> </div> </div> <div class="primaryFooter-bottom"> <div class="primaryFooter-menu-wrap"><ul id="menu-footer-primary-menu-en-us" class="primaryFooter-menu"><li id="menu-item-100000714-" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children inactive"><a>POLICIES</a><button class="sub-menu-open-button" aria-label="open-close"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z"/></svg></button> <ul class="sub-menu"> <li id="menu-item-100000706-" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy inactive"><a href="https://www.macworld.com/about/privacy">Privacy Policy</a></li> <li id="menu-item-100000707-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/about/cookie-policy">Cookie Policy</a></li> <li id="menu-item-100217218-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://foundryco.com/copyright-notice/">Copyright Notice</a></li> <li id="menu-item-100133416-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://www.macworld.com/about/member-preferences#cookie">European Privacy Settings</a></li> <li id="menu-item-100000708-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/about/member-preferences">Member Preferences</a></li> <li id="menu-item-100000709-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/about/affiliate-link-policy">Editorial Independence</a></li> <li id="menu-item-100068101-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://info.wrightsmedia.com/foundry-media-licensing">Licensing & Eprints</a></li> <li id="menu-item-100000710-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/about/ccpa">California: Do not sell my Personal Info</a></li> </ul> </li> </ul></div><div class="primaryFooter-menu-wrap"><ul id="menu-secondary-footer-menu-en-us" class="primaryFooter-menu"><li id="menu-item-100000716-" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children inactive"><a>ABOUT</a><button class="sub-menu-open-button" aria-label="open-close"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z"/></svg></button> <ul class="sub-menu"> <li id="menu-item-100000717-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/about">About Us</a></li> <li id="menu-item-100000722-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/about/contact">Contact Us</a></li> <li id="menu-item-100000862-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://foundryco.com/our-brands/macworld/">Advertise</a></li> <li id="menu-item-100000724-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://foundryco.com/idg-ad-choices/">Ad Choices</a></li> <li id="menu-item-100000725-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://foundryco.com/work-here/">Foundry Careers</a></li> <li id="menu-item-100211760-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/smart-answers">Smart Answers</a></li> </ul> </li> </ul></div> <div class="primaryFooter-menu-wrap"> <ul id="third-column-footer-menu" class="primaryFooter-menu"> <li id="third-column-footer-menu-item-one" class="menu-item-has-children"> More from Macworld<button class="sub-menu-open-button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z" /></svg></button> <ul id="footer_one_image" class="sub-menu"> <li> <p><a href="https://www.macworld.se/">Macworld Sweden</a></p> <p><a href="https://www.macwelt.de/">Macwelt Germany</a></p> </li> </ul> </li> </ul> </div> <div class="primaryFooter-menu-wrap"> <ul id="forth-column-footer-menu" class="primaryFooter-menu"> <li id="third-column-footer-menu-item" class="menu-item-has-children"> Subscribe<button class="sub-menu-open-button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z" /></svg></button> <ul id="footer_two_image" class="sub-menu"> <li id="footer_two_image_item"> <img src='https://www.macworld.com/wp-content/uploads/2023/01/macworld-wp-footer-promo.jpg?quality=50&strip=all ' alt="Recent cover images of Macworld Digital Magazine" loading="lazy"/> </li> <li> <p><a href="https://simplecirc.com/subscribe/macworld">Subscribe to the Macworld Digital Magazine</a></p> <p><a href="https://simplecirc.com/subscriber_login/macworld">Manage Subscription</a></p> <p><a href="https://www.macworld.com/newsletters/signup">Newsletter</a></p> <p><a href="https://whatsapp.com/channel/0029VagNnbe002TCyUyKte2j">Follow us on WhatsApp</a></p> </li> </ul> </li> </ul> </div> </div> </div> <div class='footer-base'> <div class ='footer-base-child foundry-logo'> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 338 82"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:none;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M167.33,1.09c6.31,0,10,4.11,10,10s-3.65,10-10,10-10-4.18-10-10S160.94,1.09,167.33,1.09Z"/><path class="cls-1" d="M140.57,58.33c0,4.11-.38,7.68-1.67,10.64-3.42,7.83-10.57,11.94-20.3,11.94-10.11,0-17.26-4.11-20.68-11.94-1.29-3-1.67-6.53-1.67-10.64V26.63h13.68V57.57a15.6,15.6,0,0,0,.84,6c1.44,3.34,4.56,4.56,7.83,4.56a7.72,7.72,0,0,0,7.45-4.56,15.6,15.6,0,0,0,.84-6V26.63h13.68Z"/><path class="cls-1" d="M189.9,48V79.85H176.22V49a15.53,15.53,0,0,0-.83-6c-1.45-3.35-4.57-4.87-8.06-4.87s-6.62,1.52-8.06,4.87a15.51,15.51,0,0,0-.84,6V79.85H144.75V48c0-4.1.38-7.67,1.67-10.64,3.42-7.83,10.57-12,20.91-12s17.48,4.18,20.9,12C189.52,40.32,189.9,43.89,189.9,48Z"/><polygon class="cls-1" points="311.23 47.39 322.48 26.63 337 26.63 317.92 61.15 317.92 79.84 303.93 79.84 303.93 61.15 285 26.63 300.06 26.63 311.23 47.39"/><polygon class="cls-1" points="39.09 26.63 1 26.63 1 79.84 14.68 79.84 14.68 61.83 37.41 61.83 37.41 49.51 14.68 49.51 14.68 39.02 39.09 39.02 39.09 26.63"/><path class="cls-1" d="M167.33,1.09c6.31,0,10,4.11,10,10s-3.65,10-10,10-10-4.18-10-10S160.94,1.09,167.33,1.09Z"/><path class="cls-1" d="M140.57,58.33c0,4.11-.38,7.68-1.67,10.64-3.42,7.83-10.57,11.94-20.3,11.94-10.11,0-17.26-4.11-20.68-11.94-1.29-3-1.67-6.53-1.67-10.64V26.63h13.68V57.57a15.6,15.6,0,0,0,.84,6c1.44,3.34,4.56,4.56,7.83,4.56a7.72,7.72,0,0,0,7.45-4.56,15.6,15.6,0,0,0,.84-6V26.63h13.68Z"/><path class="cls-1" d="M189.9,48V79.85H176.22V49a15.53,15.53,0,0,0-.83-6c-1.45-3.35-4.57-4.87-8.06-4.87s-6.62,1.52-8.06,4.87a15.51,15.51,0,0,0-.84,6V79.85H144.75V48c0-4.1.38-7.67,1.67-10.64,3.42-7.83,10.57-12,20.91-12s17.48,4.18,20.9,12C189.52,40.32,189.9,43.89,189.9,48Z"/><polygon class="cls-1" points="311.08 47.39 322.33 26.63 336.85 26.63 317.77 61.15 317.77 79.84 303.78 79.84 303.78 61.15 284.85 26.63 299.9 26.63 311.08 47.39"/><path class="cls-1" d="M267.37,63.05h-8.59v16.8H245.09V26.63h25.39c10.19,0,17.79,6.77,17.79,18.09,0,7-2.89,12.32-7.9,15.51l8.21,19.62H274Zm-8.59-24.63V51.11h8.59c5.09,0,7.3-2.43,7.3-6.39,0-3.72-2.21-6.3-7.3-6.3Zm8.59,24.63h-8.59v16.8H245.09V26.63h25.39c10.19,0,17.79,6.77,17.79,18.09,0,7-2.89,12.32-7.9,15.51l8.21,19.62H274Zm-8.59-24.63V51.11h8.59c5.09,0,7.3-2.43,7.3-6.39,0-3.72-2.21-6.3-7.3-6.3Z"/><path class="cls-1" d="M194.54,79.85V26.63h19.69c17.26,0,27.37,10.49,27.37,26.61,0,16.34-9,26.61-26.53,26.61Zm13.69-12h5.7c8.89,0,13.68-4.86,13.68-14.59,0-9.5-4.79-14.6-13.68-14.6h-5.7Zm-13.69,12V26.63h19.69c17.26,0,27.37,10.49,27.37,26.61,0,16.34-9,26.61-26.53,26.61Zm13.69-12h5.7c8.89,0,13.68-4.86,13.68-14.59,0-9.5-4.79-14.6-13.68-14.6h-5.7Z"/><path class="cls-1" d="M67.06,25.57c16,0,25.54,11.78,25.54,27.67,0,16.27-9.88,27.67-25.54,27.67-16,0-25.62-11.71-25.62-27.67C41.44,37.12,51.4,25.57,67.06,25.57ZM67,68.44c7.23,0,11.79-6,11.79-14.82C78.77,43.89,74.21,38,67.36,38c-7.45,0-12,5.85-12,14.82C55.35,62.44,59.91,68.44,67,68.44Zm.08-42.87c16,0,25.54,11.78,25.54,27.67,0,16.27-9.88,27.67-25.54,27.67-16,0-25.62-11.71-25.62-27.67C41.44,37.12,51.4,25.57,67.06,25.57ZM67,68.44c7.23,0,11.79-6,11.79-14.82C78.77,43.89,74.21,38,67.36,38c-7.45,0-12,5.85-12,14.82C55.35,62.44,59.91,68.44,67,68.44Z"/><polygon class="cls-1" points="39.09 26.63 1 26.63 1 79.84 14.68 79.84 14.68 61.83 37.41 61.83 37.41 49.51 14.68 49.51 14.68 39.02 39.09 39.02 39.09 26.63"/><rect class="cls-2" width="338" height="82"/></g></g></svg> </div> <div class='footer-base-child idg-copyright'> <div class="entry-copyright"> <a href="https://foundryco.com/terms-of-service-agreement/">Copyright © 2024 IDG Communications, Inc.</a> </div> </div> <div class='footer-base-child related-sites-dropdown'> <select id='footerSelect'> <option value="#">Explore the Foundry Network +</option> <option value="https://www.pcworld.com">PCWorld</option><option value="https://www.techhive.com">TechHive</option><option value="https://www.techadvisor.com">TechAdvisor</option> </select> </div> <div class ='footer-base-child return-top-mobile'> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M35.5 279.9l148-148.4c4.7-4.7 12.3-4.7 17 0l148 148.4c4.7 4.7 4.7 12.3 0 17l-19.6 19.6c-4.8 4.8-12.5 4.7-17.1-.2L218 219.2V468c0 6.6-5.4 12-12 12h-28c-6.6 0-12-5.4-12-12V219.2l-93.7 97.1c-4.7 4.8-12.4 4.9-17.1.2l-19.6-19.6c-4.8-4.7-4.8-12.3-.1-17zM12 84h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12H12C5.4 32 0 37.4 0 44v28c0 6.6 5.4 12 12 12z"/> <div class='return-top-text'> <a>Top Of Page</a> </div> </div> <div class="cmp"> <div id="ccpa-consent-ui"> <button > Do Not Sell My Info </button> </div> <div id="eea-consent-ui"> <button > Privacy Settings </button> </div> </div> </div> </footer> </div><!-- #page--> <!-- Start Subscriber Embed Code --> <script type="text/javascript"> var subscribersSiteId = "ce223ed1-731c-42ea-a371-710bb2897cce"; var subscribersServiceWorkerPath = '/?firebase-messaging-sw'; </script> <script type="text/javascript" src="https://cdn.subscribers.com/assets/subscribers.js"></script> <!-- End Subscriber Embed Code --> <!-- Google Tag Manager (noscript) --> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5JGZ3LH" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> <script> jQuery(document).on("click",".consent-button",function() { const consentButton = event.target; const embedType = jQuery(consentButton).data('type'); const callback = jQuery(consentButton).data('callback'); const cmpType = jQuery(consentButton).data('cmp'); console.log(cmpType, typeof cmpType); setOverlayCookie(embedType, true, 30); jQuery('.' + embedType).each(function() { jQuery(this).hide(); }); eval(callback); showOverlays(cmpType); }); </script> <script type="text/javascript"> window._taboola = window._taboola || []; _taboola.push({flush: true}); </script> <link rel='stylesheet' id='typekit-styles-css' href='https://use.typekit.net/eht4meo.css?ver=1.0.0' media='all' /> <script id="google-search-placeholder-js-after"> window.addEventListener("load", (event) => { document.getElementById("gsc-i-id1").placeholder = "Search"; }) </script> <script type="text/javascript" src="https://www.macworld.com/wp-includes/js/dist/hooks.min.js?m=1732206009g" ></script><script src="https://www.macworld.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script id="wp-i18n-js-after"> wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); </script> <script id="frontend-scripts-js-extra"> var siteData = {"site":"macworld.com","connectedhub":"b2c"}; </script> <script defer src="https://www.macworld.com/wp-content/themes/idg-base-theme/dist/scripts/bundle.js?ver=1731994471" id="frontend-scripts-js"></script> <script id="ajaxload_posts-js-extra"> var ajaxload_params = {"ajaxurl":"https:\/\/www.macworld.com\/wp-admin\/admin-ajax.php","nonce":"3bc01c3473"}; </script> <script defer src="https://www.macworld.com/wp-content/themes/idg-base-theme/dist/scripts/ajaxload-posts.js?ver=1" id="ajaxload_posts-js"></script> <script type="text/javascript" src="https://www.macworld.com/wp-content/themes/macworld-com-child-theme/dist/scripts/theme.js?m=1731994471g" ></script><script defer src="https://stats.wp.com/e-202448.js" id="jetpack-stats-js"></script> <script id="jetpack-stats-js-after"> _stq = window._stq || []; _stq.push([ "view", {v:'ext',blog:'178044738',post:'100000772',tz:'-8',srv:'www.macworld.com',hp:'vip',j:'1:12.8.2'} ]); _stq.push([ "clickTrackerInit", "178044738", "100000772" ]); </script> <script async src="https://cse.google.com/cse.js?cx=b9e525047e575e1a7&ver=1" id="google-search-script-js"></script> <script> var maxHeight = 0; if (window.innerWidth > 767) { document.querySelectorAll(".article-feed-resources-block .text-block").forEach((ele)=> { if (ele.offsetHeight > maxHeight) { maxHeight = ele.offsetHeight }; }); document.querySelectorAll(".article-feed-resources-block .text-block").forEach((ele)=> { ele.style.height = maxHeight + 'px'; }); } </script> <script> const learnMore = document.getElementById("brandpost-learn-more"); const closeDiv = document.getElementById("brandpost-close-div"); learnMore && learnMore.addEventListener("click", function() { document.querySelector(".brandpost-block .learn-more-div").classList.add("show-learn-more-div"); }); closeDiv && closeDiv.addEventListener("click", function() { document.querySelector(".brandpost-block .show-learn-more-div").classList.remove("show-learn-more-div"); }); </script> <script type="text/javascript">window.onload = setTimeout(function() { (function () { console.log('aax-tag'); window.aax = window.aax || {}; var aax = window.aax; aax.initTime = new Date().getTime(); aax.pubId = "AAXFGX83C"; aax.ver = "1.2"; aax.hst = window.location.hostname; var aaxEndpoint = "https://c.aaxads.com/aax.js?pub=" + aax.pubId + "&hst=" + aax.hst + "&ver=" + aax.ver; function loadScript(endpoint) { var scriptTag = document.createElement("script"), placeTag = document.getElementsByTagName("script")[0]; scriptTag.type = "text/javascript"; scriptTag.async = true; scriptTag.src = endpoint; placeTag.parentNode.insertBefore(scriptTag, placeTag); } loadScript(aaxEndpoint); })(); window.aax.cmd = window.aax.cmd || []; window.aax.cmd.push(function () { if (window.aax.getAbpStatus()) { window.googletag = window.googletag || {}; window.googletag.cmd = window.googletag.cmd || []; window.googletag.cmd.push(function() { googletag.pubads().refresh(null, { changeCorrelator: false }); }); } }); window.aax = window.aax || {}; window.aax.cmd = window.aax.cmd || []; window.aax.cmd.push(function() { if (window.aax.getAbpStatus && window.aax.getAbpStatus()) { document.querySelectorAll('.ad').forEach((ad) => { if (ad.hasChildNodes()) { ad.classList.add('has-loaded'); ad.classList.add('has-rendered'); } }); } }); }, 8000);</script> </body> </html>