New Unity Features for App Makers

Unity, the widely used multi-platform game engine, continues to expand, offering new features and targeting additional platforms.

The past few weeks have seen considerable activity. In March, Unity Technologies released Unity 4.1, which includes support for Apple’s AirPlay wireless streaming technology and an updated memory usage tracking tool. Also last month, Unity Technologies entered an alliance with Sony Computer Entertainment Inc. that will make Unity tools available for the upcoming PlayStation 4, PlayStation Vita and PlayStation Mobile platforms.

In another alliance, Unity Technologies is partnering with Oculus VR Inc., which is developing the Oculus Rift virtual reality headset. Under that arrangement, Unity will offer Rift developers an extended Unity Pro trial license at no charge. The Unity tool comes in free and professional versions, with the latter, Unity Pro, priced at $1,500.

What’s New in Unity 4.1
Yury Yarmolovich, Unity developer at Elinext Group, a custom software developer based in Minsk, Belarus, says his company uses Unity to create augmented reality apps, among other things. He’s happy about the new features of Unity 4.1. “What is really good is the new Memory Profiler with a detailed overview of the resources used,” Yarmolovich says. “Also, shader improvements deserve recognition.”

The Memory Profiler update, available on Unity Pro, provides a greater level of detail as it breaks down non-managed memory usage. According to Unity Technologies, the feature lets developers track consumption “right down to the level of individual objects, assets, textures, meshes,” among other elements.

Unity 4.1, meanwhile, also offers multi-screen AirPlay support, which lets developers press iPads and iPhones into service as game controllers. Users control games on the handheld devices as the action is streamed to an HDTV. “I have not used much of AirPlay, but I think it’s a cool thing,” Yarmolovich says.

Chris Skaggs, founder and chief technology officer of Code-Monkeys, an application and web development company based in Newberg, Ore., cites Unity 4’s animation capability as a standout component. “Our favorite new feature is the new animation tool -- being able to set those things up inside the IDE is a big time saver and helps tremendously with animation prototyping,” Skaggs says.

Support for Additional Platforms
In general, Yarmolovich cites Unity’s cross-platform capability as an advantage, noting support for Android, iOS, Windows, Mac OS, Linux, PS3, and Xbox360, with upcoming support for Wii U, Windows Phone 8, BlackBerry 10, as well as current and next-gen PlayStation systems. He also lists other pluses, including support for C#, JavaScript and Boo; a comfortable MonoDevelop editor with a debugger; Asset Server for sharing code from the development environment; Asset Store for downloading additional applications and scripts; and support for various multimedia formats, including 3ds Max images.

Looking forward, Unity Technologies is moving to extend its platform reach. In late March, the company announced a Unity 4 open beta program for Windows Phone 8 apps. A spokesman for Unity Technologies says the company has yet to announce a release date for Windows Phone 8 support. “We just entered a more public beta period at [Game Developers Conference] and are inviting a much larger group of developers in to test,” he says.

In addition, Unity Technologies plans to let developers create games for PCs or tablets running Windows 8 and Windows RT and publish them to Microsoft’s Windows Store, according to Unity’s blog. That support will start with Unity 4.2.

Skaggs is also very interested in support for Windows 8. “As a matter of fact, Win8 with multi-touch support for things like the new Ultrabooks is something we bug Unity about on a weekly basis,” he notes.

“Whether or not it becomes a real player in the game space again will partly depend on how much developers are supported and then can deploy quality titles,” Skaggs continues. “For us, we live and die on the ‘multi-platform’ proposition and Win8 is just another platform that we want to be available on. Unity is so good with multi-deployment already...we want more.”

Developers can also anticipate Unity support for BlackBerry 10 smartphones. In February, Unity announced plans to build a development add-on for BlackBerry 10. At press time, a free beta version was expected to shortly debut. The final release is expected this summer, according to the company.

Putting Mobile Developers to the Test

Mobile app developers can point to past projects to build credibility with customers, but newcomers lack that option. And even experienced hands may want to obtain some objective measure of their abilities -- a seal of approval of sorts.

That’s where technical certification programs come in. Training and developer certification tracks have become commonplace in such IT fields as networking and security. Mobile development, as a relatively new area, has generally lacked vendor-neutral certification programs. But that situation has begun to change.

The Mobile Development Institute (MDI), a division of On The GoWARE, a mobile app development company, offers its MDI Certified Developer (MDICD) program to mobile developers. In addition, CompTIA and viaForensics are working on a secure mobile developer credential, slated for launch later this year.

