Microsoft er verdens største programvareselskap, og de bruker store beløp på forskning hvert eneste år.
Andrew Herbert er sjef for Microsoft Research i Cambridge, som blant annet sto bak utvikingen av Bill Gates hjertebarn tablet-PC. Han var i Paris denne helgen for å holde foredrag for studentene som deltar i verdensfinalen i Imagine Cup, og digi.no fikk et intervju med ham etter foredraget.
800 forskere
Microsoft Research har totalt 800 forskere fordelt på sine to forskningssentre i USA, et i Cambridge i England, et i Bejing i Kina og et i Bangalore i India.
- Vi vokser med 80 nye forskere i året, sier Herbert.
I tillegg har de mer enn 1.000 doktorgradsstudenter som er innom Microsoft Research hvert år.
Microsoft Research er opptatt av å koble akademisk forskning med praktisk bruk, og har tre overordnede mål som de jobber mot:
- Advance state of the art in computer science
- Transfer technology to Microsoft business
- Lead Microsoft into the future
- Vi jobber med Microsofts fremtid. Vi jobber med teknologier som kan fremme eller utfordre Microsofts teknologier, sier Herbert.
De har kategorisert sin forskning i fem forskningsgrupper:
- Programming principles and tools
- Operating system, networking distributed system,
- Computer mediated living
- Machine learning and perception
- Computational science
- Jeg regner det som et prosjekt hvis fem eller seks personer jobber med en problemstilling over mer enn et par uker, sier Herbert.
Fra forskning til produkt
På spørsmål fra digi.no om hvor lang tid det typisk tar for en ny teknologi å gå fra Microsoft Research til å bli et nytt Microsoft produkt eller en ny funksjonalitet, har Herbert et åpent svar.
- Det tar alt fra 15 minutter til 15 år, sier Herbert.
Det er ikke slik at det tar 15 minutter å forske frem noe som helst, men det hender relativt ofte at en av Microsofts produktgrupper kommer til Microsoft Research med en problemstilling, og så har forskerne allerede en algoritme eller noe annet som kan brukes til å løse problemet. I slike tilfeller er det bare å plukke fra Microsofts velfylte varelager av forskningsresultater.
Som regel tar det ganske lang tid å forske frem nye løsninger. Det er vanskelig, og ofte også umulig å følge samme arbeidsmetodikk som produktgruppene i Microsoft jobber etter. De har som regel forpliktet seg til en plan og et tidsskjema for når produktet eller funksjonaliteten skal være klar. Slik jobber ikke Microsoft Research.
- I forskning er det ikke en plan. Det er et mål og en prosess, sier Herbert.
Det er også mye større usikkerhet knyttet til resultatene.
- Hvis vi lykkes med alt vi prøver å få til, så har jeg feilet, sier Herbert.
Det betyr ikke at Herbert og hans forskere står fritt til å gjøre akkurat som de vil. De måles også på sine prestasjoner.
- Hvis vi mislykkes med alt vi prøver å få til, så har jeg nok en litt annen type samtale med sjefen min, sier Herbert.
Microsoft har begynt med fildeling
Et av feltene som Microsoft Research har jobbet mye med innen nettverksteknologier, er fildeling.
Den mest kjente av disse løsningene er trolig Bittorrent, utviklet av Bram Cohen. Microsoft Research ser potensialet i slike teknologier, og har jobbet med sin egen utgave en stund. Den skal fungere godt for fordeling av nedlastning av store filer, men hovedmålet er å få den opp og gå som en god løsning for distribusjon av live streaminstjenester.
Foreløpig er den bare tatt i bruk av noen utvalgte MVP-brukere, det vil si eksterne brukere med ekspertise innen et eller flere felt som Microsoft opererer innen. MVP er en forkortelse for Most Valuable Professional.
En gruppe MVP-brukere skal ha testet Microsofts fildelingsteknologi over en seks måneders periode, så det er trolig kort tid før Microsoft begynner å ta den i bruk også på andre områder.
Pendelen har stanset opp
IT-bransjen er en bransje i rask utvikling, og hva som til enhver tid er den riktige måten å tenke og å jobbe på varierer. Pendelen har en tendens til å svinge litt frem og tilbake.
Pendelen Herbert snakker om, er den som svinger mellom personlige datamaskiner og sentraliserte systemer.
- Pendelen har sving mot den personlige datamaskinen. Den ble drevet av mikroprosessorens evolusjon, sier Herbert.
Microsoft har vokst seg store på denne evolusjonen, mye takket være at Bill Gates skjønte hvor viktig PC-en kunne bli. Hans visjon om en PC på hver pult og i hvert hjem er da også oppnådd i den vestlige verden.
Verden forandrer seg, og det samme gjør IKT-bransjen.
- Noen vil argumentere for at pendelen er i ferd med å svinge tilbake, sier Herbert.
Han viser til en ofte latterliggjort uttalelse fra Thomas Watson om at verden bare vil trenge fem datamaskiner.
- Vi har fått de fem maskinene, de heter blant annet Windows Live, Google og Amazon. Internett har gjort det mulig å svinge pendelen tilbake, sier Herbert.
Selv om pendelen har svingt litt tilbake, er ikke Herbert klar for å gå helt i retning av sentraliserte løsninger.
Akkurat som Microsofts Chief Software Architect, Ray Ozzie, har Herbert stor tro på konseptet Software+Service, og at det er en bedre løsning for fremtiden enn Software as a Service (SaaS).
- Pendelen har stoppet i midten, istedenfor å svinge fra den ene til den andre ytterpunktet, sier Herbert.
Flerkjernede prosessorer
- De siste 20 årene har maskinen blitt kjappere og kjappere, men dessverre er ikke dette tilfelle lengre. Maskinvareleverandørene har stoppet prosessen, og gir oss flere kjerner istedenfor, sier Herbert.
Det skaper noen utfordringer. Programvarebransjen sliter med å utnytte kapasiteten, fordi det er vanskelig å fordele oppgavene på prosessorer som jobber parallelt, og det er vanskelig å debugge koden når man ikke kan kjøre en steg-for-steg gjennomgang av hva som skjer frem til programmet kræsjer. Dessuten er det vanskelig å sørge for skikkelig sikkerhet.
- Alle maskiner vi bruker er flerkjernede nå, sier Herbert.
Serverne er det, PC-ene er det, spillmaskiner som Xbox og Playstation er det, og det samme har stadig større andel av mobiltelefonene vi bruker i dag.
Disse enkeltmaskinene har likevel få prosessorkjerner sammenlignet med datasenterne.
- Vi har stort fokus på hvordan neste utgave av datasenteret ser ut, sier Herbert.
Overkomplisert programvare
- Kompleksitet forsinker programvareutviklingen, sier Herbert.
Han viser til statistikk som viser hvordan andelen av prosjekter som går helt overende og kanselleres, henger sammen med antall kodelinjer.
- Jo flere kodelinjer, jo større andel av prosjektene blir kansellert, sier Herbert.
Den samme effekten gir utslag for hverdagen til utviklerne.
- Jo større programvare, desto mer tid brukes på å fjerne defekter og på debugging. Utviklere bruker bare 20 prosent av tiden sin på det de ønsker å gjøre - å skrive kode, sier Herbert.
Dette problemet vil bare bli større med flere prosessorkjerner, med mindre man klarer å lage nye løsninger og nye programmeringsspråk som er tilpasset den nye utviklingen.
Ett av Microsoft Research' svar på utfordringen er programmeringsspråket F Sharp.
Det er et såkalt funksjonelt programmeringsspråk som er på et høyere abstraksjonsnivå enn dagens objektorienterte programmeringsspråk. Ved å blant annet å bruke matematiske tilnærminger, så vil dette språket gjøre det lettere å skrive kvalitetssikret kode som fungerer på mange prosessorkjerner.
F Sharp vil bli tilgjengelig i markedet om noen år. Her kan du lese mer om det på den engelske utgaven av Wikipedia, og her er mer informasjon på hjemmesiden til Microsoft Research.