- ID scansione:
- e57f55fd-4b1a-4b79-bfb6-3929c954ea44Fatto
- URL inviato:
- https://www.macworld.com/article/174113/macminiinside.html
- Report terminato:
Link · 15 trovati
I link in uscita identificati dalla pagina
Link | Testo |
---|---|
https://simplecirc.com/subscribe/macworld | Subscribe to the Macworld Digital Magazine |
https://www.facebook.com/Macworld/ | |
https://twitter.com/macworld | |
https://www.youtube.com/user/macworld | |
https://www.linkedin.com/company/macworld/ | |
https://whatsapp.com/channel/0029VagNnbe002TCyUyKte2j | Follow us on WhatsApp |
https://foundryco.com/copyright-notice/ | Copyright Notice |
https://info.wrightsmedia.com/foundry-media-licensing | Licensing& Eprints |
https://foundryco.com/our-brands/macworld/ | Advertise |
https://foundryco.com/idg-ad-choices/ | Ad Choices |
Variabili JavaScript · 138 trovate
Le variabili JavaScript globali caricate sull'oggetto finestra di una pagina sono variabili dichiarate all'esterno delle funzioni e accessibili da qualsiasi punto del codice nell'ambito corrente
Nome | Tipo |
---|---|
0 | object |
1 | object |
2 | object |
3 | object |
4 | object |
5 | object |
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
grumi | object |
Messaggi di log della console · 13 trovati
Messaggi registrati nella console Web
Tipo | Categoria | Log |
---|---|---|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | javascript |
|
log | javascript |
|
log | other |
|
log | other |
|
log | other |
|
HTML
Il corpo HTML non elaborato della pagina
<!DOCTYPE html><html lang="en" data-previous-scroll-y="-0px" class="sp-message-open"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="category" content="Desktop PCs, Mac">
<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>The Mac mini: Inside and Out | Macworld</title>
<meta name="twitter:label1" content="Written by">
<meta name="twitter:data1" content="No Author">
<meta name="twitter:label2" content="Est. reading time">
<meta name="twitter:data2" content="6 minutes">
<!-- / 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 » Comments Feed" href="https://www.macworld.com/en-us/feed">
<script type="text/javascript" async="" src="https://www.google-analytics.com/plugins/ua/linkid.js"></script><script async="" type="text/javascript" src="https://macro.adnami.io/macro/gen/adsm.macro.rmb.js"></script><script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"></script><script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=G-99DJQ102NQ&l=dataLayer&cx=c&gtm=45He4cb0v839094799za200"></script><script async="" src="https://www.googletagmanager.com/gtm.js?id=GTM-5JGZ3LH"></script><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=1733825145" media="all">
<link rel="stylesheet" id="frontend-jwplayer-styles-css" href="https://www.macworld.com/wp-content/themes/idg-base-theme/dist/styles/jwplayer.css?ver=1733825145" 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=1733825145" 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=1733825145" 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=1733825145" 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","google_inc_vendor_id":"5e7e1298b8e05c4854221be9"}},"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":"desktop-pcs_section","prefix":"\/8456\/IDG.US_CSMB_Macworld.com\/","targeting":{"articleId":"174113","author":"No Author","browser":"Mozilla\/5.0(WindowsNT10.0;Win64;x64)AppleWebKit\/537.36(KHTML,likeGecko)Chrome\/119.0.0.0Safari\/537.36","templateType":"article","categorySlugs":"mac,desktop-pcs","tags":"","categoryIds":"660,683","env":null,"productId":"","goldenIds":"740,348","channel":"mac","fireplace":"false","type":"news","typeId":"39","sponsored":"false","video-autoplay":"true","manufactuer":"dell","url":"https:\/\/www.macworld.com\/article\/174113\/macminiinside.html","zone":"news-article\/mac","wpsponsorshipId":""},"isViaAdapex":true},"geolocation":"ES","suppress_monetization":{},"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":"1","isCPEnabled":"","isEuVisitor":"1","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":1734123839,"url":"https:\/\/www.macworld.com\/article\/174113\/macminiinside.html","triblioPixelCode":"","isAdapexActive":true,"prodIds":"","prodCategories":"","prodManufacturers":"","prodNames":"","prodVendors":"","productBlocks":"","categories":"Mac, Desktop PCs","categoryIds":"660, 683","categoriesSlugs":"mac, desktop-pcs","channel":"mac","primaryCategory":"Mac","primaryAncestorCategoryList":"Mac, Desktop PCs","primaryAncestorCategoryListSlugs":"mac, desktop-pcs","ancestorGoldenCategories":"mac, desktop-pcs","goldenTaxonomyIdPrimary":"740","gtaxPrimaryIdsList":"740, 348","gtaxPrimarySlugsList":"mac, desktop-pcs","gtaxIdList":"740, 348","gtaxList":"Mac, Desktop PCs","bcGtaxIdList":[740,348],"bcGtaxList":["Mac","Desktop PCs"],"articleId":"174113","author":"No Author","translation":"no","translationOriginalArticleId":"","translationOriginalPublication":"","translationOriginalLanguage":"","translationOriginalBrand":"","articleTitle":"The Mac mini: Inside and Out","articleType":"default","isBlog":"true","blogname":"Editors' Notes","blogId":"","brandpost":"false","content_type":"News","datePublished":"2005-01-19","dateUpdate":"2005-01-19","dateTimePublished":"2005-01-19T16:00:00-08:00","dateTimeUpdate":"2005-01-19T16:00:00-08:00","daysSincePublished":"7268","daysSinceUpdated":"7268","description":"Dan Frakes goes through the ins and outs of upgrading a Mac mini&#8217;s memory.","displayType":"article","fireplace":"false","pageNumber":"1","page_type":"article","platform":"web","podcastSponsored":"false","property":"macworld","source":"macworld","sponsorName":"","sponsorshipId":"","tags":[],"legacyCmsId":"1042237","language":"English","edition":"en-us","articleLocale":"global","isInsiderContent":"false","insiderSignedIn":"true","adSuppression":"false","BCUID":"","legacyCmsName":"OneCMS","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 = 'mac';
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\/article\/174113\/macminiinside.html","page_url_canonical":"https:\/\/www.macworld.com\/article\/174113\/macminiinside.html","page_title":"The Mac mini: Inside and Out | Macworld","page_type":"article","page_language":"en","language_type":"English","article_authors":["No Author"],"article_type":"News","article_publication_date":"Wed, 19 Jan 2005 16:00:00 PST","article_categories":["Mac","Desktop PCs"]});
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-us","currentEdition":"en-us","pageSlug":"en-us","ajaxurl":"https:\/\/www.macworld.com\/wp-admin\/admin-ajax.php","nonce":"58d40a9d07","isBrandpostPage":false};
</script>
<script src="https://www.macworld.com/wp-content/client-mu-plugins/idg-third-party/dist/scripts/index.js?ver=1733825145" id="third-party-integrations-script-js"></script><script src="https://cmpv2.macworld.com/unified/wrapperMessagingWithoutDetection.js" async=""></script>
<script type="text/javascript" src="https://www.macworld.com/_static/??-eJydzMENgzAMAMCFMFZKUfupmCWNI+ooCZZthNgeZujrfoeHQNq65+6YKt9A20HqvnI3ZFrBf6wEEtVPJDZHS8rihuWQGs+sY7EB/29E85cJItkdLe0TXtP0fszhOZcLaDg53A=="></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=d222835c19';
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>
<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":"Mac","item":"https:\/\/www.macworld.com\/mac"},{"@type":"ListItem","position":3,"name":"News","item":"https:\/\/www.macworld.com\/mac\/news"}]},{"@context":"https:\/\/schema.org","@type":"NewsArticle","url":"https:\/\/www.macworld.com\/article\/174113\/macminiinside.html","publisher":{"@type":"Organization","name":"Macworld","url":"https:\/\/www.macworld.com","logo":{"@type":"ImageObject","url":"https:\/\/www.macworld.com\/wp-content\/uploads\/2021\/03\/pub-logo.png"}},"author":{"@type":"Person","name":"Macworld Staff","url":"https:\/\/www.macworld.com\/author\/no-author"},"name":"The Mac mini: Inside and Out","headline":"The Mac mini: Inside and Out","articleBody":"Earlier today I\twrote about\tmy first impressions unpacking and using the Mac mini. But to do it justice you need to see a few images that put its size in perspective. I also mentioned in the earlier article that I\u2019d be taking my Mac mini apart to see how easy or difficult it is to upgrade the RAM. Read on for more on that, as well. But first, about the mini\u2019s size\u2026\t\t\tSize Matters\t\tThe first thing that strikes you about the Mac mini is how small its box is. Not including a monitor and keyboard can do that to a box, but even so, it\u2019s impressively compact:\t\t\t\t\tSmall, eh? But the Mac mini itself is even smaller. Take a look at it when posed next to a stack of 5 compact discs in their cases:\t\t\t\t\tBut let\u2019s look at this from another angle:\t\t\t\t\t\tThat\u2019s the Mac mini\tbehind\tthe stack of CDs. It\u2019s there. Really.\t\t(The mini isn\u2019t smaller than the stack of CDs; it just seems that way. Nevertheless, I think that image demonstrates how truly tiny the mini is compared to most computers.)\t\tChanging Memories\t\t\tThe big question on many prospective Mac mini buyers\u2019 minds is, \u201cHow easy is it to upgrade the RAM?\u201d As I noted in my\tcomparison\tof the Mac mini and Dell\u2019s cheapest Windows PC, the official word from Apple is that the Mac mini\u2019s RAM\tis\tuser-upgradeable, \u201cunless you break something when you open it.\u201d The fact that Apple is saying that explicitly might give you pause\u2026 and it probably should. I opened my mini today, and although it\u2019s not as tough to upgrade as some Macs I\u2019ve used (can you say, \u201cPower Macintosh 8100?\u201d), it\u2019s nowhere near as easy as the iMac G5.\t\tFirst things first, you need Apple\u2019s official Mac mini Upgrade Tool Kit (otherwise known as \u201ctwo very thin putty knives\u201d).\tThere are no screws holding the Mac mini\u2019s aluminum and plastic shell onto its body; it\u2019s kept in place by 15 small, plastic clips\u2014six on each side and three on the front. (The back of the mini is \u201cloose.\u201d) To open the case, you need to turn the Mac mini upside-down and then somehow press the tabs on the left and right sides inward until they release; you can then safely lift the back panel of the Mac mini up, which will release the tabs in the front.\t\t\tHow do you do this? For lack of a better tool, with the putty knives. I\u2019ve seen claims around the Web that you can accomplish this task with a single putty knife\u2014working first on one side and then on the other\u2014but I had much better luck with two. After turning the Mac mini upside down, I first inserted one putty knife on the left side, in the very thin crease between the aluminum case and the white plastic base, towards the back of the mini, and then inserted the other putty knife in the same gap on the right side, also towards the back. (Note that you need\tthin\tputty knives to do this without damaging either surface.) I then slowly, but firmly, pried the putty knives outward in order to press the white connecting tabs inward to release them. (You\u2019ll hear a few loud pops as this happens successfully; loud cracks, on the other hand, probably mean you\u2019ve broken the tabs.) After the body of the Mac mini begins to lift out of the shell, you may need to slide the putty knives towards the front and repeat this motion to release all of the tabs on each side.\t\t\t\t\t\tOnce you\u2019ve released all the tabs on the left and right sides, the body of the Mac mini lifts out fairly easily, and you\u2019re rewarded with an unobstructed view of the marvel of miniaturization that it really is. There\u2019s little wasted space here, just lots of small components\u2014have you ever seen how thin a slot-loading laptop optical drive really is?\u2014crammed together in likely the only configuration that would actually fit. (Incidentally, those two shiny rectangular things are the Bluetooth antenna [top] and AirPort antenna [bottom].)\t\t\t\t\tAlong the left-hand side of the mini\u2019s body is the single RAM slot. If you don\u2019t have the internal Bluetooth module installed, upgrading your RAM is as simple as popping out the existing DIMM (unfortunately, you lose it in the upgrade) and plopping a new one in its place. However, if you ordered your Mac mini with the optional internal Bluetooth module, the process is a bit tricker.\t\t\t\t\tThat shiny rectangular contraption sitting just above the RAM chip is your Bluetooth antenna; you can\u2019t remove your current RAM, or install a bigger DIMM, without first removing that piece. But a closer look shows you that it\u2019s actually connected to the chassis for the optical drive.\t\t\t\t\t\tSee that little screw between the RAM chip and the antenna? Loosen it a bit, lift the antenna up and out of the way, and\tthen\tupgrade your RAM; when you\u2019re finished, reinstall the antenna by placing it back in position and tightening the screw.\t\tReplacing the Mac mini\u2019s cover is the easiest part: You simply line everything up and press down until you hear all the clicks of the tabs locking into place. (Although be careful\u2014there are a few thin metal shields at the back of the mini that you may need to press inwards so that they don't get caught on the cover as you slide the two pieces together.)\t\tNot Hard, But Not Easy\t\t\tSo how difficult was the process? Once I figured out the trick to popping the top, so to speak, not bad at all. But discovering that trick was a bit sketchy. At first I tried using thicker putty knives, which not only didn\u2019t fit in the gap easily, but would have likely damaged the Mac mini\u2019s plastic and aluminum surfaces\u2014cosmetically, that is\u2014if I\u2019d forced them. And even when I found putty knives that fit, I was at first quite nervous that I was going to\tbreak\tmy brand new computer trying to pry it open; it took a bit of discipline to force myself to press hard enough to get the desired results. Now that I\u2019ve done it, it won\u2019t be difficult to do it again, but I\u2019m not sure I\u2019d recommend the procedure to some of my less-gadgety-inclined friends and relatives. (Read: I\u2019ll be doing most of the upgrades.)\t\tThat being said, the process wasn\u2019t bad, and it\u2019s certainly better than paying Apple $425 for a 1GB RAM upgrade when you can get a 1GB DIMM online for $160 to $180 and install it yourself (or pay a service provider $50 or so to do it for you). Plus this way you can keep or sell the original 256MB chip.\t\t[\t\tFor more on the Mac mini, visit the\tMac mini page.\t\t]","wordCount":1178,"datePublished":"2005-01-19T16:00:00-08:00","dateModified":"2023-12-23T03:42:28-08:00","keywords":"Mac,Desktop PCs","mainEntityOfPage":"https:\/\/www.macworld.com\/article\/174113\/macminiinside.html"}]</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: #3399cc;
--price-comparison--view-button--border--color: #2a7da7;
--price-comparison--view-button--border-hover--color: #3399cc;
--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="taboola-section" content="Macworld.com - Mac, Macworld.com - Mac">
<meta name="displaytype" content="article">
<meta name="source" content="https://www.macworld.com/article/174113/macminiinside.html">
<link rel="canonical" href="https://www.macworld.com/article/174113/macminiinside.html">
<meta name="date" content="January 19, 2005">
<meta property="og:type" content="article">
<meta property="og:url" content="https://www.macworld.com/article/174113/macminiinside.html">
<meta property="og:site_name" content="Macworld">
<meta property="og:title" content="The Mac mini: Inside and Out">
<meta property="og:description" content="Dan Frakes goes through the ins and outs of upgrading a Mac mini’s memory.">
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:url" content="https://www.macworld.com/article/174113/macminiinside.html">
<meta property="twitter:site" content="Macworld">
<meta property="twitter:title" content="The Mac mini: Inside and Out">
<meta property="twitter:description" content="Dan Frakes goes through the ins and outs of upgrading a Mac mini’s memory.">
<meta name="description" content="Dan Frakes goes through the ins and outs of upgrading a Mac mini’s memory.">
<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">
<script charset="utf-8" src="https://cmpv2.macworld.com/unified/4.27.3/gdpr-tcf.00cd3b6a2692e330e4ec.bundle.js"></script><script charset="utf-8" src="https://cmpv2.macworld.com/unified/4.27.3/ccpa-gpp.53ed60b33c3bcffa70c7.bundle.js"></script><script type="text/javascript" async="" src="https://functions.adnami.io/api/macro/adsm.macro.macworld.com.js"></script><script src="https://www.macworld.com/wp-includes/js/wp-emoji-release.min.js?ver=6.6.2" defer=""></script><script id="funnel-relay-installer" data-customer-id="idg_28d2b_macworldus" data-property-id="PROPERTY_ID" data-autorun="true" async="true" src="https://cdn-magiclinks.trackonomics.net/client/static/v2/idg_28d2b_macworldus.js"></script><style type="text/css">#sp_message_iframe_1157140 { display:block; width: 100%; height: 100%; border: 0 none; } #sp_message_container_1157140 { overflow:auto;-webkit-overflow-scrolling:touch; display: none; position: fixed; z-index: 2147483647; left: 0; right: 0; bottom: 0; top: 0; height: 100%; width: 100%; max-width: 100%; max-height: 100vh;}.sp-message-open { height: 100vh !important; width: 100vw !important } .sp-message-open body { overflow: hidden !important; position: fixed !important; margin-top: 0px !important; top: 0px !important; left: 0px !important; right: 0px !important; }</style><style></style><style type="text/css">.mf-bar-iframe{width:100%;position:static;z-index:20000;left:0;right:0}.mf-bar-iframe.mf-animate{-webkit-transition-property:margin;transition-property:margin;-webkit-transition-duration: .5s;transition-duration: .5s;transition-timing-function:cubic-bezier(0,1,0.5,1);-webkit-transition-timing-function:cubic-bezier(0,1,0.5,1)}.mf-bar-iframe.mf-bar-iframe-top{top:0;margin-top:-100px}.mf-bar-iframe.mf-bar-iframe-bottom{bottom:0;margin-bottom:-100px}.mf-bar-iframe.mf-bar-iframe-regular body,
.mf-bar-iframe.mf-bar-iframe-regular
html{min-height:30px}.mf-bar-iframe.mf-bar-iframe-regular.mf-bar-iframe-top{margin-top:-30px}.mf-bar-iframe.mf-bar-iframe-regular.mf-bar-iframe-bottom{margin-bottom:-30px}.mf-bar-iframe.mf-bar-iframe-large body,
.mf-bar-iframe.mf-bar-iframe-large
html{min-height:50px}.mf-bar-iframe.mf-bar-iframe-large.mf-bar-iframe-top{margin-top:-50px}.mf-bar-iframe.mf-bar-iframe-large.mf-bar-iframe-bottom{margin-bottom:-50px}.mf-bar-iframe.mf-bar-iframe-sticky{position:fixed}.mf-bar-spacer{display:block;overflow:hidden;position:relative}.mf-bar-spacer.mf-bar-spacer-regular{height:30px}.mf-bar-spacer.mf-bar-spacer-large{height:50px}.mf-bar-collapser-icon{opacity:0.3;text-decoration:none;transition-property:all;transition-duration: .5s;transition-timing-function:cubic-bezier(0,1,0.5,1)}.mf-bar-collapser-icon:hover{opacity:0.7;text-decoration:none}.mf-bar-collapser{position:absolute;right:3px;width:24px;height:24px;text-align:center;z-index:21000}.mf-bar-collapser.mf-bar-collapser-top{top:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.mf-bar-collapser.mf-bar-collapser-top .mf-bar-collapser-icon
svg{margin:2px
0 0 0}.mf-bar-collapser.mf-bar-collapser-bottom{bottom:0;border-top-right-radius:4px;border-top-left-radius:4px}.mf-bar-collapser.mf-bar-collapser-bottom .mf-bar-collapser-icon
svg{margin:-2px 0 0 0}.mf-bar-collapser.mf-bar-collapser-large{width:40px;height:40px}.mf-bar-collapser.mf-bar-collapser-large.mf-bar-collapser-top .mf-bar-collapser-icon
svg{margin:4px
0 0 0}.mf-bar-collapser.mf-bar-collapser-large.mf-bar-collapser-bottom .mf-bar-collapser-icon
svg{margin:-4px 0 0 0}.mf-bar-collapser.mf-bar-collapser-sticky{position:fixed}.mf-bar-collapser.mf-bar-collapser-top.mf-bar-collapsed .mf-bar-collapser-icon svg,
.mf-bar-collapser.mf-bar-collapser-bottom.mf-bar-collapsed .mf-bar-collapser-icon
svg{margin:0}.mf-bar-collapser a.mf-bar-collapser-icon{position:relative;display:inline-block}.mf-bar-collapser a.mf-bar-collapser-icon:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}@media only screen and (max-width: 667px){.mf-bar-collapser{display:none !important}}@-webkit-keyframes mf-modal-slide-down-top{0%{margin-top:-100%;-webkit-transform:translate(-50%,-150%);-ms-transform:translate(-50%,-150%);transform:translate(-50%,-150%)}100%{margin-top:0;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}}@keyframes mf-modal-slide-down-top{0%{margin-top:-100%;-webkit-transform:translate(-50%,-150%);-ms-transform:translate(-50%,-150%);transform:translate(-50%,-150%)}100%{margin-top:0;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}}@-webkit-keyframes mf-modal-slide-down-middle{0%{margin-top:-100%;-webkit-transform:translate(-50%,-150%);-ms-transform:translate(-50%,-150%);transform:translate(-50%,-150%)}100%{margin-top:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}@keyframes mf-modal-slide-down-middle{0%{margin-top:-100%;-webkit-transform:translate(-50%,-150%);-ms-transform:translate(-50%,-150%);transform:translate(-50%,-150%)}100%{margin-top:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}@-webkit-keyframes mf-modal-slide-up-bottom{0%{margin-bottom:-100%;-webkit-transform:translate(-50%,150%);-ms-transform:translate(-50%,150%);transform:translate(-50%,150%)}100%{margin-bottom:0;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}}@keyframes mf-modal-slide-up-bottom{0%{margin-bottom:-100%;-webkit-transform:translate(-50%,150%);-ms-transform:translate(-50%,150%);transform:translate(-50%,150%)}100%{margin-bottom:0;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}}.mf-modal-overlay{position:fixed;top:0;left:0;right:0;background:#000;z-index:21002;width:100%;height:100%;opacity: .7}.mf-modal-iframe{position:fixed;z-index:21003;left:50%}.mf-modal-iframe.mf-animate{-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-duration:0.3s;animation-duration:0.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.mf-modal-iframe.mf-modal-iframe-top{top:10px;margin-top:-100%;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}.mf-modal-iframe.mf-modal-iframe-top.mf-animate{-webkit-animation-name:mf-modal-slide-down-top;animation-name:mf-modal-slide-down-top}.mf-modal-iframe.mf-modal-iframe-middle{top:50%;margin-top:-100%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.mf-modal-iframe.mf-modal-iframe-middle.mf-animate{-webkit-animation-name:mf-modal-slide-down-middle;animation-name:mf-modal-slide-down-middle}.mf-modal-iframe.mf-modal-iframe-bottom{bottom:10px;margin-bottom:-100%;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}.mf-modal-iframe.mf-modal-iframe-bottom.mf-animate{-webkit-animation-name:mf-modal-slide-up-bottom;animation-name:mf-modal-slide-up-bottom}.mf-modal-iframe.mf-loaded{margin-top:0;margin-bottom:0}@-webkit-keyframes mf-notification-slide-left{0%{-webkit-transform:translateX(150%);-ms-transform:translateX(150%);transform:translateX(150%)}50%{-webkit-transform:translateX(-8%);-ms-transform:translateX(-8%);transform:translateX(-8%)}65%{-webkit-transform:translateX(4%);-ms-transform:translateX(4%);transform:translateX(4%)}80%{-webkit-transform:translateX(-4%);-ms-transform:translateX(-4%);transform:translateX(-4%)}95%{-webkit-transform:translateX(2%);-ms-transform:translateX(2%);transform:translateX(2%)}100%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}}@keyframes mf-notification-slide-left{0%{-webkit-transform:translateX(150%);-ms-transform:translateX(150%);transform:translateX(150%)}50%{-webkit-transform:translateX(-8%);-ms-transform:translateX(-8%);transform:translateX(-8%)}65%{-webkit-transform:translateX(4%);-ms-transform:translateX(4%);transform:translateX(4%)}80%{-webkit-transform:translateX(-4%);-ms-transform:translateX(-4%);transform:translateX(-4%)}95%{-webkit-transform:translateX(2%);-ms-transform:translateX(2%);transform:translateX(2%)}100%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}}@-webkit-keyframes mf-notification-slide-right{0%{-webkit-transform:translateX(-150%);-ms-transform:translateX(-150%);transform:translateX(-150%)}50%{-webkit-transform:translateX(8%);-ms-transform:translateX(8%);transform:translateX(8%)}65%{-webkit-transform:translateX(-4%);-ms-transform:translateX(-4%);transform:translateX(-4%)}80%{-webkit-transform:translateX(4%);-ms-transform:translateX(4%);transform:translateX(4%)}95%{-webkit-transform:translateX(-2%);-ms-transform:translateX(-2%);transform:translateX(-2%)}100%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}}@keyframes mf-notification-slide-right{0%{-webkit-transform:translateX(-150%);-ms-transform:translateX(-150%);transform:translateX(-150%)}50%{-webkit-transform:translateX(8%);-ms-transform:translateX(8%);transform:translateX(8%)}65%{-webkit-transform:translateX(-4%);-ms-transform:translateX(-4%);transform:translateX(-4%)}80%{-webkit-transform:translateX(4%);-ms-transform:translateX(4%);transform:translateX(4%)}95%{-webkit-transform:translateX(-2%);-ms-transform:translateX(-2%);transform:translateX(-2%)}100%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}}.mf-notification-iframe{position:fixed;z-index:21001;margin-top:-100%}.mf-notification-iframe.mf-loaded{margin-top:0;margin-bottom:0}.mf-notification-iframe.mf-loaded.mf-animate{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.mf-notification-iframe.mf-loaded.mf-notification-iframe-top-left{top:5px;left:5px}.mf-notification-iframe.mf-loaded.mf-notification-iframe-top-left.mf-animate{-webkit-animation-name:mf-notification-slide-right;animation-name:mf-notification-slide-right}.mf-notification-iframe.mf-loaded.mf-notification-iframe-top-right{top:5px;right:5px}.mf-notification-iframe.mf-loaded.mf-notification-iframe-top-right.mf-animate{-webkit-animation-name:mf-notification-slide-left;animation-name:mf-notification-slide-left}.mf-notification-iframe.mf-loaded.mf-notification-iframe-bottom-left{bottom:5px;left:5px}.mf-notification-iframe.mf-loaded.mf-notification-iframe-bottom-left.mf-animate{-webkit-animation-name:mf-notification-slide-right;animation-name:mf-notification-slide-right}.mf-notification-iframe.mf-loaded.mf-notification-iframe-bottom-right{bottom:5px;right:5px}.mf-notification-iframe.mf-loaded.mf-notification-iframe-bottom-right.mf-animate{-webkit-animation-name:mf-notification-slide-left;animation-name:mf-notification-slide-left}.mf-notification-iframe.mf-loaded.mf-responsive{left:0 !important;right:0 !important}.mf-page-iframe{position:fixed;z-index:21005;top:1px;right:1px;left:1px;bottom:1px;width:100%;height:100%}@media only screen and (max-width: 667px){.mf-page-iframe{top:0;right:0;left:0;bottom:0}}</style></head>
<body class="post-template-default single single-post postid-174113 single-format-standard sticky-header del-sites body-padding-top MauticFocusNotification">
<div id="gpt-leaderboard-1" class="ad page-ad has-ad-prefix ad-banner is-sticky" data-ad-template="banner" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"ATF"}">
</div>
<!-- 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"></path></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"></path>
</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"></path></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"></path></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 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 primary-nav-position">
<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"></path></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"></path></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"></path><g transform="translate(193.968)"><mask id="b" fill="#fff"><use xlink:href="#a"></use></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"></path></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" style="position: relative; visibility: visible;"><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" style="position: relative; visibility: visible;"><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" style="position: relative; visibility: visible;"><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" style="position: relative; visibility: visible;"><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" style="position: absolute; top: -9999px; visibility: hidden;"><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" style="position: absolute; top: -9999px; visibility: hidden;"><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" style="position: absolute; top: -9999px; visibility: hidden;"><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"></path></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" style="position: absolute; top: -9999px; visibility: hidden;"><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" style="position: absolute; top: -9999px; visibility: hidden;"><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" style="position: absolute; top: -9999px; visibility: hidden;"><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" style="position: absolute; top: -9999px; visibility: hidden;"><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" style="position: absolute; top: -9999px; visibility: hidden;"><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 inactive" style="position: absolute; top: -9999px; visibility: hidden;"><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" style="position: absolute; top: -9999px; visibility: hidden;"><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" style="position: absolute; top: -9999px; visibility: hidden;"><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" style="position: absolute; top: -9999px; visibility: hidden;"><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"></path></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"></path></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-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-100270382" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-100270382"><a href="https://www.macworld.com/future-tech">Future Tech</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"></path></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"></path></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"></path></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 class="affiliate-disclaimer"><p>When you purchase through links in our articles, we may earn a small commission. This doesn't affect our <a href="https://www.macworld.com/about/affiliate-link-policy"><u>editorial independence</u></a>.</p></div></div>
</header><!-- #masthead -->
<div id="gpt-contenthub-article-1" class="ad page-ad has-ad-prefix ad-article ad-contenthubartbanner" data-ad-template="gpt-contenthub-article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"gpt-contenthub"}">
</div>
<main id="primary" class="site-main">
<div class="single-breadcrumb">
<a href="https://www.macworld.com">Home / </a><a href="https://www.macworld.com/mac">Mac / </a><a href="https://www.macworld.com/mac/news">News</a> </div>
<article id="post-174113" class="post-legacy post-174113 post type-post status-publish format-standard category-desktop-pcs category-mac languages-en editions-global publication-macworld publication-us-default story_types-news article_type-default blogs-editors-notes origin-onecms">
<header class="entry-header">
<div class="entry-eyebrow entry-eyebrow--default">
Editors' Notes
</div>
<h1 class="entry-title">The Mac mini: Inside and Out</h1> <div class="subheadline">
</div>
<div class="entry-meta">
<div class="meta-text">
<div class="meta-text-top">
<div class="blog-title">
Editors' Notes </div>
</div>
<div class="meta-text-bottom">
<span class="byline"> By <span class="author vcard">Macworld Staff</span>, </span> <span class="posted-on">JAN 19, 2005 4:00 pm PST</span> </div>
</div>
</div><!-- .entry-meta -->
</header><!-- .entry-header -->
<!-- <hr class="wp-block-separator" /> -->
<section class="layout--right-rail">
<div class="wp-block-columns">
<div class="wp-block-column">
<div class="entry-content ">
<div id="post-toc"></div>
<div id="link_wrapped_content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section> <div class="legacy_content"><p> Earlier today I wrote about my first impressions unpacking and using the Mac mini. But to do it justice you need to see a few images that put its size in perspective. I also mentioned in the earlier article that I’d be taking my Mac mini apart to see how easy or difficult it is to upgrade the RAM. Read on for more on that, as well. But first, about the mini’s size… </p> <p> <strong>Size Matters</strong> </p><div class="fake_sidebar_front"></div><div id="gpt-leaderboardmainbod-1" class="ad page-ad has-ad-prefix ad-article" data-ad-template="article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"BTF1"}">
</div> <p>The first thing that strikes you about the Mac mini is how small its box is. Not including a monitor and keyboard can do that to a box, but even so, it’s impressively compact:</p> <p></p><div class="jwPlayer--floatingContainer">
<div id="jwplayer--floatingVideo" class="jwplayer" data-media-id="O6tSMQIo">
</div>
</div> <div> <figure class=""><img decoding="async" src="https://images.macworld.com/images/legacy/images/content/macminiblog1.jpg" alt="Mac mini versus root beer can" loading="lazy"></figure> </div> <p>Small, eh? But the Mac mini itself is even smaller. Take a look at it when posed next to a stack of 5 compact discs in their cases:</p> <p></p><div id="taboola-mid-article-thumbnails"></div><script type="text/javascript">window._taboola = window._taboola || []; _taboola.push({mode: 'alternating-thumbnails-stream-macworld',container: 'taboola-mid-article-thumbnails',placement: 'Mid Article Thumbnails',target_type: 'mix'});</script> <div> <figure class=""><img decoding="async" src="https://images.macworld.com/images/legacy/images/content/macminiblog2.jpg" alt="Mac mini versus CDs" loading="lazy"></figure> </div> <p>But let’s look at this from another angle:</p> <p></p><div id="gpt-leaderboardmainbod-2" class="ad page-ad has-ad-prefix ad-article" data-ad-template="article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"BTF2"}">
</div> <div> <figure class=""><img decoding="async" src="https://images.macworld.com/images/legacy/images/content/macminiblog3.jpg" alt="Mac mini hidden by CDs" loading="lazy"></figure> </div> <p> That’s the Mac mini <em>behind</em> the stack of CDs. It’s there. Really. </p> <p>(The mini isn’t smaller than the stack of CDs; it just seems that way. Nevertheless, I think that image demonstrates how truly tiny the mini is compared to most computers.)</p><div id="miso-smart-answers-faq"></div> <p> <strong>Changing Memories</strong> </p> <p> The big question on many prospective Mac mini buyers’ minds is, “How easy is it to upgrade the RAM?” As I noted in my comparison of the Mac mini and Dell’s cheapest Windows PC, the official word from Apple is that the Mac mini’s RAM <em>is</em> user-upgradeable, “unless you break something when you open it.” The fact that Apple is saying that explicitly might give you pause… and it probably should. I opened my mini today, and although it’s not as tough to upgrade as some Macs I’ve used (can you say, “Power Macintosh 8100?”), it’s nowhere near as easy as the iMac G5. </p><div id="gpt-leaderboardmainbod-3" class="ad page-ad has-ad-prefix ad-article" data-ad-template="article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"BTF3"}">
</div> <p>First things first, you need Apple’s official Mac mini Upgrade Tool Kit (otherwise known as “two very thin putty knives”).</p> <p>There are no screws holding the Mac mini’s aluminum and plastic shell onto its body; it’s kept in place by 15 small, plastic clips—six on each side and three on the front. (The back of the mini is “loose.”) To open the case, you need to turn the Mac mini upside-down and then somehow press the tabs on the left and right sides inward until they release; you can then safely lift the back panel of the Mac mini up, which will release the tabs in the front.</p><div id="miso-ipp"></div> <p> </p><figure class=""><img decoding="async" src="https://images.macworld.com/images/legacy/images/content/macminiblog4.jpg" alt="putty knife" loading="lazy"></figure> How do you do this? For lack of a better tool, with the putty knives. I’ve seen claims around the Web that you can accomplish this task with a single putty knife—working first on one side and then on the other—but I had much better luck with two. After turning the Mac mini upside down, I first inserted one putty knife on the left side, in the very thin crease between the aluminum case and the white plastic base, towards the back of the mini, and then inserted the other putty knife in the same gap on the right side, also towards the back. (Note that you need <em>thin</em> putty knives to do this without damaging either surface.) I then slowly, but firmly, pried the putty knives outward in order to press the white connecting tabs inward to release them. (You’ll hear a few loud pops as this happens successfully; loud cracks, on the other hand, probably mean you’ve broken the tabs.) After the body of the Mac mini begins to lift out of the shell, you may need to slide the putty knives towards the front and repeat this motion to release all of the tabs on each side. <p></p> <p></p><div id="gpt-leaderboardmainbod-4" class="ad page-ad has-ad-prefix ad-article" data-ad-template="article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"BTF4"}">
</div> <div> <figure class=""><img decoding="async" src="https://images.macworld.com/images/legacy/images/content/macminiblog5.jpg" alt="Mac mini opening" loading="lazy"></figure> </div> <p>Once you’ve released all the tabs on the left and right sides, the body of the Mac mini lifts out fairly easily, and you’re rewarded with an unobstructed view of the marvel of miniaturization that it really is. There’s little wasted space here, just lots of small components—have you ever seen how thin a slot-loading laptop optical drive really is?—crammed together in likely the only configuration that would actually fit. (Incidentally, those two shiny rectangular things are the Bluetooth antenna [top] and AirPort antenna [bottom].)</p> <p></p><div id="nativo1" class="nativo"></div> <div> <figure class=""><img decoding="async" src="https://images.macworld.com/images/legacy/images/content/macminiblog6.jpg" alt="Mac mini inside" loading="lazy"></figure> </div> <p>Along the left-hand side of the mini’s body is the single RAM slot. If you don’t have the internal Bluetooth module installed, upgrading your RAM is as simple as popping out the existing DIMM (unfortunately, you lose it in the upgrade) and plopping a new one in its place. However, if you ordered your Mac mini with the optional internal Bluetooth module, the process is a bit tricker.</p> <p></p><div id="gpt-leaderboardmainbod-5" class="ad page-ad has-ad-prefix ad-article" data-ad-template="article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"BTF5"}">
</div> <div> <figure class=""><img decoding="async" src="https://images.macworld.com/images/legacy/images/content/macminiblog7.jpg" alt="Mac Mini's RAM" loading="lazy"></figure> </div> <p>That shiny rectangular contraption sitting just above the RAM chip is your Bluetooth antenna; you can’t remove your current RAM, or install a bigger DIMM, without first removing that piece. But a closer look shows you that it’s actually connected to the chassis for the optical drive.</p> <p></p> <div> <figure class=""><img decoding="async" src="https://images.macworld.com/images/legacy/images/content/macminiblog8.jpg" alt="Mac Mini with Bluetooth" loading="lazy"></figure> </div> <p> See that little screw between the RAM chip and the antenna? Loosen it a bit, lift the antenna up and out of the way, and <em>then</em> upgrade your RAM; when you’re finished, reinstall the antenna by placing it back in position and tightening the screw. </p> <p>Replacing the Mac mini’s cover is the easiest part: You simply line everything up and press down until you hear all the clicks of the tabs locking into place. (Although be careful—there are a few thin metal shields at the back of the mini that you may need to press inwards so that they don’t get caught on the cover as you slide the two pieces together.)</p><div id="gpt-leaderboardmainbod-6" class="ad page-ad has-ad-prefix ad-article" data-ad-template="article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"BTF6"}">
</div> <p> <strong>Not Hard, But Not Easy</strong> </p> <p> So how difficult was the process? Once I figured out the trick to popping the top, so to speak, not bad at all. But discovering that trick was a bit sketchy. At first I tried using thicker putty knives, which not only didn’t fit in the gap easily, but would have likely damaged the Mac mini’s plastic and aluminum surfaces—cosmetically, that is—if I’d forced them. And even when I found putty knives that fit, I was at first quite nervous that I was going to <em>break</em> my brand new computer trying to pry it open; it took a bit of discipline to force myself to press hard enough to get the desired results. Now that I’ve done it, it won’t be difficult to do it again, but I’m not sure I’d recommend the procedure to some of my less-gadgety-inclined friends and relatives. (Read: I’ll be doing most of the upgrades.) </p> <p>That being said, the process wasn’t bad, and it’s certainly better than paying Apple $425 for a 1GB RAM upgrade when you can get a 1GB DIMM online for $160 to $180 and install it yourself (or pay a service provider $50 or so to do it for you). Plus this way you can keep or sell the original 256MB chip.</p> <p> [ <em> For more on the Mac mini, visit the Mac mini page. </em> ] </p><div id="gpt-leaderboardmainbod-7" class="ad page-ad has-ad-prefix ad-article" data-ad-template="article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"BTF7"}">
</div></div>
</div>
<div id="newsletter-end" class="newsletter"></div><div id="nativo2" class="nativo"></div> </div>
</div>
<div class="wp-block-column">
<div id="gpt-rightrail-1" class="ad page-ad ad-right-rail is-sticky has-ad-prefix" data-ad-template="right_rail" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"ATF1"}">
</div> </div>
</div>
</section>
</article><!-- #post-174113 -->
</main><!-- #main -->
<div id="gpt-leaderboardfoot-1" class="ad page-ad has-ad-prefix ad-footer" data-ad-template="footer" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"BTF"}">
</div><div class="taboola_container"><div id="taboola-feed-below-article-thumbnails" data-src="https://www.macworld.com/article/174113/macminiinside.html" data-widget-id="alternating-thumbnails-a"></div></div> <script type="text/javascript">
window._taboola = window._taboola || [];
_taboola.push({'article':'auto'});
_taboola.push({
mode: 'alternating-thumbnails-a',
container: 'taboola-feed-below-article-thumbnails',
placement: 'Feed Below Article Thumbnails',
target_type: 'mix'
});
</script>
<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"></path>
</svg></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"></path></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"></path><g transform="translate(193.968)"><mask id="b" fill="#fff"><use xlink:href="#a"></use></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"></path></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"></path></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"></path></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"></path></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"></path></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"></path></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"></path></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"></path></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><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><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"></path><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><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"></polygon><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><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><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"></path><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"></polygon><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><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><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"></path><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"></polygon><rect class="cls-2" width="338" height="82"></rect></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.pcworld.com/techhive">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"></path>
</svg><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><iframe name="__tcfapiLocator" style="display: none;"></iframe><iframe name="__uspapiLocator" style="display: none;"></iframe><iframe name="__gppLocator" style="display: none;"></iframe><!-- #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 -->
<div id="gpt-welcome-1" class="ad ad-overlay" data-ad-template="overlay" data-ofp="true" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"gpt-welcome"}">
</div><div id="gpt-skin-1" class="ad ad-skin" data-ad-template="skin" data-ofp="true" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"gpt-skin"}">
</div><div id="gpt_bouncex-1" class="ad ad-bouncex" data-ad-template="bouncex" data-ofp="true" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/desktop-pcs_section" data-aa-targeting="{"pos":"gpt_bouncex"}">
</div> <!-- 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 type="text/javascript">
function getGenericOverlayMessage(platform) {
let customHTMLTextOverlay = window?.IDG?.settings?.overlays_privacy_policies?.consent_overlays?.english_generic_overlay_message ?? '';
const foundryPPLink = window?.IDG?.settings?.overlays_privacy_policies?.foundry_privacy_policies?.gdpr;
customHTMLTextOverlay = customHTMLTextOverlay.replace(/\$\{platform\}/g, platform).replace(/\$\{foundryPPLink\}/g, foundryPPLink);
return customHTMLTextOverlay;
}
// Function to check if the custom blocks should be excluded based on keywords.
function isExcluded(element) {
const platform = jQuery(element).attr('generic-overlay-domain');
const cookieName = `hide-generic-overlay-${platform}`;
const consentGiven = getOverlayCookie(cookieName);
if (consentGiven === 'true') {
return true;
}
// Check if blocksForConsent is defined.
const excludeCustomBlocks = typeof window?.blocksForConsent !== 'undefined' ? Object.values(window?.blocksForConsent).map(block => block.platform) : [];
const dataSrc = jQuery(element).attr('data-src');
if (!dataSrc) return false; // If there's no src attribute, don't exclude
return excludeCustomBlocks.some(keyword => dataSrc.includes(keyword));
}
jQuery('.legacy_content iframe, .legacy_content script, .legacy_content img').each(function(index, element) {
// Check if the element contains any of the exclude keywords
if (!isExcluded(element)) {
const platform = jQuery(element).attr('generic-overlay-domain');
if(platform){
const genericCookieName = `custom-html-consent-notice-${platform}`;
const genericOverlayNextExists = jQuery(element).next(`.${genericCookieName}`).length > 0;
const genericOverlayPrevExists = jQuery(element).prev(`.${genericCookieName}`).length > 0;
// Add the custom overlay and hide the element if not excluded
if (!genericOverlayPrevExists && !genericOverlayNextExists) {
jQuery(element).after(getGenericOverlayMessage(platform));
jQuery(element).hide();
}
}
} else {
const platform = jQuery(element).attr('generic-overlay-domain');
if(platform){
const cookieName = `hide-generic-overlay-${platform}`;
const consentGiven = getOverlayCookie(cookieName);
if (consentGiven === 'true') {
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();
}
}
}
});
/*
* Visitor has not consented to everything so we need to add click-event handlers to the consent-buttons
*/
jQuery(document).on("click", ".consent-button-generic", function(event) {
const buttonElement = event.target;
const platform = jQuery(buttonElement).attr('platform');
if(platform) {
const legacySelector = `.legacy_content iframe[generic-overlay-domain="${platform}"], .legacy_content script[generic-overlay-domain="${platform}"], .legacy_content img[generic-overlay-domain="${platform}"]`;
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();
const cookieName = `hide-generic-overlay-${platform}`;
setOverlayCookie(cookieName, true, 30)
});
const platformOverlaySelector = `.custom-html-consent-notice-${platform}`;
jQuery(platformOverlaySelector).hide();
}
});
</script>
<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="" text="" charset="utf-8" type="text/javascript" src="//mau.idgesg.net/focus/30.js"></script><script type="text/javascript" id="" charset="">var adnamiScript=document.createElement("script");adnamiScript.type="text/javascript";adnamiScript.async=!0;adnamiScript.src="https://functions.adnami.io/api/macro/adsm.macro.macworld.com.js";document.head.appendChild(adnamiScript);</script><script type="text/javascript" id="" charset="">var firstSessionDate=google_tag_manager["rm"]["39094799"](9),lastSessionDate=google_tag_manager["rm"]["39094799"](10),currentSessionDate=google_tag_manager["rm"]["39094799"](11),sessionNumber=google_tag_manager["rm"]["39094799"](12)||1,inSession=google_tag_manager["rm"]["39094799"](13),daysSinceLastSession=0,currentTime=new Date,longExpiry=15768E8;
if("undefined"===typeof firstSessionDate)google_tag_manager["rm"]["39094799"](14)("inSession",!0,18E5,"/"),lastSessionDate=firstSessionDate=currentSessionDate=currentTime.toUTCString(),google_tag_manager["rm"]["39094799"](15)("firstSessionDate",firstSessionDate,longExpiry,"/"),google_tag_manager["rm"]["39094799"](16)("currentSessionDate",currentSessionDate,longExpiry,"/"),google_tag_manager["rm"]["39094799"](17)("sessionNumWP",sessionNumber,longExpiry,"/"),google_tag_manager["rm"]["39094799"](18)("lastSessionDate",lastSessionDate,longExpiry,"/");else if("undefined"===typeof inSession&&(google_tag_manager["rm"]["39094799"](19)("inSession",
!0,18E5,"/"),sessionNumber=+sessionNumber+1,google_tag_manager["rm"]["39094799"](20)("sessionNumWP",sessionNumber,longExpiry,"/"),lastSessionDate=currentSessionDate,google_tag_manager["rm"]["39094799"](21)("lastSessionDate",lastSessionDate,longExpiry,"/"),currentSessionDate=currentTime.toUTCString(),google_tag_manager["rm"]["39094799"](22)("currentSessionDate",currentSessionDate,longExpiry,"/")),"undefined"!=typeof lastSessionDate){var lastSessionMS=(new Date(lastSessionDate)).getTime();daysSinceLastSession=Math.round((currentTime.getTime()-lastSessionMS)/
864E5)}dataLayer.push({event:"Session Vars Set",daysSinceLastSession:daysSinceLastSession.toString(),firstSessionDate:firstSessionDate,lastSessionDate:lastSessionDate,sessionNumberWP:sessionNumber});</script><script type="text/javascript" id="" charset="">var debug=!0,checkIfInEU=new Promise(function(c,e){__tcfapi("addEventListener",2,function(a,b){debug&&console.log("GDPR addEventListener() tcData: ",a);debug&&console.log("GDPR addEventListener() gdprApplies:",a.gdprApplies,"eventStatus",a.eventStatus,"success",b);isEU=a.gdprApplies;"undefined"===typeof isEU&&(isEU=!0);debug&&console.log("GDPR in cmp-tcfv2-sp tcData.gdprApplies: "+isEU);!b||"tcloaded"!==a.eventStatus&&"useractioncomplete"!==a.eventStatus||((b=a.gdprApplies||!1)?__tcfapi("getCustomVendorConsents",
2,function(d,f){consentedPurposes=d.consentedPurposes||[];consentedCustomVendors=d.consentedVendors||[];vendorGrants=d.grants;debug&&console.log("GDPR addEventListener vendorConsents:",d);debug&&console.log("GDPR addEventListener consentedPurposes:",consentedPurposes,"consentedCustomVendors",consentedCustomVendors,"vendorGrants",vendorGrants);c()}):e(),__tcfapi("removeEventListener",2,function(d){d&&console.log("addEventListener removeEventListener: "+a.listenerId)},a.listenerId))})}),checkCCPAOptOut=
new Promise(function(c,e){debug&&console.log("GDPR checkCCPAOptOut Promise");var a=!1;setTimeout(function(){debug&&console.log("GDPR checkCCPAOptOut timeout reached promiseResolved",a);a||(a=!0,c())},2E4);__uspapi("getUSPData",1,function(b,d){if(!a)if(a=!0,d)try{debug&&console.log("uspapi success: ",b);var f=b.uspString;b=[];b=f.split("");"undefined"!==typeof b[2]&&"Y"!==b[2]?e("CCPA opted in"):c()}catch(g){debug&&console.log("error with uspData retrieval: ",g),c()}else debug&&console.log("uspapi fail: ",
b),c()})}),consentKnown=new Promise(function(c,e){checkIfInEU.then(function(){dataLayer.push({event:"consentKnown",ccpaOptedOut:!1});c(!0)})["catch"](function(){checkCCPAOptOut.then(function(){dataLayer.push({event:"consentKnown",ccpaOptedOut:!0});c(!0)})["catch"](function(){dataLayer.push({event:"consentKnown",ccpaOptedOut:!1});c(!0)})})});</script><script type="text/javascript" id="" charset="">var bcGtaxList=google_tag_manager["rm"]["39094799"](23).split(", "),bcGtaxIdList=google_tag_manager["rm"]["39094799"](24).split(", ");window.dataLayer=window.dataLayer||[];window.dataLayer.push({bcGtaxList:bcGtaxList,bcGtaxIdList:bcGtaxIdList});</script><script type="text/javascript" id="" charset="">var queryString=window.location.search,urlParams=new URLSearchParams(queryString),showFocusItem=urlParams.get("show_mautic_focus_item");showFocusItem==="true"&&window.dataLayer.push({event:"show_mautic_focus_item"});</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"};
var googleSearch = {"search_engine_id":"b9e525047e575e1a7","search_title":"Search","search_slug":"search"};
</script>
<script defer="" src="https://www.macworld.com/wp-content/themes/idg-base-theme/dist/scripts/bundle.js?ver=1733825145" 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":"58d40a9d07"};
</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=1733825145g"></script><script defer="" src="https://stats.wp.com/e-202450.js" id="jetpack-stats-js"></script>
<script id="jetpack-stats-js-after">
_stq = window._stq || [];
_stq.push([ "view", {v:'ext',blog:'178044738',post:'174113',tz:'-8',srv:'www.macworld.com',hp:'vip',j:'1:12.8.2'} ]);
_stq.push([ "clickTrackerInit", "178044738", "174113" ]);
</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>
<img src="https://pixel.wp.com/g.gif?v=ext&blog=178044738&post=174113&tz=-8&srv=www.macworld.com&hp=vip&j=1%3A12.8.2&host=www.macworld.com&ref=&fcp=1152&rand=0.6253921881743887" alt="" width="6" height="5" id="wpstats"><iframe src="about:blank" style="display: none;"></iframe><script type="text/javascript" id="" charset="">var timeoutId=null,contentInjected=!1;
function debouncedScrollCheck(){timeoutId&&clearTimeout(timeoutId);timeoutId=setTimeout(function(){var b=document.getElementsByTagName("article");if(b.length===2){contentInjected=!0;window.removeEventListener("scroll",debouncedScrollCheck);var c=window.scrollY;window.addEventListener("scroll",function d(){var a=window.scrollY;a-=c;if(typeof window.dataLayer[0].injectedContent!=="undefined"&&a>=750)return console.log("injectedContent from dataLayer: ",window.dataLayer[0].injectedContent),window.dataLayer.push({event:"injectedContent",
injectedContent:window.dataLayer[0].injectedContent}),window.updateCampaignTotalView(),window.removeEventListener("scroll",d),window.dataLayer[0].injectedContent})}},100)}window.addEventListener("scroll",debouncedScrollCheck);</script><script type="text/javascript" id="" charset="">var scrName="macworld";if("macworld"==="macworld"||"macworld"==="techhive")scrName="macworld"+"us";var scrEm=document.createElement("script");scrEm.setAttribute("id","funnel-relay-installer");scrEm.setAttribute("data-customer-id","idg_28d2b_"+scrName);scrEm.setAttribute("data-property-id","PROPERTY_ID");scrEm.setAttribute("data-autorun","true");scrEm.setAttribute("async","true");
scrEm.setAttribute("src","https://cdn-magiclinks.trackonomics.net/client/static/v2/idg_28d2b_"+scrName+".js");document.head.appendChild(scrEm);</script><script type="text/javascript" id="" charset="">/*
@preserve
jquery.scrolldepth.js | v1.0
Copyright (c) 2016 Rob Flaherty (@robflaherty)
Licensed under the MIT and GPL licenses.
*/
(function(b){"function"===typeof define&&define.amd?define(["jquery"],b):"object"===typeof module&&module.exports?module.exports=b(require("jquery")):b(jQuery)})(function(b){var u={minHeight:0,percentage:!0,pixelDepth:!0,nonInteraction:!0,gtmOverride:!1,trackerName:!1,dataLayer:"dataLayer"},h=b(window),m=[],n=0,p;b.scrollDepth=function(e){function v(a,c,d,f){if(p&&e.pixelDepth&&2<arguments.length&&d>n){n=d;var g=!0;"undefined"!==typeof c&&"25%"!==c&&(g=!1);p({event:"ScrollDistance",scrollEventCategory:"Scroll Depth",
scrollEventAction:c,scrollEventLabel:(250*Math.floor(d/250)).toString()+"px",eventValue:1,eventNonInteraction:g})}}function w(a,c,d){b.each(a,function(f,g){-1===b.inArray(f,m)&&c>=g&&(v("Percentage",f,c,d),m.push(f))})}function x(a,c){var d,f,g,k=null,l=0,y=function(){l=new Date;k=null;g=a.apply(d,f)};return function(){var q=new Date;l||(l=q);var r=c-(q-l);d=this;f=arguments;0>=r?(clearTimeout(k),k=null,l=q,g=a.apply(d,f)):k||(k=setTimeout(y,r));return g}}function t(){h.on("scroll.scrollDepth",x(function(){var a=
b(document).height(),c=window.innerHeight?window.innerHeight:h.height();c=h.scrollTop()+c;a={"25%":parseInt(.25*a,10),"50%":parseInt(.5*a,10),"75%":parseInt(.75*a,10),"100%":a-5};var d=+new Date-z;m.length>=(e.percentage?4:0)?h.off("scroll.scrollDepth"):e.percentage&&w(a,c,d)},500))}var z=+new Date;e=b.extend({},u,e);b(document).height()<e.minHeight||(b.scrollDepth.reset=function(){m=[];n=0;h.off("scroll.scrollDepth");t()},t(),"undefined"===typeof window[e.dataLayer]||"function"!==typeof window[e.dataLayer].push||
e.gtmOverride||(p=function(a){window[e.dataLayer].push(a)}))};return b.scrollDepth});</script>
<script type="text/javascript" id="" charset="">jQuery(function(){jQuery.scrollDepth()});window.addEventListener("beforeunload",function(a){dataLayer.push({event:"pushOnUnload"})});</script><script type="text/javascript" id="" charset="">var affiliateLinks=document.querySelectorAll("a[data-product], a[data-vars-product-id");
affiliateLinks.forEach(function(d){d.addEventListener("click",function(b){try{var c=b.target.getAttribute("data-product");if(c==null){c=b.target.getAttribute("data-vars-product-id")||"000000";var a=window.IDG.products[c]||{};if(typeof a.terms!=="undefined")var h=a.terms.manufacturer.name;var e=b.target.getAttribute("data-vars-bkvndr")||b.target.getAttribute("data-vars-vendor")||"",f=b.target.getAttribute("data-vars-bkmfr")||b.target.getAttribute("data-vars-manufacturer")||h||"",g=b.target.getAttribute("data-vars-product-name")||
""}else a=window.IDG.products[c]||{},e=a.attributes["data-vars-vendor"],f=a.attributes["data-vars-manufacturer"],g=a.attributes["data-vars-product-name"];var k=d.closest(".slideshow")!==null?"Slideshow":d.closest(".product-widget")!==null?"Product Widget":d.closest(".product-chart")!==null?"Product Chart":"Body Text";a="No affiliate event ID";window.ULID&&(a=window.ULID.ulid());var l={event:"affiliateLink",eventCategory:"Affiliate Link",eventAction:"Click",eventLabel:""+b.target,productVendor:e,productManufacturer:f,
productName:g,productId:c,productLinkPosition:k,affiliateEventUlid:a};dataLayer.push(l)}catch(m){console.log("error logging affiliate link click: ",m)}})});</script><script type="text/javascript" id="" charset="">var elems=document.querySelectorAll(".entry-content a:not([data-product])"),editBodyLinks=Array.prototype.filter.call(elems,function(a){return a.matches(".entry-content a:not([data-vars-product-id])")});
editBodyLinks.forEach(function(a){a.addEventListener("click",function(c){try{var b=a.href,d=a.innerText,e=RegExp("^https://www.arnnet.com.au|^https://www.reseller.co.nz|^https://www.cio.com|^https://www.csoonline.com|^https://www.computerworld.com|^https://www.channelasia.tech|^https://www.computersweden.se|^https://www.itnews.com|^https://www.itworld.com|^https://www.infoworld.com|^https://www.networkworld.com|^https://www.javaworld.com|^https://www.techconnect.com|^https://www.techhive.com|^https://www.macworld.com|^https://www.pcworld.com|^https://www.techadvisor.com|^https://www.macworld.se|^https://www.pcforalla.se|^https://www.m3.se|^https://www.gamestar.com|^https://www.idginsiderpro.com|^https://www.idgconnect.com","i"),
f=RegExp("go.redirectingat.com","i");var g=null!==a.closest(".fakesidebar")?"FSB":null!==a.closest(".end-note")?"End Note":"Body";var h=f.test(b)?"External":e.test(b)?"Internal":"External";""!==b&&(c={event:"editBodyLink",eventCategory:"Editorial Body Links",eventAction:h,eventLabel:g+" | "+d+" | "+b},dataLayer.push(c))}catch(k){console.log("error logging editorial body link click: ",k)}})});</script><script type="text/javascript" id="" charset="">var heartbeatInterval=500,heartbeatTime=typeof heartbeatTime==="undefined"?0:heartbeatTime,pageIsVisible=!document.hidden,pageHasFocus=document.hasFocus();function startHearbeat(){window.timerInterval||(window.timerInterval=setInterval(function(){pageHasFocus&&(heartbeatTime+=heartbeatInterval)},heartbeatInterval))}function pauseHeartbeat(){window.timerInterval&&(clearInterval(window.timerInterval),window.timerInterval=null)}
function heartbeatFocus(){pageHasFocus||(startHearbeat(),pageHasFocus=!0)}function heartbeatBlur(){pauseHeartbeat();pageHasFocus=!1}window.addEventListener("focus",heartbeatFocus);window.addEventListener("blur",heartbeatBlur);window.addEventListener("beforeunload",function(a){dataLayer.push({heartbeatEngageTime:heartbeatTime/1E3});dataLayer.push({event:"heartbeatTime"})});pageIsVisible&&pageHasFocus&&startHearbeat();</script>
<iframe height="0" width="0" style="display: none; visibility: hidden;"></iframe><script type="text/javascript" id="" charset="">(function(g){function d(a,b,k){a=a.getPlaylistItem().title?a.getPlaylistItem().title:a.getPlaylistItem().file;g.push({event:"jw_player_video",video_status:b,video_title:a.toLowerCase()})}for(var f=0,h=[25,50,75,90],e=[];window.jwplayer(f).id;){var c=window.jwplayer(f++);e.push({id:c.id,markers:[]});c.on("setupError",function(a){d(this,"Video error",a.message)});c.on("play",function(a){a=this.getPosition()<2?"play":"resume";d(this,a)});c.on("pause",function(a){d(this,"pause","Paused video")});c.on("complete",
function(a){d(this,"complete","100%")});c.on("time",function(a){a=Math.floor(a.position*100/a.duration);var b;a:{for(b=0;b<e.length;b++)if(e[b].id==this.id)break a;b=null}h.indexOf(a)>-1&&e[b].markers.indexOf(a)==-1&&(e[b].markers.push(a),d(this,a+"%",a+"%"))});c.on("error",function(a){d(this,"error",a.message)})}})(window.dataLayer=window.dataLayer||[]);</script><div id="sp_message_container_1157140" style="display: block;"><iframe src="https://cmpv2.macworld.com/index.html?hasCsp=true&message_id=1157140&consentUUID=null&consent_origin=https%3A%2F%2Fcmpv2.macworld.com%2Fconsent%2Ftcfv2&preload_message=true&version=v1" id="sp_message_iframe_1157140" title="SP Consent Message"></iframe></div></body></html>