ID.nl logo
Huis

Doe het met stijl

Om je webpagina’s helemaal naar wens op te maken kan je niet zonder css, ook niet wanneer je een cms als Joomla of een blogtool als WordPress gebruikt. De definitieve specificatie van css3 is weliswaar nog lang niet af, maar je kunt er nu al mee aan de slag!

Css staat voor cascading style sheets,  een specificatie om de vormgeving van webpagina’s los te koppelen van de eigenlijke inhoud. Je kunt css-informatie in de webpagina zelf opnemen, zowel inline, dus in de pagina zelf, als in de <head>-sectie. Voor de overzichtelijkheid kun je het ook onderbrengen in een apart bestand (extern stijlblad) waarnaar je dan vanuit je webpagina verwijst. Omdat zo’n constructie tot potentiële conflicten kan leiden, volgt de css-informatie een watervalsysteem - vandaar de naam ‘cascading’. Een inline opmaakdeclaratie krijgt een hogere prioriteit dan de opmaak die vanuit de <head>-sectie is bepaald en die krijgt op zijn beurt voorrang op een eventueel extern stijlblad.

De eerste css-editie (css1) stamt al uit 1996 en werd twee jaar later opgevolgd door css2. Zo goed als alle moderne browsers ondersteunen nagenoeg volledig beide specificaties. Intussen is men ook al jaren bezig met css3, maar het zal – net als bij html5 – nog lang duren eer de standaard het stadium van een definitieve W3C-aanbeveling bereikt. Dat css(3) nog volop in beweging is, valt goed af te leiden uit een webpagina als www.w3.org/style/css/current-work.

Gelukkig hoef je die eindfase niet af te wachten en kan je nu al aan de slag met css3. Alle moderne browsers ondersteunen namelijk al in mindere of meerdere mate css3. Op www.findmebyip.com/litmus bijvoorbeeld lees je in tabelvorm af hoe goed elke browser op dat vlak presteert. Het zal je opvallen dat vooral Internet Explorer achterloopt, vooral als het op ondersteuning van css-eigenschappen aankomt. Wel is het zo dat Internet Explorer vanaf versie 9 met zowat alle css3-selectors overweg kan: dat bewijst ook de test op www.css3.info/selectors-test.

Her en der op internet vind je al enkele mooie demonstraties van css3 (bijvoorbeeld op www.css3.info/preview of enkele voorzichtige praktijkpogingen op www.css3gallery.net). maar nog veel leuker is het als je er zelf mee experimenteert. In dit artikel bekijken we alvast enkele css3-handigheden.

Selectors

Selectors mogen dan niet het meest sexy onderdeel uit de css-specificatie zijn, ze zijn wel van cruciaal belang. Een css-selector is een item waarop je een bepaalde css-opmaak kunt toepassen. Een eenvoudig voorbeeld met de syntax selector { eigenschap:waarde; } verduidelijkt dit: h2 { font-family: ‘Comic Sans MS’; color: green; }. Alle h2-items worden hierdoor in Comic Sans MS weergegeven als groene tekst. De selectors waren aanvankelijk vooral klassieke html-elementen (zoals h2, p, en dergelijke), waarbij de css-declaratie op elke instantie van dat element werd toegepast. Css3 breidt de selectors flink uit – uiteraard met een wat complexere syntax tot gevolg.

We volstaan hier met een tweetal voorbeelden die je alvast een idee geven. Het eerste stuk code voeg je toe aan de header van het document (tussen <head> en </head>). Het tweede stuk plaats je in de body. In het volgende voorbeeld laten ze zien hoe alle <p>-elementen waarbij “PCM” in de titel voorkomt – en alleen die – een speciale opmaak meekrijgen.

<style type="text/css" >

p[title*="PCM"] { font-family: 'Comic Sans MS'; color: blue; }

</style>

<p>Welkom op de CSS3-pagina van...</p>

<p title="Mijn PCM">PCM, Personal Computer Magazine</p>

