Bio Brian LeRoux leads the open source PhoneGap project team at Adobe (also at Apache under the name "Cordova"). He's been with the PhoneGap project from its very humble beginnings at Nitobi Software.
GOTO Aarhus is the enterprise software development conference designed for team leads, architects, and project management and is organized by developers, for developers. Important topics are presented by the leaders in our community. The conference concept is to present the latest developments as they become relevant and interesting for the software development community.
Yes, okay; so there’s definitely been a lot of confusion about the different names and last year when Adobe acquired Nitobi, we donated the source code of PhoneGap to the Apache Software Foundation and it was accepted for incubation under the name of Apache Cordova; it was actually accepted under a different name but we’re going to pretend that didn’t happen; so now the thing is like PhoneGap is a distribution of Apache Cordova; lots of people are distributing Apache Cordova, it’s inside of products Oracle, SAP, IBM so people are using Cordova openly.
PhoneGap is the consumer distribution by Adobe; right now it’s exactly the same source code; there’s talk that we may integrate it back to PhoneGap Build at some point this year; if you don’t have an SDK installed then it will look out to the cloud and it will use your PhoneGap Build credentials to build your application so that could happen.
I guess, yes, I mean developer so I guess the corporate thinking is getting into my head and I’m using these weird terms; so it’s the end developer that’s using PhoneGap, yes.
So PhoneGap Build let’s you build PhoneGap projects using our servers; we’ve been in beta for about two years, fine tuning it, figuring out how it would work, making it faster, and adding a few features; so first thing when you’re building an application on your local machine, you don’t want to run like six compilers at once; it’s going to be really slow unless you have a really powerful machine and odds are you don’t have all the operating systems either; so, you know, if you’re building Windows Phone, you have to have Windows; if you’re building iOS, you have to have iOS; so PhoneGap Build lets you run that compilation all at once and we’re starting to build in some instrumentation stuff.
So one feature that I’m excited about is called hydration; when you push new code, we pull it down and then we push it on to the device so you don’t have to do a recompile; when you compile for like say Android, it takes roughly 30 seconds to 2 minutes which is not bad; but when you’re doing classic web dev which is all PhoneGap is in a browser, you know, you just have to reload so it’s way quicker; the hydration thing I think our times are around two to three seconds on a fast network so it’s way faster than compiling which is a big win.
No; the WebView doesn’t have an app cache; so PhoneGap apps kind of they live on the phone and they’re served locally off the phone; so we’ve got this little tiny service running on the device; for PhoneGap Build based applications, it will go fetch new assets and then install them on the device; but it only gets to static assets so you don’t have to recompile the native bits.
Well I can rattle them off; so iOS, Android, all Blackberrys so even Blackberry 10 which isn’t really consumer available yet, Windows 7, Windows Phone 7, Windows 8, Windows Phone 8, all Blackberrys, oh man, what am I missing, I’m sure I’m missing stuff, WebOS is supported, Tizen is under development right now; did I mention Android, I must have; all the Androids back to 2.1.
We still have Symbian source; I don’t know if anyone is actually building Symbian apps; oh, that reminds, me Bada is another one - Samsung’s.
Yes; Samsung and Intel are doing Tizen and that’s supposed to be out sometime next year; we have a reference implementation already built; it runs on emulators and it runs on their sort of demo brick devices so we’ll be ready for it when it comes out; it’s another kind of web operating system so very much like WebOS; or actually there’s another platform that we support, Boot to Gecko which is now I think Mozilla’s current Firefox OS.
Yes; so not to it; we used to do Git-Hosting then we realized that there was this other service that does it pretty good so we thought we’ll let those guys do it, GitHub; so we basically are integrated back with GitHub; you push your code to your GitHub repo and then we’ll pull from there under our service to do compilation; it’s a little bit neater of a model and it doesn’t require us to have to run Git servers in addition to all these other operating systems that we’re running; it was a little bit fragile so we thought we’d leave that to them; everybody is hosting GitHub probably anyway so, yes.
Werner: It’s one step less.
Yes; one less remote basically.
Yes; in fact you can just install it straight on to the device; you have to give us your signing keys; this is Apple ceremony but just like TestFlight app we support install from the QR code or a URL; so you build and you give – you know, we give you back this QR code and then we actually detect what device is trying to download the assets and we’ll send them the right thing; so if it’s an Android trying to download it, we’ll send it an APK down; if it’s iOS, we send an IPA down which is the install package format for iOS.
Werner: For the Opera community, we have to say Opera always supported remote debugging.
I’m sure yes, Opera probably supported it ten years ago.
Werner: Right, yes because I want to avoid getting comments on the post
It’s free; yes, we follow the GitHub like model there too; so it's free for as many open source applications as you want and it’s also free for one private application so you don’t have to share your source for one of the apps which is nice; and then the pricing is pretty reasonable I think; I think it works out to like $10.99 a month for essentially unlimited use.
Yes; it’s part of the Edge family of tools which are all the sort of web platform tools that we offer to Adobe and PhoneGap tools at the mobile side of that story.
Yes; so well I’m on the web platform team and that team is kind of divided into two areas; there’s a tooling team and then there’s the open source teams; the tooling team and then there’s sort of like guys that work in between; so the tooling team does things like Edge Animate, Edge Inspect, Edge Reflow which we just announced and then kind of like halfway in between the tooling team and the open source team, we have Brackets which is our open source code editor that we’ve been working on and then right way over into the open source side, you’ve got Apache Cordova and our Webkit; and basically the Webkit team is working to facilitate all the ideas that we have for what we want to see in publishing for the web; so right now web content, it’s good, it’s getting better but it’s not as expressive as some other formats and so we want to fix that and then we want to build the tools to publish to it; so the first sort of movements that we’re seeing out of our Webkit contributions are CSS shaders and filters, regions and exclusions; so all sort of new high powered CSS features and that’s going to allow our publishing tools to like target those features and give designers like better capabilities for expressing stuff.
I guess I should mention too there’s type kit and then there’s Edge Web fonts which is kind of like open free, open source free fonts for people to --
Yup, web fonts; there’s a whole bunch of good ones, I’m blanking right now but there’s one that I particularly love called Source Sans Pro which Adobe made.
Werner: For code editors I think.
Yes, yes, and it’s inside Brackets but I’ve added it to vi too, it looks great; yes.
I think they are fuzzily in CSS3 in some form. CSS filters have landed in Chrome Canary and I know we’re working with the W3C on standardizing this stuff, so you know, that’s a little bit of a longer process but Adobe is putting their money where their mouth is instead of just like working on the standard side, we’re actually building implementations too; one angle to all this too that should stress is that we don’t believe that the web is just Webkit, it’s not that, we’re just going to be contributing there; the Cordova team is looking heavily at Firefox OS too but that’s sort of a different beast altogether.
Oh, yes. I’m being cagey there. So I’m like I’m certain it will; I mean you know, a lot of people are trying to like come up with conspiracy theories that Apple is out to kill the web; they contribute more than anyone back to Webkit right and this is easily one of the best mobile web browsers; it’s what Chromium based on; I’m certain they know the issue exists and I’m certain they want the best by web developers but they probably have a lot to do like maps for example.
Werner: Well Apple Maps is fine; I found here perfectly all right.
Yes, it’s true, yes.
I’ve heard that too; I suspect that the mobile web browser might be a larger surface for attack but perhaps yes that could be an issue; I don’t know; like I’ve heard that reasoning; I don’t necessarily buy it but hey I don’t really know what they know about their own stuff; they’ve left it out now for I think two releases of iOS so maybe it is a really tough security problem; but, you know, you’d think that if their reasoning is security that they wouldn’t have it enabled in the mobile web browser but… Yes; who knows, maybe it’s a different privilege model for that app or something I’m not sure.
Werner: Presumably, yes.
Werner: So talking about native applications with web views, recently Facebook announced that they moved their application, their mobile application on iOS to native which isn’t actually true; I think they still use WebView or HTML for some things I think.
Well, okay so Facebook was at PhoneGap Day EU and Simon Cross gave this awesome presentation and I felt really bad for him because he opened the conference; so can you imagine, Mark Zuckerberg makes his announcement, two days later he’s at the PhoneGap conference so he was looking now for rotten tomatoes to fly or whatever; so Facebook is totally obviously okay with the web and web technology and when you’re a company of Facebook’s scale, you’re going to probably execute on more than one strategy; something that everybody has glossed over along the way too and this is just personal conjecture and my opinion and, you know, mine alone, but iOS6 integrated Facebook natively so it probably had access to different API level security than other areas of the operating system that most apps aren’t enjoying; so a rewrite was probably necessary.
The web code they were writing was not the greatest and I don’t know what their investment or resourcing situation was so they probably just didn’t have like … So building a WebView that scrolls is not hard, you can do this; in Facebook in fact their app was not terrible if you got rid of all the blocking script tags, which was the issue; when you were scrolling, it would be janky; it was just how it was implemented and I guess there was a whole bunch of forces at work where they decide to shift their focus; but, you know, they’re still very much a web centric company; they’re contributing back to PhoneGap actually and they encourage a lot of people obviously to build on their platform using web tech so.
I don’t think it – like the pundits made a really big deal of it and it really wasn’t one; it was a bit of probably a goof on Zuckerberg’s part to make that statement but…; yes, I think the web is going to be all right. Says a guy on a video on the internet. We’re on the internet right now.
Well, yes; kind of, so like there’s a few weird trends; so early on it was mostly hobbyist web developers then it kind of grew into like corporate businesses that were trying to get their content on the web or they had like an existing investment like web tech they had built big intranets or whatever and they didn’t really care; they just wanted to get it out to mobile; then of late and this is more of a demographic shift than anything else and we don’t really understand it ourselves but we’ve got some new stats and we haven’t rolled them all out but we’ve published them a bit; Brazil, India and China have come out of nowhere in the last year; China wasn't even in our top 50 last year for downloads, now they’re number 3, it’s like 900% growth and you know, we’re getting downloaded like roughly a hundred thousand times a month so it’s a huge number; so there’s this emerging market growth and we’ve been sort of fielding out what are people building in these emerging markets and it runs the gamut; like there are people building games, there are people building clones of popular services that you see that are mostly localized to the western world; and we’re also seeing apps that are really regional specific so like right down to micro payments to your local grocery store in Mexico for example; so that kind of thing.
So like web tech it’s like really runs the gamut but that trend is probably the most interesting one to me that we saw this big sort of corporate adoption and now we’re seeing this really big emerging market adoption; and it’s probably one of the bigger new challenges for us in the years to figure out how do we best facilitate this; when we first saw those stats we’re like wow, maybe we should translate to Chinese, Mandarin or whatever right like there’s a lot of stuff that we should be doing to help those developers; and we’re still learning what it means.
Well Bada is huge in Korea, probably has more adoption than Windows Phone just by its Korean --
Werner: Well that’s easy.
Yes, yes; true, it is easy; I mean iOS and Android are starting to dominate, I’m really hesitant to like pick any winners or choose any horses; so I mean iOS globally is still roughly 23% market share so it is not the dominant mobile platform that people make it out to be; and Android suffers its own issues; it’s definitely the dominant mobile platform but it just depends on which Android you’re talking about and --
Werner: …Android 2.1...
It’s 2.3 right now; 2.3 is probably the big boy and 2.3 is running not the greatest Webkit so yes, this is the issue; Blackberry 10, you know, remains to be seen what Microsoft Windows 8 is going to do but I think it could do well, definitely has a cool design; so it’s anybody’s game; the other – actually sort of leading back into the emerging markets thing, this sort of like dovetails nicely to Firefox OS; so the Firefox OS doesn’t have phones yet but it’s going to soon; we love it because it’s a PhoneGap like type approach but right from the operating system up built I think within a year; and instead of trying to pick a fight with iOS and Android, those guys the Mozilla Foundation has decided that they’re just going to go for the emerging markets and they’re starting with Brazil and Portuguese which is really interesting, there’s a lot of people there; it’s almost, you know, I think it will be 300 million people potential audience which is huge and that’s a great test bed for them to start their platform.
Yes; Telefonica is working with them.
Brazil, yes. That’s where they’re starting anyways and I know the Mozilla team has been flying back and forth from wherever they’re based down to Brazil to check it out and probably learning more Portuguese than they’ve ever learned before.
But that’s generally the use case you’re playing movies or games or you’re listening to music, you don’t want the screen to turn off and the sound to stop or the image to stop playing; so they created a web API for that in Firefox and they have other thing like ambient light, proximity, there’s just a whole slew of stuff that we kind of don’t get access to or we haven’t had the use cases to think about because the operating system is doing that stuff for us; so Firefox OS is really just like a blank slate web browser on top of a Linux kernel and you can do anything what the kernel can do; yes, it’s cool.
Yes, so we’ve prototyped the shim so your PhoneGap apps will run on Firefox OS and I imagine sometime in the coming year, we’re going to be support it with PhoneGap Build so you’ll just get sort of a transparent compile.
Werner: So let’s all check out Firefox OS and thank you, Brian.