Det här är anteckningar från sommaren 2016, som aldrig blev en riktigt färdig text. Med tanke på temat på det här numret av CAP&Design, så blev det tillfälle för mig att rota fram mina anteckningar om min framtidsvision, damma av dem och återvända till kaninhålet.
Jag identifierar mig mer med Marty McFly än Alice i Underlandet, så vårt kaninhål får ta formen av en Einstein-Rosen Bridge, eller ett maskhål, som leder till en hypotetisk framtid. Denna krönika kan uppfattas som ren fantasi, då det är väldigt mycket spekulation och idéer som bara bygger på en intuition om vart operativsystem, människa/dator-interaktion och gränssnittsutveckling är på väg. Dessutom är idén väldigt svår att konkretisera, då abstraktionsnivån blir högre ju djupare ned vi dyker.
Vi sätter oss i en Delorean och accelererar upp till 141,62 kilometer i timmen. När fluxkondensatorn aktiveras flyger vi genom ett maskhål och hamnar i år 2027; året då självflygande bilar och svävande brädor är en grej. Och då syftar jag på riktiga hoverboards, inte motordrivna longboards. Vi är i framtiden, “Great Scott!”.
Vare sig det handlar om datorer, mobiler, virtual/augmented/mixed reality, tv-skärmar, smarta klockor, eller egentligen vad som helst som är någon slags datorenhet som har X antal inputs och Y antal outputs; Här i framtiden delar alla dessa enheter mer eller mindre samma kodbas.
Arkitekturen är inte mycket olik den vi har i dag. Den största differensen är att det numera finns en artificiell intelligens (AI) som kärna mellan operativsystemet och användargränssnittet (och därmed användaren), ett AI byggt på neurala nätverk. Ett av dessa är ett så kallat Generative Adversarial Network (GAN), ett typ av neuralt nätverk som kan generera originell data utifrån dataset som man lärt upp det med. Om man exempelvis lär upp det med kattbilder, skulle det kunna generera kattbilder.
Samtidigt har vi ett annat nätverk som har lärt sig klassificera kattbilder med hög precision. Detta nätverk läxar upp GAN-nätverket med hjälp av reinforcement learning när GAN-nätverket försöker generera kattbilder (likt hur man lär barn vad som är rätt eller fel). I början är det förmodligen väldigt konstiga katter som genereras, men inom kort kommer det att kunna skapa kattbilder som är oskiljbara från de riktiga bilderna.
Byt ut ”kattbilder”, ”katt” och ”katter” mot ”användargränssnitt” i vårt exempel, så förstår ni kanske vart jag är på väg. Användargränssnittet kan automagiskt genereras, on the fly, av ett AI. På sätt och vis fanns grundidén redan år 2016, då röst-kommunikation med smarta hubbar, som till exempel Amazons Alexa eller Apples Homepod, blev populärt. För att däremot generera grafiska användargränssnitt har AI:na år 2027 ett stort bibliotek av färdiga responsiva moduler för både input och output, byggt på ett ramverk som får React att se föråldrat ut.
AI:n har ett API så att den kan kommunicera med operativsystemet, och har därmed tillgång till olika inputs, som till exempel pekskärm, mus, tangentbord, kamera, mikrofon, och internet (http-anrop och så vidare). AI:n har även outputs i form av en skärm, högtalare, internet etcetera. Via konfiguration kan man bland annat ställa in vilka API:er som den intelligenta enheten har tillgång till (den får så klart inte tillgång till hela internet, det vore riskabelt och därmed oetiskt).
Efter att användaren har identifierat sig via enhetens inputs (kamera, IR-sensorer, formulär på skärmen, och/eller röstigenkänning), kan en användare på ett flexibelt och effektivt sätt bläddra igenom datan som hen har tillgång till via eventuella API:er och enhetens interna minne, samt utföra alla möjliga handlingar som användaren har tillåtelse att utföra. En användare ska kunna använda enhetens samtliga inputs för att interagera med enheten, för ökad tillgänglighet. Synskadade som inte kan använda en pekskärm, kan istället hålla en naturlig dialog med enheten, för att få den informationen utföra de handlingar hen vill utföra.
Det låter kanske som att framtiden är fylld med autobots och decepticons, och att det här är gryningen inför Skynet, men det som oroar mig mest är att det ser oroligt ut för designyrket, nu när saker kan designa och utveckla sig själva.
Låt oss hoppa in i vår Delorean och åka tillbaka till 2017, så ska jag försöka bryta ner det här lite mer konkret och samtidigt ge lite belägg för spekulationerna.
Ett användargränssnitt kan rent matematiskt förklaras som en funktion mellan datamodellen och användaren, och vise versa. André Staltz föredrag från 2015 om cycle.js handlade om just detta. Även liknande ramverk som React och Vue har fått oss att inse detta på sistone. Min personliga tes är att denna funktion skulle kunna genereras av en AI, givet att den har tillgång till tillräckligt många moduler och applikationer som dataset.
Jag tror dock inte att det är något problem. Redan år 2014 kunde man observera att antalet moduler på NPM, ett register för backend- och frontendmoduler, växte exponentiellt, och bland dessa moduler är många skapade för specifika ramverk. Jag misstänker dessutom att vi börjar närma oss nästa abstraktionslager vad gäller gränssnittsutveckling. Detta abstraktionslager kommer följas av automatisering.
I somras konsultade jag som formgivare åt Furhat Robotics, ett robotlabb på KTH Campus som i dag utvecklar ett mänskligt användargränssnitt mellan en användare och ett AI. Roboten består av ett robothuvud med en halvt genomskinlig ansiktsmask av plast, på vilken ett levande ansikte projiceras. Den intelligens som är inbyggd i roboten är bland annat taligenkänning och möjlighet att välja röst, språk och ansikte. Dessutom kan konsumenten implementera egenutvecklad AI med hjälp av Furhats utvecklingskit, för att styra robotens inputs (datakällor, mikrofon, kamera, och så vidare) och outputs (huvudriktning, ansiktsuttryck, tal, etcetera). Roboten har även en pekskärm, som man kan interagera med förprogrammerade gränssnitt, som till exempel en frågesport, eller konfiguration av Furhat. Föreställ er nu, om användargränssnittet på pekskärmen genererades helt av AI:n, och därmed var lika flexibelt och generativt som robotens tal och taligenkänning. Med andra ord, tänk om roboten kunde ”lyssna” och ”tala” från skärmen, på samma sätt som roboten gör med dess mikrofon respektive högtalare. [prenumerera]
Slutord: forskningen och utvecklingen kring AI går raskt framåt, tack vare bland annat Moores lag samt att fler företag väljer att släppa sina machine learning-verktyg som öppen källkod (Open AI, Tensor Flow). Samtidigt är det just nu en kamp om vem som hinner utveckla en generell AI först. Google verkar närma sig med Deep Mind, och jag tror personligen att de kommer vinna kampen. De gick dessutom förra året ut med att deras strategi numera är ”AI-first”, så hey, jag kanske inte är helt ute och cyklar trots allt. Det här är som sagt bara en tes, och om 10 år vet vi om den är överdriven, on point, eller till och med underdriven.