Handig zijn verder ook de (pseudoclass-)selectors :checked, :enabled en :disabled, bedoeld om formuliervelden extra focus te geven:

:checked {display: inline-block; width: 6em;}

<form>

<input type="checkbox" /></p>

<input type="radio" name="pcm" /></p>

<input type="radio" name="pcm" />

</form>

Je zal merken dat het selectievakje en de keuzeknoppen meer ruimte innemen – wegens width:6em  - zodra je ze hebt aangeklikt.

Randen en kaders

Ook voor het werken met kaders en randen voorziet css3 in enkele creatieve extra’s.  Om een kader afgeronde hoeken te geven kan één css-declaratie volstaan:

.hoeken { border: 8px outset red; width: 400px; height: 100px; border-radius: 10px; }

<div class="hoeken">Een kader met afgeronde hoeken</div>

Overigens hoef je niet noodzakelijk alle hoeken af te ronden. Het beperken tot één of meerdere hoeken doe je met behulp van de eigenschappen border-top-left-radius, border-bottom-right-radius, enzovoort. Nog meer afronding is natuurlijk ook mogelijk, zodat je bijvoorbeeld een perfecte cirkel krijgt:

.cirkel { background: red; color: yellow; width: 100px; height: 100px; text-align: center; border-radius: 50px; display: box;  box-orient: horizontal; box-pack: center; box-align: center;}

<div class="cirkel">Cirkel met tekst</div>

Zonder de vetgedrukte items krijg je weliswaar een cirkelvorm, maar staat de tekst niet mooi in (het midden van) de cirkel. Om dat gedaan te krijgen maak je dus gebruik van een nieuw “box-model”, dat vastlegt hoe zo’n box in een ander box geplaatst moet worden. Lang niet alle browsers ondersteunen momenteel deze eigenschap, maar als het goed is lukt je dat met behulp van een browser-specifieke prefix alsnog. Voor browsers die worden aangestuurd door de Gecko-engine (voornamelijk Mozilla Firefox) is dat de prefix –moz- en voor browsers met de WebKit-engine (Safari en Chrome) is dat –webkit-. De declaratie ziet er voor dit laatste browsertype dan als volgt uit:

.cirkel { background: red;  color: yellow; width: 100px; height: 100px; text-align: center; border-radius: 50px; display: -webkit-box;  -webkit-box-orient: horizontal; -webkit-box-pack: center; -webkit-box-align: center; }

Overigens hoeft niets je te weerhouden de drie types eigenschappen broederlijk naast elkaar te declareren (display: box;  display: -webkit-box;  display: -moz-box;).

Ook leuk is de mogelijkheid om twee of meer verschillende afbeeldingen als kaderachtergrond te gebruiken. Je hoeft eigenlijk alleen een komma te zetten tussen de diverse plaatjes. Houd er wel rekening mee dat niet alle browsers hiermee al overweg kunnen. Sommige gaan zelfs compleet voorbij aan de declaratie met als gevolg een lege achtergrond. In onze code hebben we dat alvast opgevangen (zie vetgedrukte tekst):

.kader { width: 500px; height: 100px; background: url(pcm.gif) no-repeat; background: url(pcm.gif) no-repeat, url(hub.gif) repeat; background-position: bottom right, 50% 30; }

<div class="kader"></div>

De waarden die bij de eigenschap background-position horen bepalen waar (en hoe) de afbeelding precies getoond wordt binnen het kader. De syntax hiervan is behoorlijk complex. Je vindt alle nodige details, inclusief voorbeelden, op www.w3.org/tr/css3-background/#background-position.

Tekst en webfonts

Aan saaie teksten kan css3 weinig verhelpen, maar de specificatie kan er in elk geval wel voor zorgen dat de tekst er leuk uitziet. Een leuke toevoeging is bijvoorbeeld text-shadow. Deze eigenschap doet precies wat de naam suggereert:

h1 { text-shadow: 2px 3px 5px red }

<h1>PCM, Personal Computer Magazine</h1>