Mike Newman, president of On The GoWARE, says certification can help developers early on in their careers as they look for full-time positions. Employers stand to benefit as well when a job applicant can back up his or her claims to competence. “It is difficult for a lay qualify technical people,” Newman says.

MDICD Certification
MDI offers MDICD certifications in Apple iOS, Google Android and BlackBerry. “It is not necessarily just a general mobile developer certification -- you get certified in a particular specialty,” Newman explains.

Students or developers often obtain certification on more than one platform. Initially, BlackBerry was the most-requested MDICD certification. Next came Apple iOS. But the rise of Android reduced demand for BlackBerry certification, Newman notes. MDI will eventually cut the BlackBerry program due to lack of interest.

MDI has considered adding a Windows Phone certification, but so far it hasn’t generated enough certification interest. “We will see what the market does and see if there is a big demand [for Windows Phone],” Newman says. “If the market demands it, we will be there.”

Newman estimates that 2,000 to 3,000 people have obtained MDICD certifications thus far.

The certification exam calls for students or developers to log into their app store developer accounts and demonstrate that their apps are available for download.

An exam proctor then conducts a remote viewing session of the test taker’s development environment. Among other things, the proctor will check to see whether the appropriate development tools have been installed and configured and ask the test taker to make a slight modification to his or her app. The modification must be demonstrated in a simulator. A list of exam requirements is available here. As for price, each examination has a $375 proctor fee.

MDI offers training classes toward the MDICD certification. Students with little or no programming experience can begin with a programming fundamentals and mobile technology introductory course, move on to foundational courses in Objective-C and Java, and eventually take operating system-specific classes. Experienced developers seeking certification may take the certification test without signing up for the classes.

Secure Mobile Application Developer Credential
and viaForensics, meanwhile, have been developing a secure mobile app developer credential and associated testing services. CompTIA, an IT industry association, already runs numerous IT certification programs including A+, Network+ and Security+. CompTIA’s credential partner, viaForensics, provides mobile app security, mobile forensics and mobile forensics training services.

Ted Eull, vice president of Technology Services at viaForensics, says the companies are in the exam development process. He expects the credential program to launch in the first half of this year.

In an interview last year, CompTIA and viaForensics officials said the credentialing initiative will educate developers on the differences between securing mobile apps and shoring up traditional applications. The program aims also to discuss the mobile app threat model and provide practical experience in coding secure mobile apps. 

Playing the Long and Short Game with HTML5: Part 2

As the buzz around HTML5 keeps growing, we look at the technologies future and potential. Check out part one here.  

Breaking Free
One advantage of a true cross-platform technology like HTML5 is that developers no longer need to rely on native technologies to deploy their apps on specific hardware platforms. That means being able to potentially circumvent app stores that demand costly native development and take a portion of the profits. The downside is that often the support of these proprietary app stores can make the difference between sinking without a trace and being the featured app of the month and reaching an audience of millions.

For developers that perhaps have less need for the support that app stores can offer, HTML5 offers a significant advantage over native development, particularly when combined with native code whenever it makes sense.

“Many popular Web 2.0 services are using a technology like PhoneGap or a custom native wrapper that allows you to build the user interface for an application in HTML5 and use native code where necessary to deploy the same server-based user interface across mobile and desktop applications,” says Gail Frederick, product planning manager for Intel’s Open Source Technology Center. “And being able to update the UI without needing an app store update is a big advantage for them.” [Disclosure: Intel is the sponsor of this content.].

Selecting the parts that HTML5 can already do well and combining those with native technologies to do the things they want to do is proving to be an effective interim solution for many developers. “I think today that’s a very common programming model,” says Frederick.

“If we talk about Chrome being the bleeding edge and the idea that looking into the Chrome store is looking into the future, as we’re looking into that future, a lot of developers are going the hybrid route today as a hedge against the parts of HTML5 where the syntax might be settled but the performance needs work.”

Prying Eyes
Another serious concern with HTML5 for some developers (when compared to native programming) is the transparency of the source code for the application. Even the most basic computer user can easily display the code that powers the web pages being viewed, all of which can be instantly copied with a quick View Source and CTRL+C. Being essentially a web language that runs in browsers, HTML5 suffers from the same surfeit of accessibility, and hence, apps created using the platform are exposed.

Cloning is the widespread and illegal act of copying code and publishing a practically identical app, often only weeks or even as little as a few days after the original is released. The practice is a particular concern in gaming circles, where success increasingly depends on maximizing revenue through micro-transactions, and where certain large global markets suffer from the twin curses of inaccessibility and a somewhat loose application of copyright law.

