Your SlideShare is downloading. ×
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

The Anatomy of a Seriously Sophisticated AIR Application

1,828

Published on

The Anatomy of a Seriously Sophisticated AIR Application, as presented by Rick Williams and Adam Creeger at Adobe MAX Milan 2008

The Anatomy of a Seriously Sophisticated AIR Application, as presented by Rick Williams and Adam Creeger at Adobe MAX Milan 2008

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,828
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Transcript

    • 1. THE ANATOMY OF A SERIOUSLY SOPHISTICATED AIR APPLICATION
    • 2. BEFORE WE GET DOWN TO BUSINESS…
    • 3. WHAT WAS OUR BRIEF FROM FIAT? BUILD A PRODUCT THAT HELPS IMPROVE YOUR DRIVING USING TELEMATIC DATA COLLECTED FROM THE CAR
    • 4. WHY IS ECO:DRIVE “SOPHISTICATED”? THE CHALLENGES CONNECTING YOUR CAR TO YOUR COMPUTER IS A NEW CONCEPT TO MOST DRIVING DATA CAN BE CONFUSING LARGE AMOUNTS OF DATA, ONCE PER SECOND OF EVERY JOURNEY
    • 5. WHY IS ECO:DRIVE “SOPHISTICATED”? THE CHALLENGES CONNECTING YOUR CAR TO YOUR COMPUTER IS A NEW CONCEPT TO MOST DRIVING DATA CAN BE CONFUSING LARGE AMOUNTS OF DATA, ONCE PER SECOND OF EVERY JOURNEY YET THE SOLUTION HAD TO BE INTUITIVE EASY TO USE RESPONSIVE
    • 6. A LITTLE BIT MORE DETAIL… BUILT USING ADOBE AIR 1.1 AND FLEX
    • 7. A LITTLE BIT MORE DETAIL… BUILT IN 4 MONTHS BY A DEVELOPMENT TEAM OF 5 BUILT USING ADOBE AIR 1.1 AND FLEX
    • 8. A LITTLE BIT MORE DETAIL… BUILT IN 4 MONTHS BY A DEVELOPMENT TEAM OF 5 CREATED USING FLEXBUILDER 3 PROFESSIONAL EDITION BUILT USING ADOBE AIR 1.1 AND FLEX
    • 9. A LITTLE BIT MORE DETAIL… BUILT IN 4 MONTHS BY A DEVELOPMENT TEAM OF 5 CREATED USING FLEXBUILDER 3 PROFESSIONAL EDITION LAUNCHED IN 3 LANGUAGES, SOON TO BE 5 BUILT USING ADOBE AIR 1.1 AND FLEX
    • 10. WHY ADOBE AIR? CROSS PLATFORM
    • 11. WHY ADOBE AIR? SMOOTH INSTALL OF THE FRAMEWORK AND APPLICATION CROSS PLATFORM
    • 12. WHY ADOBE AIR? SMOOTH INSTALL OF THE FRAMEWORK AND APPLICATION EASY AUTO-UPDATE FUNCTIONALITY CROSS PLATFORM
    • 13. WHY ADOBE AIR? SMOOTH INSTALL OF THE FRAMEWORK AND APPLICATION EASY AUTO-UPDATE FUNCTIONALITY INTERGRATED SQLITE DB CROSS PLATFORM
    • 14. WHAT DOES ECO:DRIVE LOOK LIKE INSIDE?
    • 15. THE MANDATORY BLOCK DIAGRAM
    • 16. THE MANDATORY BLOCK DIAGRAM USB KEY
    • 17. THE MANDATORY BLOCK DIAGRAM USB KEY ECO:INDEX WEB SERVICE HTTP COMMUNITY WEB SERVICE HTTP FUEL PRICE WEB SERVICE HTTP
    • 18. DELVING DEEPER IMPORTING DATA GRAPHING THE DATA CONTEXTUALISING THE DATA
    • 19. IMPORTING DATA: PARSING LIMITED SPACE AVAILABLE IN BLUE & ME COMPUTER MORE COMPUTING POWER AVAILABLE ON THE DESKTOP THAN IN THE CAR EASE OF PARSING WAS NOT THE FIRST PRIORITY NO BITARRAY IN ACTIONSCRIPT 3 DATA IS STORED IN A TIGHTLY PACKED BIT ARRAY
    • 20. IMPORTING DATA: WRITING DATA TO THE DATABASE THERE WERE TWO MAJOR REQUIREMENTS IMPORT HAD TO BE HIGHLY PERFORMANT USER INTERFACE HAD TO REMAIN SMOOTH AND RESPONSIVE
    • 21. IMPORTING DATA: WRITING DATA TO THE DATABASE THERE WERE TWO MAJOR REQUIREMENTS IMPORT HAD TO BE HIGHLY PERFORMANT USER INTERFACE HAD TO REMAIN SMOOTH AND RESPONSIVE THERE WERE TWO PROBLEMS USING A TIMER WAS NOT FAST ENOUGH USING “FOR” LOOPS MEANT AN UNRESPONSIVE APPLICATION
    • 22. IMPORTING DATA: WRITING DATA TO THE DATABASE THERE WERE TWO MAJOR REQUIREMENTS IMPORT HAD TO BE HIGHLY PERFORMANT USER INTERFACE HAD TO REMAIN SMOOTH AND RESPONSIVE THERE WERE TWO PROBLEMS USING A TIMER WAS NOT FAST ENOUGH USING “FOR” LOOPS MEANT AN UNRESPONSIVE APPLICATION THE SOLUTION? THE “ASYNC CHUNKER MONKEY”
    • 23. IMPORTING DATA: THE ASYNC CHUNKER WHAT? USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY
    • 24. IMPORTING DATA: THE ASYNC CHUNKER WHAT? USING A TIMER USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY
    • 25. IMPORTING DATA: THE ASYNC CHUNKER WHAT? USING THE ASYNC CHUNKER MONKEY USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY
    • 26. IMPORTING DATA: THE ASYNC CHUNKER WHAT? MAX TIME FOR EXECUITION IS SET BY DEVELOPER USING THE ASYNC CHUNKER MONKEY USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY
    • 27. IMPORTING DATA: THE ASYNC CHUNKER WHAT? MAX TIME FOR EXECUITION IS SET BY DEVELOPER USING THE ASYNC CHUNKER MONKEY USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY
    • 28. THE PEOPLE BEHIND THE PRODUCT…
    • 29. HERE’S HOW YOU MIGHT THINK IT WORKED
    • 30. HERE’S HOW YOU MIGHT THINK IT WORKED
    • 31. HERE’S HOW YOU MIGHT THINK IT WORKED
    • 32. HERE’S HOW YOU MIGHT THINK IT WORKED
    • 33. HERE’S HOW YOU MIGHT THINK IT WORKED
    • 34. HERE’S HOW YOU MIGHT THINK IT WORKED
    • 35. HERE’S HOW YOU MIGHT THINK IT WORKED
    • 36. HERE’S HOW YOU MIGHT THINK IT WORKED
    • 37. HOW DID IT ALL WORK OUT? HERE’S HOW YOU MIGHT THINK IT WORKED
    • 38. HERE’S HOW WE ENDED UP SEEING IT…
    • 39. THE MOST TRICKY PART…
    • 40. KEEPING QUALITY HIGH
    • 41. KEEPING QUALITY HIGH PROOF OF CONCEPTS CONTINUOUS INTEGRATION USING CRUISECONTROL.NET PEER REVIEW ON EVERY CHECK-IN UNIT TESTS USING FLEXUNIT AND FLEXCOVER
    • 42. TOP TIPS AND LESSONS LEARNED
    • 43. TOP TIPS AND LESSONS LEARNED FILE.GETROOTDIRECTORIES ISN’T AS GREAT AS YOU MIGHT THINK NEVER WRITE DATA TO THE APPLICATION DIRECTORY MULTI-LINGUAL? ALWAYS GET THE USER TO CHOOSE THEIR OWN LANGUAGE USE THE VIEWSTACK CLASS CAREFULLY KEEP YOUR DATABASE ACCESS STRATEGY CONSISTENT
    • 44. CLOSING WORDS
    • 45. CLOSING WORDS… DO PROOF OF CONCEPTS FOR ANY RISKY AND ESSENTIAL FUNCTIONALITY UNIT TEST YOUR CODE. IT HELPS PREVENT BUGS AND IMPROVES THE APPLICATION ARCHITECTURE. THINK ABOUT PERFORMANCE – ESPECIALLY IF YOU ARE PROCESSING LARGE AMOUNTS OF DATA ADOBE AIR IS A GREAT PLATFORM FOR INNOVATIVE DESKTOP APPLICATIONS.
    • 46. LINKS AND Q&A http://www.fiat.co.uk/ecoDrive - eco:Drive home page http://code.google.com/p/as3localelib/ - Locale Library http://thanksmister.com/?p=92 – Detecting Local Drives with Adobe AIR http://is.gd/7RcW - Article about Usability, Interactivity in Agile Processes Rick’s blog: http://www.pixelpod.co.uk Adam’s blog: http://blog.adamcreeger.com

    ×