Dansk fingeraftryk på Googles kommende vidunderbarn

Google Native Client får fødselshjælp af danske Christian Stefansen. Her fortæller han om projektet.

Browseren er på vej til at blive et nyt hjemsted for computerens programmer. Det er en udvikling, som Google gerne vil fremme.

Løftestangen er projektet Native Client.

Projektet skal gøre det muligt at afvikle programmer og spil udviklet i C eller C++ i en browser. Først og fremmest i Googles egen browser Chrome, men på længere sigt også i de konkurrerende browsere - hvis de vil lege med.
 

Den danske drømmestilling

Med på holdet er danske Christian Stefansen.

Han blev færdig på Københavns Universitet i 2008 og startede allerede i 2009 hos Google i Danmark. Hans første ansvarsområde i Google var Google Toolbar til Firefox og arbejdspladsen var Aarhus.

“Men efter et år begyndte udlængslen at melde sig hos både mig og min kæreste. Så jeg kiggede mig omkring i Google og ledte efter en interessant stilling. Jeg har tidligere forsket i programmeringssprog. Min Phd handlede om programmeringssprog for finansielle kontrakter,” forklarer Christian Stefansen.

Derfor passer jobbet med Google Native Client som fod i hose. Native Client var egentlig et forskningsprojekt, men det har udviklet sig til et konkret produkt.

“Som produktmanager arbejder jeg sammen med andre og udstikker de lange målsætninger. Så jeg får både lov til at arbejde med forskning men også med et produkt, som rent faktisk når ud til folk, og som kan ende med at gøre nettet et bedre sted. Så det kan man godt kalde en drømmestilling,” siger Christian Stefansen.

Derfor flyttede han med kæresten til Californien og Googles hovedkvarter i Mountain View for et halv år siden


Hvad skal vi med Native Client?

Hvis projektet får rigtig luft under vingerne, så kan den store kodebase af programmer skrevet i C og C++, meget simpelt løftes ud på nettet og afvikles i en browser. Men også andre programmeringssprog er på tale.

På den korte bane har holdet meget fokus på at bringe 3D-support ind i browseren.

“På Game Developers Conference i San Francisco i starten af marts demonstrede vi blandt andet fire forskellige 3D-spil - heraf tre udviklet på Unity - i browseren via Native Client. Vi kan nu også køre Mono i Native Client, hvilket giver mulighed for at bruge sprog som C# og F#,” siger Christian Stefansen.

3D bliver nævnt meget i forbindelse med Native Client. Tror du, at man på sigt vil være i stand til at afvikle de virkeligt krævende 3D-spil i en browser?

“Jeg kan ikke få øje på nogle begrænsninger, som skulle forhindre det i at kunne lade sig gøre. Vi har brugt en masse tid på at lave nemme grænseflader. Det kommer den slags krævende applikationer også til at drage nytte af,” siger Christian Stefansen.

Men nogen mener, at I er ved at lave et lukket miljø. Jeres egen ActiveX-plugin?

“Det er rigtigt, at det kræver, at brugeren har Native Client installeret. Men Native Client kommer med som en del af Chrome – på samme måde som Chrome også inkluderer for eksempel en pdf-viewer. Pointen er, at alle de programmer, som man vil afvikle i Native Client, ikke skal bekymre sig om plugins. Det er dejligt, at vi er sprogneutral. Som koder giver det mig en stor frihed. Jeg kender ikke nogen, der kombinerer den type funktionalitet, som vi gerne vil have, med at være både hurtig og sikker. Det er virkelig en svær opgave,” forklarer han.

Google Native Client har også den fordel, at det fungerer på både Mac, PC og Linux.

Men uanset hvad, er det her så ikke et skridt væk fra HTML5 og Googles tanker om det åbne web?

“Det synes jeg egentlig ikke, at det er. Det er allerede open source. Som udgangspunkt er det kun til Chrome, men vi vil gerne have de andre browsere med. Det er vigtigt, at de er med.”

“Målsætningen er at skabe et stærkt og sikkert værktøj. Vi vil gerne blive ved med at være åbne og få udviklercommunityet med på vognen. De er vigtigt at have dem med, for de har ofte idéer, som vi ikke har tænkt på. For eksempel holdt vi en sikkerhedskonkurrence i 2009, hvor vi udfordrede communityet til at “prikke hul” i Native Client. Det gav nogle virkelig gode bidrag, der hjalp til at forbedre kvaliteten af Native Client,” siger Christian Stefansen.


Det er pivsikkert

I dag er produktmanageren meget glad for sikkerheden i Native Client. Det skyldes den dobbelt sandkasse, som programmerne er pakket ind i.

“Det, at vi har vores dobbelt sandkasse, er unik. Du skal ikke bekymre dig over, hvilke programmer du slipper løs. Den ydre sandkasse er Chromes sandkasse, og den indre sandkasse er en statisk analyse af programmet. Hvis jeg starter et program, så kører vi en validator. Den tjekker, om programmet gør nogle forbudte ting. For eksempel om det indeholder ikke-tilladte maskinkode-instruktioner eller om den modificerer den del af lageret, hvor programmet ligger,” siger Christian Stefansen og uddyber, at programmer i Native Client generelt har de samme sikkerhedsrestriktioner som JavaScript.

De seneste udgaver af Google Chrome understøtter Native Client, men det skal aktiveres i browseren.

Hvornår ser vi en færdig Native Client?

“Vi arbejder ikke med faste deadlines, så vi kommer først ud med noget, når vi mener, at det er klart,” siger Christian Stefansen.

Det er dog oplagt, at næste offentlige luftning af gruppens arbejde kommer til udviklermesse Google I/O, hvor der allerede er planlagt et oplæg.




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
JN Data A/S
Driver og udvikler it-systemer for finanssektoren.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Bliv klar til AI Act: Det vil påvirke både din udvikling, drift og organisation

Fordelene ved at anvende kunstig intelligens bliver stadig mere udtalte, og både som virksomhed og myndighed er det i stigende grad uholdbart ikke at udforske mulighederne. Men der er også risici forbundet på den nye teknologi, og på dette formiddagsseminar ser vi på, hvordan verdens første regulatoriske kompleks – EUs kommende AI Act – adresserer behovet for en etisk, ansvarlig og kontrolleret anvendelse af AI.

20. august 2024 | Læs mere


Det Digitale Produktpas

Kom med og hør om, hvordan du kommer i gang med at sikre din virksomhed er klar til Det Digitale Produktpas. Vi sætter fokus på, hvordan du bliver klædt på til at få styr og struktur på dine data, samt hvilke krav du skal sætte til dine leverandører og andre i din værdikæde, for at sikre den nødvendige information er tilgængelig.

21. august 2024 | Læs mere


Cyber Security Summit 2024

På Cyber Security Summit får du indsigt i det aktuelle trusselslandskab, overblikket over de nyeste værktøjer og trends indenfor sikkerhedsløsninger, indsigt i de relevante rammeværktøjer og krav samt de bedste løsninger og værktøjer til at sikre effektiv drift og høj compliance.

27. august 2024 | Læs mere