All is not lost however. “If you were to do a View Source on most of these jQuery mobile apps you’ll find that a lot of the proprietary business logic is in the cloud, and that’s how people deal with it,” says Mike Richmond, from Intel’s Open Source Technology Center.

The team at European social gaming startup oOki is very aware of the issues presented by the transparency of HTML5. “Theoretically, all the game code can be read or copied, which poses problems in terms of cheating, piracy and cloning,” says Stephane Caillet, head of game programming at oOki. “It’s always possible to make it less readable by obfuscating the code, but parts will always be readable to a programmer.”

The cloud-based solution observed by Richmond is also oOki’s preferred approach. “The most effective solution is to manage a large part of the code server side,” says Caillet. “That code will never be downloaded by the client. In our case, for example, the game rules are handled by the server to avoid any cheating. We also encrypt all the network communications.”

The Long Game
What’s clear is that HTML5 is here to stay and it will change the face of application development. Whether it reaches its full potential next month or two years from now, its evolution is continuing apace, bringing new capabilities and new kinds of developers into its sphere of influence. Intel continues to show a keen interest in optimizing the platform for its hardware, as both the power of available hardware and of the platform continue to grow.

“We’re seeing some very interesting stuff happen on the PC with HTML5,” says Richmond. “If you browse the Chrome store you can see what this programming platform can do when you actually have a powerful processor. It really points to the future, because Moore’s Law says that what you have on the high-end devices will become a commodity two or three years later.”

“The position we’re taking is that HTML5 is a long-term friend,” continues Richmond. “This isn’t an instant changeover, so don’t throw out your C programming book if you’re a C programmer. At the same time, the technology is ready today for doing a number of things that would really be a waste to do with native code.

“If you’re a professional developer and have a broader range of language skills you should just add this to your toolbox and use it because it will save time and money. And if you’re a content developer you should be trying your hand at developing apps, knowing that as you get more experienced the capabilities you need for doing more advanced things are going to improve all the time.”

“There’s always a technology hype cycle that happens, and HTML5 has probably gone past the peak hype stage and is now in the ‘is this really going to happen?’ phase,” says Richmond. “But it is happening. The economics are just too compelling.”

Playing the Long and Short Game with HTML5: Part 1

Emotions have been running high in the HTML5 application development space in recent months. With the current worldwide explosion of mobile and web app use currently underway, many feel HMTL5 is the bright future of cross-platform development.

The vision is simple: one single, straightforward web programming language that allows the creation of anything from a basic service app to a complex game that works across any platform without the need for native development. In theory, HTML5 is a developer’s dream, reducing costs, leveling the playing field and, for app and game studios in particular, opening the floodgates to a wealth of new potential development talent. But in practice, as is often the case when disruptive new technologies enter the marketplace, the road ahead for HTML5 has some twists and turns.

One of the hottest HTML5 debates centers around game development. Games are complex beasts that generally require specialized coding and the creation of native versions for each platform they are deployed on. The idea that HTML5 could eliminate these hurdles is exciting to the countless coders around the world who are working to embrace the emerging technology.

But after initial exploratory efforts across the breadth of the cross-platform game development community, many reluctantly admit that HTML5 remains a promise for the future, not a current reality. In an article published on GamesIndustry International in May, two developers from GameDuell aimed a pin at the bubble of excitement surrounding HTML5 and, while investment in HTML5 game development is certainly continuing, the resulting burst bubble gives pause for thought.

It may be true that the platform is not yet ready to deliver Call of Duty on a phone, but many developers are investing heavily and successfully in HTML5 right now, predominantly in the app space, but also in games. At Google’s I/O conference in June, Electronic Arts unveiled a working prototype of a social cross-platform action game entitled Strike Fortress, designed to showcase exactly what HTML5 is -- or at least soon will be -- capable of. Although that game is not planned for release, it demonstrates that for developers with the right skill-set and approach, HTML5 is already working -- and working well.

An App for That
For a look at fully functional HTML5 apps that are already making the cross-platform dream a concrete reality, try visiting the website. The site is a showcase of 150 jQuery mobile applications submitted by developers and the companies the apps were built for. “There’s a huge spectrum of major companies represented there doing relatively straightforward but useful apps, and they run,” says Mike Richmond, from Intel’s Open Source Technology Center. [Disclosure: Intel is the sponsor of this content.]

