Social gaming platform Zynga takes a lot of flak for its overbearing management practices and obsession with metrics over user experience. While those rumors may or may not be true, there is more to Zynga than calculating sessions lengths and daily average users. In fact, Zynga's Germany branch is one of the global leaders in HTML5 development and creating dynamic mobile Web games. We chatted with Zynga Germany CTO Paul Bakaus about how Zynga approaches HTML5, what are the limitations of the spec and if we will ever see a Facebook app store.
Zynga has a variety of open source HTML5 projects in GitHub along with several new HTML5 game releases, including Words With Friends and Zynga Poker Mobile Web. As many Web-based game developers will tell you, those are not easy to create. See below for our interview with Bakaus and what Zynga is doing to move the HTML5 spec and ecosystem forward.
Zynga's HTML5 Products
There are now four HTML5-based Zynga games on the market: Words With Friends, FarmVille Express, Zynga Poker Mobile Web and CityVille Express. These games deliver load times comparable to native apps and, "utilize HTML5 tools such as WebSockets and CSS3 to deliver a seamless gaming experience and create fluid animations without slowing down game-play," according to the company.
But there is more to Zynga's contributions to HTML5 than just games. Its open source repository includes the Zynga Jukebox that helps game developers deal with the multi-layer audio limitations of HTML5 along with the Zynga Viewporter that has an essence of responsive design to it, fitting apps to the browsers they are in. One of the biggest problems, as Bakaus describes below, in HTML5 is seamless scrolling. The Zynga Scroller aims to eliminate that problem. Everybody talks about the great native scrolling in apps like Path. Bakaus hopes to give HTML5 the same capability.
Check out our interview with Bakaus below.
Back then we were looking for the creation of a full blown HTML5 game community and realized that the tech was there but it wasn't any shared tech build so we started building an HTML5 engine prototype that was called Aves Engine that would really show the world what we could do with HTML5. We put up YouTube videos and I was talking at conferences about it and really made a lot of impact back then as really the first (tie)-based HTML5 engine that would show what they Web could still offer in the future.
Later that year Zynga acquired us to work on the full blown product. So, we threw away our prototype and started from scratch for the real solution for game systems to use. So, now when we are in a place where we have built up our development studio here in Germany that focuses on delivering HTML5 tech for the whole company and we are producing tech of the future here. It is a lot of research and a lot of fun as well.
A lot of challenges of course but right now we are really at a point where we have a full blown engine. We started it in house and what we can do is super exciting and let's hope that we can get out a lot of what we are doing here soon.
Zynga's philosophy on HTML5
Every decision we make on tech is really to connect people through our games. So, we are really want to bring our games to anywhere our players are. I think there is not a conscious decision for one tech or another, it is really what can deliver the job best. At this point we really are looking at HTML5 to drive a lot of this because HTML5 gives us a lot of advantages that native and Flash programs just cannot give us. The cross-platform aspect of it, bringing the game to many people on different platforms is really what is killing it for us.
Also, usually you would have to port an existing game that runs on Web and native to smartphones and tablets and maybe something else as well. We don't have to do with that HTML5 and that is super exciting.
Limitations of HTML5 for games
There are a couple of limitations, to be honest. There are certainly sound issues. Sound is still a trouble for many game devs. One of the things that I don't recommend doing right now because it is just a matter of market share is going for WebGL. So, actual 3-D games have proved complicated at this point and it is also because the WebGL spec isn't completely reading for consumption at this point, I think. Other than that I think today, even though there are some rough edges with the HTML5 spec because it wasn't really created with games in mind, I think it is the right time now to start doing games. I don't think anyone should stop building games right now or being kept up by people who say HTML5 is not ready. I think, you know, if you look back to the [1980s] when people were first creating games for the Atari and Commodore 64, we got so much less possibilities back then and people were really creative in creating games. There is so much more we can do already in HTML5 and I think the only thing left is developers jumping on it and trying not to be scared away. I think now is the time to build games.
What is keeping developers from embracing HTML5 right now?
Another big reason is that HTML5 wasn't created with games in mind. HTML itself is really a presentational language originally meant to do documents. That is one of the things we are doing now as well, to actively work with the vendors in the W3C to work with game engineers and push for the spec in terms of game development. I think a lot of people are still scared by the fact that it is not a language that was created for game. I think that is mostly the reason.
On app stores and ecosystem - Does Zynga have plans for an app store?
I can't disclose any plans that we have at this point for the future. But, I definitely think it is the right time build really cool solutions to serve apps on the Web. Like the Chrome Web store. Mozilla has its own Web store now. I am excited about those services. At the same time there are ways to bundle apps for the native app source. You can have solutions like PhoneGap or appMobi to really put your HTML5 game, the same code that runs on the browser, and put it into native platform and serve it in the App Store and such.
I think that there is ways that you can serve both at the same time so that is super helpful. As you're aware probably, Facebook itself is kind of like an app platform and has been a really awesome ecosystem for us. I don't see it as critical as many HTML5 engineers out there.
Facebook said at f8 last that it has no plans on an "app repository."
It depends on what you call an app repository, I guess. Right now, Facebook has launched an HTML5 version of mobile and you can actually launch apps on their HTML5 versions nowadays which is pretty cool. While there may not be an overview page that gives you access to apps it [Facebook] is still kind of an app store.
How does Zynga view the opportunities around HTML5 vis-a-vis its reliance on the Facebook platform? Is it a way to distance itself or diversify itself?
I don't think it is a matter of that actually. That really is not a reason we jumped on HTML5. Whether you are doing Flash or HTML5 or native code you could still use Facebook or not use Facebook. Other than that I cannot really describe our plans with Facebook. You know, we have a very healthy relationship with them and I am sure it will continue to be like that in the future.
What is the next step for Zynga in terms of HTML5 games and what does the roadmap for 2012 look like?
Well, we have a lot of tricks up our sleeves, that is for sure. And a lot of prototyping to do and a lot of great stuff. Unfortunately, I cannot disclose any future products that we are releasing. But one of the things that you should definitely take a look at is our open source repositories. So, from a technology perspective, we started open sourcing tech that is in our games at github.com/zynga that will drive our current or future games. We will be allowing to continue more future code there that can help game devs but can also show you a vision of what we can do. So, there will be a lot of interesting stuff in 2012 and beyond from out games perspective.
One of the prototypes that we have released is the Zynga Jukebox that is one piece of a shared tech that we built on HTML5. That has been a pretty good success story since the Jukebox is being used on Words With Friends already. If you check out Words With Friends on Facebook, which is built on HTML5, this one is actually using that open source product. I know of other situations where some of our plugins are used. This is the essence of what we are doing here, essentially, built into small components.
There are two others there. One is called Zynga Jukebox which is meant to bring HTML5 audio to game developers across devices. The next one is the Zynga Viewporter which makes resolution and view port handling on smartphones much easier which is another pain point for many engineers. Finally we released the Zynga Scroller which is an implementation of a scrolling element like the fact many people highlighted the fact that smooth scrolling in Path is awesome. And I agree. But, I am positive we can have the same smooth scrolling affect in HTML5 with the Zynga Scroller. It really brings us the capabilities that people would only know from native apps before.
What are the best tools that Zynga uses or you could point developers to when developing HTML5 games?
Tooling is still actually a pain point. I agree. So, I don't have a perfect answer right now. We are not running IDEs but are working with text editors. We are also writing our own tools. I think we are at a point right now where every HTML5 game developer still codes in there. The tool vendors out there simply don't know what people need. So, eventually, game developers have to write their own tools before putting them in indigenous libraries. I think that is really what is needed. At this point I have seen a lot of great experiments like Mobi Edge or Sencha's tools. I am reading them all on a monthly basis to see where the direction is going. There is a lot of passion and engineers working on this right now trying to solve these issues. We are not there yet. I don't know the definite solution for game engineers for tooling. Let's see what happens.
How long down the road before HTML5 Web apps for the browser and for mobile really hit an inflection point for popularity like the native ecosystem has?
So, that shows me that there isn't any reason to wait. If you want to start using something now, you should because you have an overlap of 75% of HTML5 capable browsers that update almost monthly. So, there is no point in waiting for a certain spec to finish. You can just start using it right now.