Bruno Fonzi Bruno Fonzi ART+TECH Commodore at CODAME Cross Platform For games and interactive developers. Challenges + Opportunities
Aug 31, 2014
Bruno Fonzi
Bruno Fonzi ART+TECH Commodore at CODAME
Cross Platform For games and interactive developers.Challenges + Opportunities
Bruno Fonzi
• Mostly a Geek! • Also UX Software engineer
• C/C++/AS/JS/… • Client/Server (mostly client) • Web/Mobile • Gaming
About MeBruno Fonzi
Bruno Fonzi
Worked at
Project Hermes: The European Spaceplane
European Space Agency (ESA)
Bruno Fonzi
Worked at
Project Silex: World First Data Transmission Between Satellites Using Laser Light
European Space Agency (esa)
Bruno Fonzi
Worked atQuark
Bruno Fonzi
Worked atAdobe
Bruno Fonzi
Worked atPowerflasher (FDT)
Bruno Fonzi
Worked at StartupsAround the world
Bruno Fonzi
Virtual VegasWorked at Startups
Bruno Fonzi
Landed at Lanicaco-founder
Bruno Fonzi
Commodore at CODAME
Bruno Fonzi
My Journey to Gaming
Bruno Fonzi
This is where it all started!TI 99/A4
Bruno Fonzi
Released: 1981 Processor: TMS9900, 16(!) Bit Mhz: 3,3 RAM: 16 KB, expandable to 48 KB ROM: 26 KB, expandable
OS: Basic in ROM, Extendes-Basic with Cartridge Resolution: Graphic: 256x192, 64x48, 32x24,
Text: 40x24
Colors: 15 + 1 transparent color
TI 99/A4 Specs
Bruno Fonzi
How it looked!
Bruno Fonzi
This Too!
Bruno Fonzi
A bit of History
Cross PlatformChallenges + Opportunities
Bruno Fonzi
• Few colors • Screen was mostly our tv • Text based • Basic was the language • Assembler otherwise • Cross-platform:
not really an option
Cross Platform in the 80s
Bruno Fonzi
• 92% Windows PCs • 5% Macintosh • 3% Unix
Cross Platform in the 90s
Bruno Fonzi
• Hardware Cheaper and more powerful
• Java Write once, run anywhere
• Internet AOL: you got mail!
Cross Platform in the 90s Revolution
Bruno Fonzi
Apple Evolution
25 Years of Mac: Product Timeline [Wired]
Bruno Fonzi
Mobile PCs Tablets Other Devices
Cross Platform Now
Bruno Fonzi
So much more!What’s next?
Bruno Fonzi
Development & Design Considerations
Cross PlatformChallenges + Opportunities
Bruno Fonzi
Landscape
• Desktops Windows, OSX, Linux, ChromeOS …
• Browsers IE, Safari, Chrome, Firefox, Opera… (desktop and mobile)
• Mobile iOS, Android, Windows 8, Blackberry, FirefoxOS, Ubuntu …
• Game Consoles & Media Receivers Xbox, Playstation, Wii, OUYA, GameStick, ChromeCast, Apple TV …
• Embedded Devices “iWatch”, Google Glass, Arduino, Car Dashboards ...
Operating Systems
Bruno Fonzi
• Screens Sizes, Colors, Portrait, Landscape …
• Power Processor, Memory, Battery …
• Inputs Keyboard, Gestures …
• Capabilities Accelerometer, Multi Touch, Geolocation …
• Programming Languages C++, Objective C, Java, JavaScript …
DiversityDesign & Functionality
Bruno Fonzi Lanica, Inc.
Fragmentation
Bruno Fonzi Lanica, Inc.
Android Fragmentation
Bruno Fonzi
*via PhoneArena
Apple Screen Fragmentation
Lanica, Inc.
iOS Fragmentation
Bruno Fonzi
• Mobile Market Places Apple, Android, Amazon, Nook, GetJar… (100s!)
• Social Networks & Web Aggregators Facebook, Twitter, Google+, GREE … Mochi Media, Kongregate …
• Video Game Distributors Steam, XBox Live, GREE …
• Desktop Software Platforms Umbutu, Mac, Windows, Chrome Store …
• Game Publishers EA, Activision, Ubisoft, Zynga, Sony …
Distribution & MonetizationMore Challenges
Bruno Fonzi
Let the people know about your app/service !
• Pre-loads • Recommendation sites • SEO • Press • Ad Networks • Giveaways • Cross promotions • User acquisition
+ More ChallengesAdvertise
Bruno Fonzi
++ More ChallengesDevelopment & Design Strategies
Choose a Technical Architecture Strategy
Bruno Fonzi
#1 Multiple Code & Designs
DesktopDesktopDesktop Web MobileDesktop Web Mobile Device
Bruno Fonzi
#2 Single Code & Multiple Designs
Desktop Web Mobile
Core Code
Web Connectivity Core Logic
Error Messages Interaction Logic
Desktop Web Mobile Device
FrameworkPlatform Code System Capabilities
Bruno Fonzi
#3 Single Code Base & Design
• Screen Dimensions • Platform Logic • System Capabilities • Cloud Services • ...
Desktop Web Mobile
Core Code
Web Connectivity Core Logic
Error Messages Interaction Logic
Desktop Web Mobile Device
FrameworkPlatform Code System Capabilities
Bruno Fonzi
• Native Objective C, Java, C/C++, C# … • Web Flash, HTML5 (JQuery, ImpactJS, Angular…) • Hybrid Titanium (Appcellerator), Platino (Lanica)… • Interpreted Adobe Air, PhoneGap… • Generated GWT, Haxe, CoronaSDK, Unity3D …
Technical Solutions+++ More Challenges
Bruno Fonzi
• HTML5 Canvas • Sencha Touch • ImpactJS • JQuery Mobile • LimeJS • Angular • Polymer • …
Technology Web AppsFrameworks Help
Bruno Fonzi
• WebGL • Goo Engine • Ludei • Three.js • Cocos2D-JS • Isogenic • …
Technology Web AppsFrameworks Help
Bruno Fonzi
HTML or FLASH*
* Except on iOS Safari otherwise plug-in required!
Technology Web Apps
Bruno Fonzi
Toshiba libretto conceptTechnology Web Apps
Bruno Fonzi
Games?Technology Web Apps
FLASH HTML5
Bruno Fonzi
HTML or FLASH*Technology Web Apps
Development Easy
Effort Known technology
Monetization Not ideal user experience
Experience Sexy UI possible, but platform specific
Hardware Very Limited
Offline Generally Possible
Bruno Fonzi
JavaScript or ActionScriptTechnology Hybrid Apps
Sencha
Bruno Fonzi
Adobe AirTechnology Hybrid Apps
Bruno Fonzi
“Flash is a cross platform development tool. It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps. “ – Steve Jobs !http://www.apple.com/hotnews/thoughts-on-flash/
Thoughts About Flash
Bruno Fonzi
Can sing!
“Powerflasher San Francisco Band”
Flash Developers
Bruno Fonzi
Hybrid Apps Phone Gap
Bruno Fonzi
JavaScript or ActionScript*Hybrid Apps
Development Easy
Effort Known technology
Monetization App Store
Experience Sexy UI possible, but platform specific
Hardware Partially accessible
Offline Possible
Bruno Fonzi
Interpreted AppsJavaScript
Apache 2 LicenseJS programmatically
native controlsiPhone, iPad, Android
BlackBerry (soon)
Bruno Fonzi
Interpreted AppsAppcelerator Titanium
Bruno Fonzi
Interpreted AppsLanica
Physics Multi Channel
Parallax Scrolling Random Terrain GPU Particles
Bruno Fonzi
Java & Action ScriptInterpreted Apps
Development API Learning curve Effort Up and coming Monetization App Store
Development API Learning curve required
Effort Up and coming
Monetization App Store & IAP
Experience Close to native
Hardware Partially accessible
Offline Yes
Bruno Fonzi
• Unity3D Mono C#, JS, Boo to Native • Apportable ObjectiveC to Native • Xamarin MonoTouch C# to Native • Google Web Toolkit (GWT) Java to JS • Corona SDK Lua to iOS, Android • Haxe from Haxe to Native • …
Generated Apps Cross-Compilers
Bruno Fonzi
Development Experienced Developer
Effort Easy for aimed cases, easy to extend
Monetization App Store & IAP
Experience Native
Hardware Native
Offline Yes
Generated Apps Cross-Compilers
Bruno Fonzi
Adobe Photoshop CompanionNative Examples
Bruno Fonzi
“You can write amazing web apps that look exactly and behave exactly like apps on the iPhone. “ – Steve Jobs at WWDC 2007
Thoughts AboutThoughts About HTML52007
Bruno Fonzi
• Apple (even Google) mix messages • W3 Standard Different Agendas? • Device Manufactures Pushing boundaries.
What Happened HTML5?2013
Bruno Fonzi
• Microsoft: Complaining about The limits of Google’s openness.
• JavaScript: Becoming the facto scripting language?
• Gaming: Is HTML5 the future of (mobile) gaming?
What Happened HTML5?Interesting trends
Bruno Fonzi
Cross PlatformUp for the challenge?
Bruno Fonzi
Bret Victor The Future of Programming
http://www.youtube.com/watch?v=8pTEmbeENF4
Extra Popcorn TimeRecommended presentations to watch!