De eerste twee waarden bepalen de verschuiving van de schaduw ten opzichte van de eigenlijke tekst (horizontaal en verticaal). De derde waarde legt de vervagingsradius van de schaduw vast en red geeft uiteraard de kleur aan. Het is trouwens ook mogelijk meer dan één schaduweffect op tekst toe te passen, bijvoorbeeld:

h1 {text-shadow: 2px 3px 5px red, -2px -3px 2px yellow}.

Het aantal webpagina’s dat volop inzet op schreefloze fonts (sans serif) als Verdana valt niet te tellen. Toegegeven, dergelijke fonts laten zich lekker lezen op een scherm, maar je kunt ook wat creatiever uit de hoek komen: met webfonts bijvoorbeeld. Dat zijn lettertypes die door de browser automatisch kunnen worden gedownload. Webfonts zijn geen uitvinding van css3, maar de specificatie heeft het concept wel nieuw leven ingeblazen. Je kunt in css3 namelijk ieder (open) truetype font (extensies .ttf en .otf) inzetten.

@font-face { font-family: Inkinthemeat; src: url("inkinthemeat.otf") }

h1 { font-family: Inkinthemeat, Verdana; color: blue; font-size: 6em; }

<h1> PCM, Personal Computer Magazine</h1>

Je hoeft niet ver te zoeken gratis fonts die je effectief als webfonts kunt en mag inzetten. Een bezoekje aan een site als www.dafont.com. Handig is ook www.google.com/webfonts. Eigenlijk is deze pagina bedoeld om webfonts via een Google api op je webpagina’s te gebruiken. Je kunt de fonts echter ook probleemloos in .ttf-formaat downloaden, naar je eigen site uploaden en alsnog via css3 in je webpagina’s opnemen. Je hoeft het gewenste font alleen te downloaden en ergens online bereikbaar te maken. Je kunt het bijvoorbeeld op dezelfde locatie als je webpagina plaatsen.

Toch nog een kanttekening: Internet Explorer ondersteunt weliswaar css-webfonts, maar jammer genoeg alleen in het .eot-formaat (Embedded OpenType). Dat hoeft geen onoverkomelijk probleem te zijn. Op www.cuvou.com/wizards/ttf2eot.cgi vind je een gratis online converter evenals de nodige html-code om het font zowel in Internet Explorer als in andere browsers correct weer te geven.

Kleur en animatie

Css3 heeft ook het kleurenpalet verder uitgebreid. Nieuw zijn onder meer de kleurenschema’s hsla en rgba, waarbij de a voor ‘alpha channel’ (alfakanaal) staat. Meer achtergrondinformatie vind je op www.w3.org/tr/css3-color. Hiermee is het mogelijk de transparantiegraad van tekst of andere objecten nauwkeurig te bepalen. Dat kan ook met de eigenschap ‘opacity’, bijvoorbeeld als volgt: <div style=”background: rgb (255, 100, 50); opacity: 0.25;”>Deze tekst is bijna volledig transparant</div>. Met hsla/rgba-kleurenschema’s wordt het echter nog iets eenvoudiger:

<div style="background: hsla(0,100%,50%,0.7);">beetje transparant!</div>

<div style="background: rgba(255,100,50,0.2);">bijna volledig transparant!</div>

Over de precieze verschillen tussen opacity en rgba lees je meer op www.css3.info/introduction-opacity-rgba. Ook hier blijft Internet Explorer weer flink achter. Met het browserspecifieke filter kan je het als volgt oplossen: <p style="background-color: green; color: white; width:100%; filter:alpha(opacity=20) ;">Deze alinea is bijna geheel doorzichtig!</p>.

            Css3 maakt ook erg fraaie animaties mogelijk, al dan niet in combinatie met JavaScript. Sites als www.1stwebdesigner.com/css/50-awesome-css3-animations en http://blog.insicdesigns.com/2010/02/the-beauty-of-css3-animation hebben alvast een aantal overtuigende demo’s verzameld. We beperken ons hier noodzakelijkerwijs tot een instapvoorbeeld aan de hand van de eigenschap ‘animation’, die verschillende animatie-eigenschappen verenigt. Eerst bepaal je het gewenste keyframe (zie regel 1), waarna je de eigenlijke animatie vastlegt (regel 2) en die uiteindelijk ook aanroept:

@-webkit-keyframes mijn_animatie {from {left: 50 px; top: 50 px;} to {left: 400 px; top: 200 px;}}

#kader {-webkit-animation: mijn_animatie 4s linear 1 infinite alternate;position:absolute; height: 30px; width:122px; background-color: red;}

<div id="kader">PCM in beweging…</div>

Zoals je merkt, is de animatie-eigenschap momenteel nog browserspecifiek (-webkit-animation) en krijg je die voorlopig alleen aan de praat op browsers met de Webkit-engine. De parameters van de tweede regel, waarin de animatie vastleggen, vergen enige toelichting. Je treft daar de volgende eigenschappen aan:

-animation-name: de naam van je animatie, zoals bepaald door @-webkit-keyframes;

-animation-duration: de duur van een enkele animatie (standaard is dat 0, dus géén animatie – in ons voorbeeld staat die op 4s ingesteld);

-animation-timing-function: bepaalt hoe de animatie tussen twee keyframes moet bewegen (mogelijke waarden zijn onder meer ease, linear, ease-in en ease-out);

-animation-delay: de startvertraging;

-animation-iteration-count: herhalingsfactor (dat kan een cijfer zijn maar bijvoorbeeld ook infinite);

-animation-direction: richting (normal of alternate – in dit laatste geval wordt de animatie ook afgespeeld in omgekeerde richting).

We hebben in deze workshop niet alle mogelijkheden van css3 kunnen bespreken, maar de voorbeelden geven een aardig idee van wat je met css3 kunt. Zoals gezegd is de specificatie nog volop in beweging en valt het niet helemaal uit te sluiten dat bepaalde eigenschappen alsnog verdwijnen of worden aangepast. Anderzijds komen er ook geregeld nieuwe elementen bij en staan er nog wel een aantal op stapel (onder meer voor wiskundige formules en het weergeven van grafieken). Dit alles hoeft je niet te weerhouden css3 in je eigen webpagina’s te gebruiken, zolang je je bewust bent dat niet alle browsers alle css3-eigenschappen (even goed) weergeven.

▼ Volgende artikel
Waar voor je geld: 5 gamingmuizen voor minder dan 120 euro
© ID.nl
Huis

Waar voor je geld: 5 gamingmuizen voor minder dan 120 euro

Ben je fanatiek gamer en doe je dat op een desktopcomputer of laptop? Dan mag een goede gamingmuis natuurlijk niet ontbreken. Wij vonden op Kieskeurig.nl goede gamingmuizen voor minder dan 100 euro.

Logitech G Pro X

Logitech G Pro X Superlight is een draadloze muis die communiceert via een meegeleverde 2.4 GHz USB-ontvanger met je Windows-computer. Binnenin bevindt zich een Hero 25K-sensor, waarmee je de gevoeligheid kunt instellen tot een maximum van 25.600 dpi. Je laadt de ingebouwde accu op via de meegeleverde micro-USB-kabel. Wanneer de batterij volledig is opgeladen, gebruik je het apparaat tot 70 uur onafgebroken voordat je deze weer op de stroom moet aansluiten. Het ontwerp weegt 63 gram en heeft een symmetrische vorm, al bevinden de twee duimknoppen zich uitsluitend aan de linkerkant.

In totaal heb je de beschikking over vijf programmeerbare knoppen: de linker- en rechtermuisknop, een klikbaar scrollwiel en de twee genoemde zijknoppen. Aan de onderkant van de behuizing zitten teflon-voetjes (PTFE) die contact maken met de ondergrond. Via de Logitech G Hub software op je pc pas je de instellingen van de DPI en de knoppen aan. De muis heeft een polling rate van 1000 Hz, wat betekent dat de positie duizend keer per seconde aan het systeem wordt doorgegeven.

