John Oliva provides a summary of topics and announcements from tiConf US held in Baltimore in June 2013. Some of the topics include: Titanium product direction, Ti.Next, URL Schemes, Alloy, better Javascript, Plantino for Titanium mobile gaming, Internet of Things.
Unraveling Multimodality with Large Language Models.pdf
NYC Titanium User's Group - tiConf US Revisited
1. NYC Titanium User’s Group
NYC Titanium User’s Group
July 23rd, 2013
1
TOPICS
Organizer announcements
Feature: tiConf Revisited
Lightning talks, announcements, call for assistance,etc.
Wednesday, July 24, 13
2. NYC Titanium User’s Group
Titanium News and Meetup Tidbits
Titanium News
tiConf US was held in Baltimore, MD 6/28-6/29
Appcelerator has raised another $12.1million in capital to
accelerate its push into the enterprise.The total funding
thus far is $63 million.
Lanica is offering the Plantino game engine beta to
widespread testing and has released licensing terms and
pricing.
Meetup Tidbits
Almost certain that our next meetup will be on August
27th, with Ricardo Alcocer providing a talk on
Appcelerator Node.ACS.
AlleyNYC has been raising the rate significantly for the
meeting space. It would be good if we could secure a free
or lower cost space in NYC. Can you help??
2
Since June meetup
Wednesday, July 24, 13
4. NYC Titanium User’s Group
tiConf US Revisited
tiConf US held in Baltimore, MD 6/28-6/29
7 videos from conference currently onVimeo
https://vimeo.com/channels/548740
Topics to cover today:
Keynote by Jeff Haynie
URL Schemes
Alloy
Better Javascript
Titanium Gaming
Internet ofThings
Quick Bites
4
Wednesday, July 24, 13
5. NYC Titanium User’s Group
Haynie Keynote
Jeff Haynie (Appcelerator CEO)
Video: https://vimeo.com/70765123
Slides: http://bit.ly/ticonf_haynie
iOS7 Update
Support for enhanced iOS background processing
Auto Layouts - originally introduced in iOS6
Fullscreen apps
JavascriptCore included - eventually won’t need to bundle
Appcelerator preparation
‣ First priority - make sure current APIs and Apps work
‣ iOS5 support will be deprecated
‣ Update available ASAP after iOS7 public release
5
Wednesday, July 24, 13
6. NYC Titanium User’s Group
Haynie Keynote
3.1.2 SDK update in August
bug fixes + minor features
3.2 SDK update in Fall
iOS7 support
Significant Android animation improvements
Titanium Studio improvements
Expanded CLI capabilities
ACS + Node.ACS
Significant adoption - especially by large companies
‣ approaching 1 billion API calls
‣ autoscaling to about 3500 virtual servers
What’s Next?
‣ synchronization
‣ more enterprise data connectors
6
continued
Wednesday, July 24, 13
7. NYC Titanium User’s Group
Haynie Keynote
Appcelerator Focus Items
Developer productivity
‣ speed of development
‣ application execution performance
‣ looking for ways to simplify getting development environment
setup (e.g. something like Cloud9)
Ti.Next (!)
Next generation architecture
Complete rewrite of core processing engine
Titanium API compatible - mostly
One JS engine (JavascriptCore) and core runtime for all
platforms
Starting with iOS,Android and Win8
First alpha soon (couple months?)
7
continued
Wednesday, July 24, 13
8. NYC Titanium User’s Group
Haynie Keynote
Ti.Next (continued)
Goals:
‣ massive performance gains
• orders of magnitude faster operation
• smaller application footprint
• reduced garbage collection overhead
• simplified threading model and context switching
‣ extensibility
• leverage same JS API to create cross platform modules
• new module format
Blog post onTi.Next: http://bit.ly/ticonf_tinext
8
continued
Wednesday, July 24, 13
9. NYC Titanium User’s Group
URL Schemes
Jason Kneen (BouncingFish)
Video: https://vimeo.com/69841473
Slides: https://t.co/UYBi9xdO6Y
What is a URL Scheme?
The scheme refers to the protocol used to interpret and
process the resource located by the URL. (before the ://)
‣ examples: http, https, ftp, ssh, svn, git
IANA maintains a registry but they aren’t required to be
registered.
Some Uses:
launching or resuming application
detecting whether an application is installed
sending commands/data between applications (in a similar
manner to Android intents)
9
Wednesday, July 24, 13
10. NYC Titanium User’s Group
URL Schemes
Some Uses: (continued)
receiving data or callbacks from other apps
cross-promoting applications
single sign on
SMS based push notifications
accessing specific features of other applications
How to Use them in Titanium
iOS: registered through info.plist
Android: registered in AndroidManifest.xml
Steps:
‣ events and handling code to read URL
‣ code to parse URL
‣ actions, responses and callbacks to parsed URL
‣ get the word out so others can use your custom schemes
10
continued
Wednesday, July 24, 13
11. NYC Titanium User’s Group
URL Schemes
How to Use them in Titanium (continued)
InterApp Schemes for iOS: http://handleopenurl.com
Needs to be handled properly on non-mobile devices
‣ use a redirect script to detect and act accordingly
11
continued
Wednesday, July 24, 13
12. NYC Titanium User’s Group
Alloy
Tony Lukesavage (Appcelerator,Alloy Lead Engr)
Video: https://vimeo.com/69811273
Slides: http://bit.ly/ticonf_alloy
Alloy 1.2 will ship with Titanium 3.1.2 SDK
Currently:
‣ widgets
‣ sync adapters
‣ built-ins
• backbone.js (MVC)
• underscore.js (utility, data structures)
• moment.js (date handling, formatting)
New in Alloy 1.2
‣ dynamic styling
‣ ListView markup
‣ platform optimizations
12
Wednesday, July 24, 13
13. NYC Titanium User’s Group
Alloy
New in Alloy 1.2 (continued)
‣ alloy.jmk (pre/post operation hooks) CoffeeScript support
‣ overrides - override existing internal implementations
‣ controller eventing - loosely coupled Backbone eventing for
inter-controller communications
‣ view-model binding
‣ source maps - enables tight integration for debugging,
exception handling and theTi code processor
Future
‣ dynamic themes
‣ lighter more powerful modeling
‣ native formats
‣ package management ??
13
continued
Wednesday, July 24, 13
14. NYC Titanium User’s Group
Better Javascript
Matt Apperson (Apperson Labs)
Slides: http://t.co/KGFQAaQH4P
Some Tips:
Avoid setTimeout(), it creates another Javascript context
Use ‘const’ to specify constants
Use hasOwnProperty() to check whether a property
exists on an object
Use defineProperty() to add setter/getters
Return ‘this’ or another object to enable function chaining
Minimize code in try/catch blocks to maximize
performance
Debug your Javascript code with Chrome DevTools using
‘ti-inspector’ by Oliver Morandi
‣ https://npmjs.org/package/ti-inspector
14
Wednesday, July 24, 13
15. NYC Titanium User’s Group
Titanium Gaming
Carlos Icaza (Lanica Inc. CEO)
Motivation
66% of mobile revenue is games, 33% of the downloads
PlatinoTM
Game Engine SDK
‣ 2D and 2.5D games using OpenGL ES
‣ Platino IAP: In-app purchasing module
‣ AnimoTM
: developer and designer tools
• Animo Code: multi-view code editting
• Animo Fonts: lightweight embedded fonts
• Animo Levels: level editor
• Animo Particles: particle effects editor
• Animo Sprites: physics and animation with spritesheets
• Animo SWF Importer:Adobe Flash SWF to spritesheet converter
• Animo Tiles: isometric tile map layout and editor
15
Wednesday, July 24, 13
16. NYC Titanium User’s Group
Titanium Gaming
PlatinoTM
Game Engine SDK (continued)
‣ CosmoTM
: cloud services to support scaling, storing
achievements, leaderboards, analytics, real-time multiplayer, in-
game notifications
Lanica worked with Disney to get Disney’s
Gardens of Time ported to Android using Plantino.
16
continued
Wednesday, July 24, 13
17. NYC Titanium User’s Group
Internet of Things
Hans Scharler (ioBridge®
CEO)
Slides: http://bit.ly/ticonf_iot
What is IoT?
IoT refers to a world where devices are connected to
both people and one another in a sort of machine ‘social
network’.
How do mobile apps (e.g.Titanium) factor in?
Mobile apps are the UI/UX for connected products -
many of which don’t have a direct UI
Mobile apps must be great for connected products - they
are the ‘face’ of the product
There is a need to support both iOS and Android at
product launch to address the broad market
17
Wednesday, July 24, 13
18. NYC Titanium User’s Group
Internet of Things
How ioBridge supports IoT:
Cloud services
‣ Realtime.io - scalable SaaS web service for connecting devices
together
Firmware and hardware (iota™
) modules to integrate into
products
Mobile and web application development services
Sensor and actuator distributor
IoT web gateway for connecting sensors and devices
‣ supports Ethernet,Wifi, Zigbee
ioApp mobile application for iOS and Android
ioBridge temperature widget for Android
Titanium integration
Apperson Labs has released ioBridgeTitanium modules
to access Realtime.io
‣ https://github.com/appersonlabs/rtio_titanium_modules
18
continued
Wednesday, July 24, 13
19. NYC Titanium User’s Group
Quick Bites
Using Node.js to connect to mobile devices
Matt Schumulen (StrongLoop)
Video: https://vimeo.com/69841474
StrongLoop provides a supported Node.js distribution
Business of mobile development
Stephen Feather (Feather Direct, LLC)
Slides: http://bit.ly/ticonf_feather
Make sure to utilize services of other professionals for
your business: business lawyer, accountants, etc.
Use escrow.com to send/receive payments securely.
Native module development
Ben Bahrenburg (Titan, prolific module developer)
Slides: http://bit.ly/ticonf_modules
StudyTiUtils before starting any module development - it
has a lot of helper functions.
19
Wednesday, July 24, 13
20. NYC Titanium User’s Group 20
Contact Info
NYC Titanium User’s Group
John Oliva
Organizer for NYCTitanium User’s Group
e-mail: joliva63@gmail.com
cell: (908) 812-3667
twitter: @joliva
linkedin: http://bit.ly/joliva63
website: http://olivalabs.com
Wednesday, July 24, 13