This document provides an overview and lessons learned from real world projects using Adobe AIR and the Starling framework for mobile development. It discusses how AIR allows for faster development across iOS and Android using existing AS3 skills. The state of the AIR ecosystem in 2013 is examined, highlighting mature libraries like Starling, Feathers and Away3D. Tips are provided around tool selection, common issues like touch handling and textures, and best practices for composition, layout and deployment. Real examples demonstrate list rendering and scrolling techniques. Resources for continuing education with Starling are also listed.
How Introvert Studios uses Adobe AIR to develop games for iOS and Android.
Focusing around there latest title, Lambi, we explore some of the tips/techniques around it's development.
In this presentation, Joseph Labrecque shows you how to use the Feathers and Starling user interface frameworks along with Stage3D to build out mobile applications with Adobe AIR.
We'll cover the history of Stage3D and Starling, see how to get both Starling and Feathers libraries integrated within a Flash Builder project, configure the Starling stage, and instantiate Feathers components within Starling classes to provide functional user interface elements within both games and apps.
Mobile AIR has Stage3D capabilities and a set of solid frameworks to use it easily - no excuses!
Creative Coders March 2013 - Introducing Starling FrameworkHuijie Wu
Introducing Starling Framework presentation by Wu Huijie
18 March 2013
- Introduction to Starling Framework and Stage3D technology by Adobe.
- Tips on getting started with Starling Framework.
- Find out more about Adobe Gaming, and tools that can help you build games for various platforms, including iOS, Android and Blackberry.
More info about Starling Framework:
http://www.gamua.com/starling
More info about Stage3D:
http://www.adobe.com/devnet/flashplayer/stage3d.html
A presentation on the Unreal Engine, a game engine used for developing games for various platforms like PC, PS4, Xbox1, etc.
For more visit: http://paradoxland.com and http://funfactsabout.net
This is a short presentation Jon gave for the first Ottawa Unity User Group meetup. We share some of the tips and tricks we've discovered at Karman while working with Unity over the past few years.
How Introvert Studios uses Adobe AIR to develop games for iOS and Android.
Focusing around there latest title, Lambi, we explore some of the tips/techniques around it's development.
In this presentation, Joseph Labrecque shows you how to use the Feathers and Starling user interface frameworks along with Stage3D to build out mobile applications with Adobe AIR.
We'll cover the history of Stage3D and Starling, see how to get both Starling and Feathers libraries integrated within a Flash Builder project, configure the Starling stage, and instantiate Feathers components within Starling classes to provide functional user interface elements within both games and apps.
Mobile AIR has Stage3D capabilities and a set of solid frameworks to use it easily - no excuses!
Creative Coders March 2013 - Introducing Starling FrameworkHuijie Wu
Introducing Starling Framework presentation by Wu Huijie
18 March 2013
- Introduction to Starling Framework and Stage3D technology by Adobe.
- Tips on getting started with Starling Framework.
- Find out more about Adobe Gaming, and tools that can help you build games for various platforms, including iOS, Android and Blackberry.
More info about Starling Framework:
http://www.gamua.com/starling
More info about Stage3D:
http://www.adobe.com/devnet/flashplayer/stage3d.html
A presentation on the Unreal Engine, a game engine used for developing games for various platforms like PC, PS4, Xbox1, etc.
For more visit: http://paradoxland.com and http://funfactsabout.net
This is a short presentation Jon gave for the first Ottawa Unity User Group meetup. We share some of the tips and tricks we've discovered at Karman while working with Unity over the past few years.
Unleash 3D games with Babylon.js - JSConf 2014 talkDavid Catuhe
Babylon.js is an open-source project built with simplicity in mind in order to help web developers creating 3D games. During this session, you will discover how simple it can be to play with 3D without having to deal with WebGL plumbing!
Creating a browser ready fps mmo in unity ppt-mew_finalAmilton Diesel
Creating a browser-ready first-person shooter MMO in Unity presents massive gaming opportunity but also a set of unique client-server challenges. Join the developers from Aquiris Game Experience and Electrotank as they discuss the hands-on lessons they learned in creating an upcoming free-to-play FPS MMO for PC/Mac and the browser.
Presenting some of the technical feats that we've been able to achieve while making RoboBlastPlanet and an inside look at the setup we have for creating a game that can run at 60 FPS on mobile platforms as well as on a large number of browsers.
Today many companies are moving their server applications to the cloud. This includes both internally managed ones that are based on virtualization technologies like VMware, Xen, as well as those hosted by third-party providers such as Amazon EC2 and Linode. The process of creating the virtual machine appliances that run in these clouds, however, remain difficult and error-prone.
In this presentation, James will show how quick and easy it is to create, test, and deploy such appliances using SUSE Studio, a free web service. In addition to virtual images, Studio can also create physical media such as live bootable ISOs and USB keys for both server and desktop use. He will also demostrate how you can integrate Studio into your build/release cycle using Studio's API or the command line client.
Every video game runs on what’s called an ‘engine,’ which determines what the game can and cannot do.
In other words, the game engine is a set of tools for game development.
The tools available to the creator shape what kinds of creative work they’re going to end up making.
Cross-platform mobile development with Mono (MonoTouch & Mono-for-Android). Presentation from 7th May 2011 at Mobile Camp Oz (Bathurst, NSW, Australia)
Unleash 3D games with Babylon.js - JSConf 2014 talkDavid Catuhe
Babylon.js is an open-source project built with simplicity in mind in order to help web developers creating 3D games. During this session, you will discover how simple it can be to play with 3D without having to deal with WebGL plumbing!
Creating a browser ready fps mmo in unity ppt-mew_finalAmilton Diesel
Creating a browser-ready first-person shooter MMO in Unity presents massive gaming opportunity but also a set of unique client-server challenges. Join the developers from Aquiris Game Experience and Electrotank as they discuss the hands-on lessons they learned in creating an upcoming free-to-play FPS MMO for PC/Mac and the browser.
Presenting some of the technical feats that we've been able to achieve while making RoboBlastPlanet and an inside look at the setup we have for creating a game that can run at 60 FPS on mobile platforms as well as on a large number of browsers.
Today many companies are moving their server applications to the cloud. This includes both internally managed ones that are based on virtualization technologies like VMware, Xen, as well as those hosted by third-party providers such as Amazon EC2 and Linode. The process of creating the virtual machine appliances that run in these clouds, however, remain difficult and error-prone.
In this presentation, James will show how quick and easy it is to create, test, and deploy such appliances using SUSE Studio, a free web service. In addition to virtual images, Studio can also create physical media such as live bootable ISOs and USB keys for both server and desktop use. He will also demostrate how you can integrate Studio into your build/release cycle using Studio's API or the command line client.
Every video game runs on what’s called an ‘engine,’ which determines what the game can and cannot do.
In other words, the game engine is a set of tools for game development.
The tools available to the creator shape what kinds of creative work they’re going to end up making.
Cross-platform mobile development with Mono (MonoTouch & Mono-for-Android). Presentation from 7th May 2011 at Mobile Camp Oz (Bathurst, NSW, Australia)
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Elevating Tactical DDD Patterns Through Object Calisthenics
Going Mobile with AIR+Starling
1. Going Mobile with
AIR + Starling
Lessons from Real World projects
Presented by Amos Laber
2. About Me
Amos Laber
Game Developer, Coder, Architect
Background in C++, Console games, 3D
Engines.
Later: Flex, AS3, Casual and 2D Games.
Blog:
www.flexwiz.net
3. Content and Scope
The state of AIR as a mobile ecosystem (2013)
Practical use of Starling, Feathers and ANE
Tips, Common Problems and Practices
5. AIR vs. Native
Trivial: Need iOS and Anrdoid at the same time
AIR = Shorter timelines (Rapid development)
Leverage existing knowledge and code - Faster to
implement
Personal preference: AS3 over Java or Obj-C
Captive Runtime: App is same as native
6. The AIR Ecosystem
AIR 3.5 (FP 11.5) made a big shift from enterprise
into mobile (without Flex).
A new generation of AS3 frameworks has reached
maturity
Adobe Gaming SDK: Starling, Feathers,
Away3D
Also Flare3D, Citrus, Nape, DragonBones
New Tools: ASC2, Scout, FlashBuilder 4.7
7. Production Goals
Get stuff done fast.
But no cutting corners!
Spend time on the game (creative),
not on boilerplate code.
UI Elements tend to be the #1 time consuming
- try to minimize and simplify them.
11. Game Framework
Do we need one?
Game Framework (or Engine) will provide
features and classes that are commonly used in
games / apps.
It takes time to learn how to efficiently use one
and it creates another dependency
I decided to roll my own.
13. Migrating to Starling
Starling vs. 'classic' Flash
Rendering: CPU
flash.display.*
Vector fonts
|Flash|
|||
Rendering: GPU (H. Accel OpenGL)
starling.display.*
|Starling (Stage3D)| fonts
Bitmap
Vector Shapes
N/A (* Quad only)
Bitmap / BitmapData
Image / Texture
Sprite and DisplayObject
Same
flash.events
starling.events (faster)
14. Starling Basics
Compose the display list the same way as in flash.
Layering Sprites, images and
buttons
Compose your views/ screens
Alpha blending and hierarchy
works the same way as in Flash.
15. Starling App Setup
Load all assets (mostly bitmaps) on initialize.
Nearly all display objects are images
Best is to pack them up into sprite sheets
Determine screen size with stage_resize event. Use
it across the app for layouts.
17. UI Setup - Feathers
Decide when to use custom UI, case by case
Prepare a bitmap font and skin elements
(Bitmap font text field is provided)
Works best with a theme
18. Integrating ANEs
Drop into project and update the manifest /permissions
Watch out for default mode - should not throw errors.
Well documented and supported ANE are a better choice.
Don't waste time on building them - too many dependencies (iOS
and Android ver, SDK compatibility)
Testing is only done on the device. They're native.
Recommended: MilkMan and FreshPlanet
19.
20. Example:
List and Item Renderer
import feathers.controls.List;
var list:List = new List();
list.itemRendererType= PetItemRenderer;
list.dataProvider = petList;
list.layout = new TiledColumnsLayout();
list.scrollerProperties.scrollBarDisplayMode = SCROLL_BAR_DISPLAY_MODE_FIXED;
21. Example:
The Item Renderer
class ItemVO {
name:String; image:Texture; locked:Boolean;
}
protected override function draw():void
{
var dataInvalid:Boolean = this.isInvalid(INVALIDATION_FLAG_DATA);
if (dataInvalid) {
|updateImage(data.image);|
|label.text = data.name;|
|label.visible = !data.locked;|
|image.blendMode = data.locked? BlendMode.ERASE :|
22. Composing Tips
Alpha and PNG w/Alpha works best - don't bake it
Use Tile Patterns with TiledImage.
Stretch elements with Slice9Image /Slice3Image.
Use scrollRect for simple masking and smooth
scrolling
25. Touch
AIR SDK own touch handling is not very useful
3rd party libraries can fill in the gap
Gestouch is my recommended library:
Multitouch gestures for Starling or classic flash
http://github.com/fljot/Gestouch
26. Textures
Things to know
GPU memory on devices is limited.
iPhone 3GS has 24 MB
Standalone textures are rounded up to power of 2 size (e.g.
1024x1024 pixels).
Once created, the texture is uploaded to GPU.
When maxed out, the OS will close the app without
warning, exception or stack trace.
27. Textures
Best Preactices
Create the textures on demand - not when the Assets are
loaded.
Make sure to release with texture.dispose() when
removed from stage.
Pack everything to sprite sheets! We use TexturePacker
Have a central asset manager to hold textures
28. Textures
Sample Code
private var _textures:Dictionary;
..
public function getTexture(name:String):Texture
{
|if (_textures[name] == undefined)
{|
|
var data:Object = _loadedAssets[name];|
|
if (data is Bitmap)|
|_textures[name] = |
Texture.fromBitmap(data as Bitmap, false, false);
|}|
return _textures[name];
}
public function disposeTexture(name:String):void
{
if (_textures[name]) {
Texture(_textures[name]).dispose();
|textures[name] = |
null
|;|
29. Screen Size and Layout
Avoid hardcoded pixel sizes. Use relative align or
percentage
iPad Retina support No need to duplicate the assets (x1, x2, x4...)
Selective scale
Test layout in different screen sizes on simulator
32. Promote you App
For Zero Cost
Create a Facebook fan page.
Create a Twitter account and tweet frequently.
Make a YouTube video with actual gameplay footage.
Prepare a press kit with screenshots and marketting blurb
and send it for review to selected web sites.
34. Takedown
Is Starling Right for you?
AIR proved a viable solution for mobile
Starling is now a Solid and Mature framework
Developers can get stuff done faster