Gewicht: 63 gram
Programmeerbare knoppen: 5
Sensor: 25.600 dpi

Razer DeathAdder V3

Razer DeathAdder V3 verbind je met je computer door middel van een vaste, gevlochten kabel met een USB-A-aansluiting. Deze muis heeft een asymmetrisch ontwerp dat specifiek is gevormd voor rechtshandig gebruik. Onder de linker- en rechtermuisknop zijn optische schakelaars geïnstalleerd die door middel van een lichtsignaal registreren wanneer je klikt. De interne Focus Pro 30K optische sensor ondersteunt resoluties tot maximaal 30.000 dpi.

Je bedient in totaal zes knoppen, waaronder een speciale knop aan de onderkant waarmee je schakelt tussen verschillende, vooraf ingestelde DPI-profielen zonder dat je de software hoeft te openen. Verder ondersteunt het model een maximale polling rate van 8000 Hz. Dit houdt in dat de muis vaker per seconde gegevens naar je Windows-pc stuurt dan standaardmodellen. Het gewicht van de behuizing bedraagt 59 gram. Om de functies van de knoppen toe te wijzen of macro's in te stellen, gebruik je de Razer Synapse 3-software. Je slaat deze instellingen vervolgens direct op in het ingebouwde geheugen van het invoerapparaat, zodat ze behouden blijven als je hem op een ander systeem aansluit.

Gewicht: 59 gram
Programmeerbare knoppen: 6
Sensor: 30.000 dpi

SteelSeries Rival 5

SteelSeries Rival 5 beschikt over negen afzonderlijk programmeerbare knoppen. Aan de linkerzijde van de behuizing vind je naast de reguliere knoppen ook een tuimelschakelaar die je zowel omhoog als omlaag kunt bewegen, plus een extra knop aan de voorkant van het duimgedeelte. Het apparaat is ontworpen voor rechtshandigen en weegt 85 gram. De registratie van je bewegingen gebeurt via een TrueMove Air optische sensor.

Deze sensor heeft een maximaal bereik van 18.000 dpi en een registratiesnelheid van 400 IPS. Je sluit het apparaat aan op een vrije USB-poort van je Windows-systeem via de vaste, met microvezel beklede kabel. De behuizing bevat tien verlichtingszones die onafhankelijk van elkaar in te stellen zijn via de SteelSeries GG-software. In deze applicatie pas je ook de CPI-waarden en de toewijzing van de negen knoppen aan. De hoofdschakelaars onder de muisknoppen zijn ontworpen met een IP54-certificering, wat inhoudt dat ze afgeschermd zijn tegen de invoer van stof en opspattend water. Er zijn grote glijders van PTFE op de onderkant gemonteerd voor de verplaatsing over een muismat.

Gewicht: 85 gram
Programmeerbare knoppen: 9
Sensor: 18.000 dpi

Corsair M65 RGB Ultra

Corsair M65 RGB Ultra is opgebouwd rondom een frame van geanodiseerd aluminium. Aan de onderkant van dit frame bevinden zich drie uitsparingen waar je meegeleverde gewichtjes in kunt plaatsen. Hiermee verander je het standaardgewicht van 97 gram naar maximaal 115 gram en pas je het zwaartepunt van het apparaat aan. Een opvallend kenmerk aan de linkerzijkant is de zogeheten 'sniper-knop'. Wanneer je deze ingedrukt houdt, verlaagt de muis tijdelijk de DPI-waarde, wat de cursorbeweging in Windows vertraagt.

In totaal zijn er acht programmeerbare knoppen aanwezig. De optische Marksman-sensor registreert bewegingen tot een instelbaar maximum van 26.000 dpi. De verbinding verloopt via een vaste USB-kabel en het apparaat maakt gebruik van AXON-technologie. Deze technologie maakt een polling rate tot 8000 Hz mogelijk. Binnenin is een zes-assige gyroscoop en versnellingsmeter ingebouwd. Met deze sensoren meet het apparaat de fysieke kanteling, waardoor je via de iCUE-software acties kunt koppelen aan het optillen of scheefhouden van de muis.

