Det här var sommaren då Pokémon GO slog alla rekord. Det gav oss en liten föraning om alla de spel som vi inte sett än men som kommer att överträffa Pokémon GO i att kombinera fysisk och virtuell närvaro med mobilitet, det sociala och det kommersiella i en unik upplevelse för användarna. De kallas ofta augmented reality, eller AR (på svenska "förstärkt verklighet").
För utvecklare väcker detta flera frågor: Hur uppnår man det här? Hur bygger du en infrastruktur som stödjer kombinationen av geodata, social data, personlig data ... och hur skapar man en konsekvent och högkvalitativ upplevelse för miljontals mobilanvändare. Hur kopplar du samman alla användare? Och hur hanterar du kraftiga trafiktoppar?
Den första stora utmaningen är komplexiteten. De här upplevelserna i gränslandet mellan den virtuella och den fysiska världen bygger inte på en enda applikation utan ett intrikat nätverk av många olika komponenter som måste kommunicera med varandra. Det blir svårt eftersom de är byggda i olika typer av infrastruktur.
Pokémon GO, till exempel, är en skön mix av mobile analytics, spelmotorn från Unitys Technologies, social data och två publika moln. Några av de här applikationerna hanterar privat användardata och behöver därför en infrastruktur som efterlever krav på säkerhet och dataintegritet. Andra spel använder proprietära plattformar för dataanalys och en annan infrastruktur för lagring av kataloger eller process av analysdata. Ju fler olika arkitekturer som är involverade, desto mer komplext blir nätverket. För att slutanvändarens upplevelse ska bli bra måste nätverket optimeras och förenklas.
En annan svår utmaning är att inte i förväg veta hur stor efterfrågan på tjänsten blir, och att anpassa tillgängligheten till en global publik där ökande och minskade belastning följer solen från öst till väst. Målet här är att ha den beräkningskapacitet som krävs för att hantera kraftiga toppar i trafiken utan att överinvestera i sin egen privata infrastruktur. Det enda sättet att göra det är att ta hjälp av en global publik molnplattform som Google Cloud, AWS eller Microsoft Azure som finns tillgänglig när belastningen blir hög.
Det är helt avgörande hur du väljer att ansluta mot den publika molninfrastrukturen. Att ansluta över det publika internet blir tyvärr inte tillräckligt bra, eftersom bandbredden är oförutsägbar och opålitlig. Eftersom det är publikt, och därmed osäkert, krävs dessutom kryptering vilket ytterligare bidrar till latensproblemen. Det blir uppenbart att de fördelar som molnet erbjuder tappas längs vägen genom det publika internet: flexibilitet, kostnadsbesparingar med mera. Och till sist, en stor utmaning är applikationernas globala karaktär. De måste vara tillgängliga överallt, hela tiden, och därför går det inte att leverera en VR-applikation till en hel kontinent från ett enda centralt datacenter. Kvalitén i användarupplevelsen kommer helt enkelt att bli sämre och sämre ju längre från datacentret som användarna befinner sig.
Sammankopplad hubb-arkitektur
Det bästa sättet att möta alla dessa utmaningar är med vad vi kallar en "sammankopplad hubb-arkitektur". Det är helt enkelt ett företagsnätverk som är uppbyggt runt regionala, sammankopplade hubbar. Genom att placera den privata infrastrukturen inom sammankopplade hubbar har du direkt access till partners, leverantörer, publika molnplattformar, nätverksleverantörer och så vidare. Och genom att bygga upp ett nätverk av de här hubbarna så blir det plötsligt möjligt att leverera samma höga kvalitet till flera kontinenter. Om vi tar Europa som exempel: Det bästa sättet att uppnå detta är att etablera yttre noder/datacenter i alla de nyckelregioner som ingår - till exempel London för Storbritannien och Irland, Madrid för Spanien och Portugal, Stockholm för Norden och Ryssland, Frankfurt för Västeuropa och så vidare. Dessa yttre noder lokaliseras i colocation-miljöer där det också finns nationella nätverksleverantörer, IX:ar, CDN:er, spelplattformar och leverantörer av molntjänster. På så vis ligger de yttre noderna intill leverantörerna av de stora molnplattformarna som ni samarbetar med - med en direkt, dedikerad anslutning, vilket innebär att ni får optimal konnektivitet till och från molnet. Och eftersom era nätverksoperatörer också har en närvaro på samma plats blir det möjligt att koppla samman deras nätverksutrustning vilket ytterligare optimerar länken från applikation till slutanvändare. Sedan, genom att koppla samman alla dessa datacenter, skapar du ett "mesh network", det vill säga ett nätverk där noderna samverkar för att distribuera data i nätverket.
Den här typen av spel bygger ofta på flera olika samverkande applikationer som behöver interagera med varandra: själva spelet, GPS-kartor, mobile analytics, social media via API, publika moln med mera - alla är sammankopplade både genom mobilen och fast lina. På det här sättet kan du leverera en upplevelse med hög kvalitet - trots de osäkerheter och trafikvariationer som alltid uppstår på det publika internet. Det är bara så här som mobila AR-applikationer kan optimeras och fungera trots de utmaningar som uppstår när alla dessa arkitekturer ska samverka. Det finns inga genvägar. Du måste optimera din IT och ditt företagsnätverk för att kunna optimera din mobila AR-applikation.