SlideShare a Scribd company logo
1 of 33
98 Cups of Tea
Secrets of a successful AIR application
Andrew Muller
Allow myself to introduce myself
   Andrew Muller
     Flash Platform consultant
     Developer & trainer
       Flex, AIR, ActionScript, Flash & ColdFusion
     Adobe Ambassador
     Adobe Community Expert
A good AIR app...
A good AIR app...
Had the functionality of a web app, but now works
like a desktop app
A good AIR app...
Had the functionality of a web app, but now works
like a desktop app
Doesn’t have to be 100% authored in Flex
A good AIR app...
Had the functionality of a web app, but now works
like a desktop app
Doesn’t have to be 100% authored in Flex
Should take advantage of the AIR feature set
A good AIR app...
Had the functionality of a web app, but now works
like a desktop app
Doesn’t have to be 100% authored in Flex
Should take advantage of the AIR feature set
Uses AIR as the platform, independent of the OS
A good AIR app...
Had the functionality of a web app, but now works
like a desktop app
Doesn’t have to be 100% authored in Flex
Should take advantage of the AIR feature set
Uses AIR as the platform, independent of the OS
Isn’t necessarily a widget or super-widget
Starting that AIR app...
Starting that AIR app...
  It’s an oldie but a goodie
Starting that AIR app...
  It’s an oldie but a goodie
    “If you fail to plan...”
Starting that AIR app...
  It’s an oldie but a goodie
    “If you fail to plan...”
  There’s no AIR disaster story here
Starting that AIR app...
  It’s an oldie but a goodie
    “If you fail to plan...”
  There’s no AIR disaster story here
    But there are things you should consider that
    should mean that you have a success story
Have a check list
 A lot of AIR apps are commissioned to use one or
 two features of AIR, but actually will benefit from
 virtually all of the feature set
   Typically the original spec for an AIR app
   doesn’t include self updating
   Network connectivity ( online / offline ) is under
   utilised
AIR & the UI
 The problem with Flex apps is that they look like
 Flex apps
 If you don’t have a designer there are great skins
 and styles publicly available
 Skin with Flex Builder’s CSS Explorer
 Start using Flash Catalyst as soon as you can
AIR & the UI
 The web metaphors work, but application
 functionality is more appropriate
 Remember you can have:
   OS specific stuff like bouncing icons and things
   happening in the system tray
   Various menus are possible but no good if the
   app is going to go chromeless
   Panels / options
AIR & the UI




license agreement

                    about screen
Good communication
Good application architecture means good
communication between all the parts of your
application
Consider the benefits of a framework like Mate or
Cairngorm
Mix and Mash
Blending HTML and Flash content
  Use HTML content for regularly updated content
  Use Ajax widgets instead of reinventing code
  Handle offline / online application connections
Blending Flex and Flash content
  The Flex Component Kit for Flash CS3+ means
  that you can utilise existing Flash within Flex
Find a bit of class
 Don’t reinvent the wheel, there’s good public
 libraries of AS3 code for AIR ( for free! )
   Google Code has numerous AS3 libraries
   specific to AIR:
     as3preferenceslib
     as3notificationlib
   AirLogger
Take the SQL challenge
“AIR, you make me a better SQL developer”
  You may need to sharpen your SQL skills
  depending on the amount of data manipulation
  required, e.g.
    Top 5
    Latest 10
    Highest ranked, averaged
  Plan the DB thoroughly, release it with all the
SQL challenges
 Some pointers:
   No full text searching
   Parameters, either named or unnamed ( ? )
   ?’%’ bad
   ? || ‘%’ good
   itemClass allows you to type returned data
   Use AS aliases when querying multiple tables
Making a SQL connection
AIR & SQLite means connect, create & execute
  Start splitting into views and you might need to
  start sharing that around...
Going further:
  DataAccess utility class - Brandon Ellis
  SQLServiceInvoker - mate extension
Filtering SQL results
 Should you hit the database every time?
   SQLite results are normally returned as
   ArrayCollections
   Additional ArrayCollection options:
     Filter
     Sort
Ooo, aah updating!
  Application updating is one of those moments
  where the client realises that they’ve made the
  right choice
  Display options
    Before
    After
    Release notes
Async & swim
Recent client challenges have been building AIR
apps that have downloading functionality as part
of their core functionality, this requires:
  Handling multiple asynchronous remote service
  calls
  Handling multiple simultaneous requests for
  downloading files
Online / offline strategy
 Have your framework do the work
 Have clever content display/collapse if offline
 Store images locally if online
 Let the user know that things are up to date
Online / offline strategy
 Force storage of local data, either DB or SO
 Have a strategy for synchronising data
 Have a strategy for connecting to services
 Hack the status bar if you’re using the chrome
Online / offline strategy
Odds and sods
Performance tuning:
  Reduce the framerate while minimised
  Grant Skinner’s FramerateThrottler class
Application style hidden bits and pieces
  Private & public keys
  Encrypted SQLite databases
  EncryptedLocalStore
Application life cycle
 Spec/design stage
   Should include SQLite database design
   Identify and create service calls
   Wireframes, use tools like Balsamiq Mockups
 Development stage
   Anticipate changes to local databases
   Update code should be implemented in early
Application life cycle
 Test stage
   Have a test plan
   Ensure that all the objectives are being met
   Test on multiple OSs
 Deployment stage
   Make sure that you have updating implemented
   before you release