Gewicht: 97 gram / aanpasbaar tot 115 gram
Programmeerbare knoppen: 8
Sensor: 26.000 dpi

Glorious Model O 2 Wired

Glorious Model O 2 Wired heeft een gesloten voorkant, maar is op de handpalmsteun en de onderzijde voorzien van uitsparingen in een honingraatpatroon. Door deze fysieke structuur te gebruiken, is het totale gewicht van de behuizing op 59 gram gehouden. Aan de voorzijde bevindt zich een vaste, flexibele kabel met een standaard USB-A-stekker voor in je pc. Het apparaat maakt gebruik van een BAMF 2.0 optische sensor. Je past de resolutie van deze sensor handmatig aan tot een bovengrens van 26.000 dpi, waarbij snelheden tot 650 IPS worden geregistreerd.

De linker- en rechtermuisknop zijn voorzien van mechanische schakelaars. Bovenop de muis, direct achter het scrollwiel, bevindt zich een knop waarmee je stapsgewijs de DPI-waarde wijzigt. De actuele stand lees je af aan een indicator aan de onderkant. Via de Glorious Core-software pas je in Windows zaken aan zoals de 'lift-off distance', de polling rate (tot 1000 Hz) en de reactietijd van de knoppen. Er zijn in totaal zes knoppen in de behuizing verwerkt.

Gewicht: 59 gram
Programmeerbare knoppen: 6
Sensor: 26.000 dpi

▼ Volgende artikel
Microsoft Gaming-baas Phil Spencer en Xbox-president Sarah Bond vertrekken
Huis

Microsoft Gaming-baas Phil Spencer en Xbox-president Sarah Bond vertrekken

Microsoft Gaming-ceo Phil Spencer en Xbox-directeur Sarah Bond vertrekken bij het Amerikaanse bedrijf.

Dat hebben verschillende media vernomen, en Spencer zelf heeft het inmiddels ook bevestigd via social media. Daarbij publiceerde IGN ook interne e-mails van Microsoft's ceo Satya Nadella, de te vertrekken Spencer en de nieuwe Microsoft Gaming-ceo Asha Sharma en Matt Booty.

Naar verwachting vertrekt Spencer, die bijna veertig jaar bij Microsoft werkzaam was, aanstaande maandag. Xbox-president Sarah Bond - waarvan voorheen werd gedacht dat ze Spencer uiteindelijk zou vervangen - gaat ook weg. Asha Sharma is op dit moment nog de president van Microsofts CoreAI en gaat dus Microsoft Gaming bestieren. Matt Booty, het hoofd van Xbox Game Studios, wordt gepromoot naar chief content officer en zal nauw samenwerken met Sharma.

"Afgelopen najaar deelde ik met Satya dat ik nadacht over mijn vertrek en het beginnen aan het volgende hoofdstuk van mijn leven", zo stelt Spencer in zijn e-mail. "Vanaf dat moment gingen we aan de slag met onze aanpak, met het oog op het behoud van stabiliteit en het versterken van de fundering die we hebben gebouwd. Xbox is altijd meer dan een bedrijf geweest. Het is een levendige gemeenschap bestaande uit spelers, makers en teams die erg veel geven om wat we bouwen en hoe we dat doen. Het verdient een goed doordacht plan voor de toekomst."

"Ik wil Phil bedanken voor zijn uitzonderlijke leiderschap en samenwerking", aldus Nadella in zijn e-mail naar werknemers. "In meer dan 38 jaar bij Microsoft, waaronder 12 jaar aan het hoofd van de gamedivisie, heeft Phil geholpen met het transformeren van wat we doen en hoe we dat doen."

View post on X

De nieuwe Microsoft Gaming-ceo aan het woord