They’re apps designed for mobile, but the fact that they’ve been created using HTML5 means they will essentially run on any platform, with no native development required. “You can point your Chrome browser to any that are actually live in the site and run them,” says Richmond. “Most are designed as mobile apps so they are not designed to exploit a big screen, but they work.”

The question of game development in HTML5 is a good deal more complex. The games industry is currently taking a moderate perspective on the usefulness of HTML5. “There are clearly games that can’t be done cross-platform with HTML5 right now,” says Richmond, “but there’s a tremendous amount of industry attention on this problem.”

“Whether you’re talking about the work that’s being done by us and Tizen, or the work that Google is doing in Chrome and Chrome OS, we’re all very keenly aware of the problems that are yet to be solved,” says Richmond.

Limitations with HTML5 can manifest themselves as a result of the sheer scale involved when developing games as opposed to more straightforward applications. Problems can range from a lack of clarity with script organization and issues with certain browsers, to programmers’ potentially reduced mastery of code behaviors resulting from the language’s high tolerance for less than optimum coding.

“I don’t think we’re there yet, at least not for every kind of app,” says Richmond. “For the kind of apps on the jQuery mobile gallery the answer is, yes we are there. For games, if you want to write a first-person shooter, that’s probably not true.”

Ultimately, the limitations developers hit with HTML5 will depend on the type of application they’re creating. European social gaming startup oOki is currently developing its first online multiplayer puzzle game for deployment on Facebook followed by other platforms, including browsers and mobile. The company decided early on to embrace HTML5 standards, seeing it very much as the future of cross-platform social game development, and the team is confident that it made the right decision.

“Some parts of HTML5 still need work, like WebGL management, and there are still a few problems with certain browsers, but the remaining hurdles can easily be overcome,” says Stephane Caillet, head of game programming at oOki. “We haven’t hit any problems we couldn’t find a way around.”

Caillet has a rather more well-defined goal when it comes to the real or perceived limitations of HTML5: “For me, the main challenge with HTML5 is showing that you can make better applications than you can with Flash.”

Speed Freaks
Another accusation regularly aimed at HTML5 is that it lacks speed when compared to, for example, C or other native programming languages. However, the speed issue is often not as clear cut as some of the naysayers would have us believe, and can be seen to have emerged more as a result of the migration of programmers from other languages to HTML5 and its related languages such as JavaScript and CSS rather than because of any intrinsic weakness in the platform itself.

“The straight programming comparisons between C and JavaScript are potentially quite misleading,” says Richmond. “First of all, JavaScript performance has probably improved by a factor of 50 to 100 in the last five years on exactly the same hardware based on the introduction of just-in-time compiler technology.”

Richmond paints a colorful picture to illustrate his point: “One of the things we’ve noticed is that if you ask a C programmer to program in JavaScript, a really good C programmer can become competent in JavaScript in about six weeks,” said Richmond. “Then if you tell the programmer to create dancing birds flying across the screen, they’ll start coding in JavaScript the same way they would have coded in C.

“Then the programmer will benchmark the code and say, ‘Oh look, it’s slower in JavaScript than it would be if I had written it in C,’” continues Richmond. “But then a content author comes along and says, ‘You want dancing birds? Well I’ll do that in five lines of HTML and forty lines of CSS, and that’ll run faster than either of them.’ Why? Because the CSS code was implemented by the best programmers on the planet working on the browser. This is particularly relevant for people doing visual-oriented apps. There’s a set of things you can do in CSS that, unless you’re trained as a content author, you might not even consider.

“And it’s very controversial,” continues Richmond. “If you go to a web developer convention and throw the word CSS out there, you’ll hear pros and cons. But the implementation of CSS is tied to the heart of the browser and the heart of the graphic subsystem, and if what you want to do is possible with CSS it’s going to be very, very fast.”

Caillet has certainly encountered no issues in terms of speed compared to the previous industry standard development platform for online social games: “For our game we’re achieving a level of performance that’s at least as good as a comparable Flash game.”

This reality is part of the opportunity Richmond sees for content authors to become highly successful app developers and grow the overall development ecosystem. “We see HTML5 bringing a whole new set of application developers to computing, and the people that it brings start out as content authors. Normally you associate people who do content development and authoring with creating websites. They have a certain kind of training and a certain set of sensibilities and skills, and then suddenly those people are creating applications.

“Compared to the traditional software engineering model where you go and get a computer science degree, learn to code in C, and use a certain set of tools, it’s all different now for these other people,” concludes Richmond.

Photo: Corbis Images