Thank you
Andrew Muller
rebel@rebelspirit.com.au

More Related Content

Recently uploaded

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Featured

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

98 Cups of Tea - How to build a successful AIR application

  • 1. 98 Cups of Tea Secrets of a successful AIR application Andrew Muller
  • 2. Allow myself to introduce myself Andrew Muller Flash Platform consultant Developer & trainer Flex, AIR, ActionScript, Flash & ColdFusion Adobe Ambassador Adobe Community Expert
  • 3. A good AIR app...
  • 4. A good AIR app... Had the functionality of a web app, but now works like a desktop app
  • 5. A good AIR app... Had the functionality of a web app, but now works like a desktop app Doesn’t have to be 100% authored in Flex
  • 6. A good AIR app... Had the functionality of a web app, but now works like a desktop app Doesn’t have to be 100% authored in Flex Should take advantage of the AIR feature set
  • 7. A good AIR app... Had the functionality of a web app, but now works like a desktop app Doesn’t have to be 100% authored in Flex Should take advantage of the AIR feature set Uses AIR as the platform, independent of the OS
  • 8. A good AIR app... Had the functionality of a web app, but now works like a desktop app Doesn’t have to be 100% authored in Flex Should take advantage of the AIR feature set Uses AIR as the platform, independent of the OS Isn’t necessarily a widget or super-widget
  • 10. Starting that AIR app... It’s an oldie but a goodie
  • 11. Starting that AIR app... It’s an oldie but a goodie “If you fail to plan...”
  • 12. Starting that AIR app... It’s an oldie but a goodie “If you fail to plan...” There’s no AIR disaster story here
  • 13. Starting that AIR app... It’s an oldie but a goodie “If you fail to plan...” There’s no AIR disaster story here But there are things you should consider that should mean that you have a success story
  • 14. Have a check list A lot of AIR apps are commissioned to use one or two features of AIR, but actually will benefit from virtually all of the feature set Typically the original spec for an AIR app doesn’t include self updating Network connectivity ( online / offline ) is under utilised
  • 15. AIR & the UI The problem with Flex apps is that they look like Flex apps If you don’t have a designer there are great skins and styles publicly available Skin with Flex Builder’s CSS Explorer Start using Flash Catalyst as soon as you can
  • 16. AIR & the UI The web metaphors work, but application functionality is more appropriate Remember you can have: OS specific stuff like bouncing icons and things happening in the system tray Various menus are possible but no good if the app is going to go chromeless Panels / options
  • 17. AIR & the UI license agreement about screen
  • 18. Good communication Good application architecture means good communication between all the parts of your application Consider the benefits of a framework like Mate or Cairngorm
  • 19. Mix and Mash Blending HTML and Flash content Use HTML content for regularly updated content Use Ajax widgets instead of reinventing code Handle offline / online application connections Blending Flex and Flash content The Flex Component Kit for Flash CS3+ means that you can utilise existing Flash within Flex
  • 20. Find a bit of class Don’t reinvent the wheel, there’s good public libraries of AS3 code for AIR ( for free! ) Google Code has numerous AS3 libraries specific to AIR: as3preferenceslib as3notificationlib AirLogger
  • 21. Take the SQL challenge “AIR, you make me a better SQL developer” You may need to sharpen your SQL skills depending on the amount of data manipulation required, e.g. Top 5 Latest 10 Highest ranked, averaged Plan the DB thoroughly, release it with all the
  • 22. SQL challenges Some pointers: No full text searching Parameters, either named or unnamed ( ? ) ?’%’ bad ? || ‘%’ good itemClass allows you to type returned data Use AS aliases when querying multiple tables
  • 23. Making a SQL connection AIR & SQLite means connect, create & execute Start splitting into views and you might need to start sharing that around... Going further: DataAccess utility class - Brandon Ellis SQLServiceInvoker - mate extension
  • 24. Filtering SQL results Should you hit the database every time? SQLite results are normally returned as ArrayCollections Additional ArrayCollection options: Filter Sort
  • 25. Ooo, aah updating! Application updating is one of those moments where the client realises that they’ve made the right choice Display options Before After Release notes
  • 26. Async & swim Recent client challenges have been building AIR apps that have downloading functionality as part of their core functionality, this requires: Handling multiple asynchronous remote service calls Handling multiple simultaneous requests for downloading files
  • 27. Online / offline strategy Have your framework do the work Have clever content display/collapse if offline Store images locally if online Let the user know that things are up to date
  • 28. Online / offline strategy Force storage of local data, either DB or SO Have a strategy for synchronising data Have a strategy for connecting to services Hack the status bar if you’re using the chrome
  • 29. Online / offline strategy
  • 30. Odds and sods Performance tuning: Reduce the framerate while minimised Grant Skinner’s FramerateThrottler class Application style hidden bits and pieces Private & public keys Encrypted SQLite databases EncryptedLocalStore
  • 31. Application life cycle Spec/design stage Should include SQLite database design Identify and create service calls Wireframes, use tools like Balsamiq Mockups Development stage Anticipate changes to local databases Update code should be implemented in early
  • 32. Application life cycle Test stage Have a test plan Ensure that all the objectives are being met Test on multiple OSs Deployment stage Make sure that you have updating implemented before you release

Editor's Notes