Sharma, de nieuwe ceo van Microsoft Gaming, meldt in haar e-mail: "Mijn eerste taak is simpel: begrijpen hoe dit werkt en het vervolgens beschermen. Dat begint bij drie verplichtingen. Ten eerste geweldige games - daar begint alles mee. We moeten geweldige games hebben die door onze spelers geliefd worden." Vervolgens vertelt Sharma over het belang van onvergetelijke personages, de macht geven aan ontwikkelstudio's en iconische franchises.

"Ten tweede: de terugkeer van Xbox. We verbinden ons opnieuw aan onze trouwe Xbox-fans en -spelers, die de afgelopen 25 jaar in ons hebben geïnvesteerd, en de ontwikkelaars waar we de uitgebreide universa en ervaringen die onze spelers wereldwijd omarmen mee hebben gebouwd. We zullen onze afkomst eren met een vernieuwde inzet voor Xbox, te beginnen bij de console, die heeft gevormd wie we zijn." Sharma benadrukt daarbij dat games tegenwoordig op meerdere apparaten te vinden zijn, en spreekt uit dat Microsoft zich niet wil limiteren aan één apparaat. "Terwijl we uitbreiden op pc, mobiel en cloud, moet Xbox naadloos, onmiddellijk en waardig voor de gemeenschappen die we serveren voelen."

Het derde punt van Sharma is "de toekomst van spelen. We nemen de heruitvinding van spelen waar. Daarom zullen we investeren in nieuwe zakenmodellen en nieuwe manieren om te spelen door gebruik te maken van wat we al hebben: iconische teams, personages en werelden waar mensen van houden. Maar we zullen die werelden niet behandelen als statische IP om uit te melken en geld uit te onttrekken. We bouwen een gedeeld platform en gereedschappen die ontwikkelaars en spelers de macht geven om hun eigen verhalen te creëren en delen."

Over Spencer en de staat van Xbox

Phil Spencer werd in 2014 hoofd van Xbox, toen hij de opdracht had Xbox One van een gebrekkige release het jaar ervoor te redden. Tijdens die consolegeneratie werd onder andere het populaire Xbox Game Pass gelanceerd. Dankzij onder andere die service en zijn veelvuldige interviews werd hij al snel populair onder gamers.

Na de Xbox Series X en S-release in 2020 begon de mening over Spencer om te slaan, vooral gevoed door de veranderingen rondom Xbox als merk. Sinds enkele jaren komen de spellen van Xbox-ontwikkelaar zelfs vaak ook op andere platforms uit - bijvoorbeeld op PlayStation 5 en Nintendo Switch. Tegelijkertijd loopt de verkoop van de huidige Xbox Series X en S-consoles flink terug. Spencer zelf verscheen de afgelopen jaren steeds minder vaak in interviews, en ook de vele ontslagrondes en studiosluitingen binnen de Xbox-divisie zorgden voor reputatieschade.

Tegelijkertijd werden onder Spencers leiding grote aankopen als Bethesda en Activision Blizzard gedaan, bekend van gamefranchises als The Elder Scrolls, Fallout en Call of Duty.

Microsoft heeft eerder laten weten aan een nieuwe console te werken, die de grenzen tussen consoles en pc moet vervagen. Voor zover bekend wordt dit een apparaat die in feite pc-games af gaat spelen, alsmede Xbox-games, en waarop verschillende digitale pc-winkels bereikbaar zullen zijn - en dus niet alleen die van Microsoft zelf.

Het vertrek van twee belangrijke kopstukken binnen Microsofts gamedivisie is opvallend, zeker in combinatie met het feit dat de gametak van het bedrijf schijnbaar in een transitieperiode zit. Ook het feit dat de nieuwe ceo van Microsoft Gaming van CoreAI afkomt, houdt de gemoederen onder gamers bezig. Microsoft zet groots in op kunstmatige intelligentie, maar onder gamers heerst vooral onvrede over de invloed die AI tegenwoordig heeft op hun hobby. Sharma benadrukte in haar interne e-mail echter dat Xbox zich niet gaat richten op "zielloze AI-slop".