• Save
The Anatomy of a Seriously Sophisticated AIR Application
Upcoming SlideShare
Loading in...5
×
 

The Anatomy of a Seriously Sophisticated AIR Application

on

  • 4,436 views

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

Statistics

Views

Total Views
4,436
Views on SlideShare
4,343
Embed Views
93

Actions

Likes
6
Downloads
0
Comments
0

7 Embeds 93

http://www.pixelpod.co.uk 70
http://www.slideshare.net 6
http://blog.adamcreeger.com 5
http://www.verplichtekost.nl 4
https://www.linkedin.com 4
http://www.linkedin.com 3
http://www.blogger.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

The Anatomy of a Seriously Sophisticated AIR Application The Anatomy of a Seriously Sophisticated AIR Application Presentation Transcript

  • THE ANATOMY OF A SERIOUSLY SOPHISTICATED AIR APPLICATION
  • BEFORE WE GET DOWN TO BUSINESS…
  • WHAT WAS OUR BRIEF FROM FIAT? BUILD A PRODUCT THAT HELPS IMPROVE YOUR DRIVING USING TELEMATIC DATA COLLECTED FROM THE CAR
  • 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
  • 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
  • A LITTLE BIT MORE DETAIL… BUILT USING ADOBE AIR 1.1 AND FLEX
  • A LITTLE BIT MORE DETAIL… BUILT IN 4 MONTHS BY A DEVELOPMENT TEAM OF 5 BUILT USING ADOBE AIR 1.1 AND FLEX
  • 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
  • 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
  • WHY ADOBE AIR? CROSS PLATFORM
  • WHY ADOBE AIR? SMOOTH INSTALL OF THE FRAMEWORK AND APPLICATION CROSS PLATFORM
  • WHY ADOBE AIR? SMOOTH INSTALL OF THE FRAMEWORK AND APPLICATION EASY AUTO-UPDATE FUNCTIONALITY CROSS PLATFORM
  • WHY ADOBE AIR? SMOOTH INSTALL OF THE FRAMEWORK AND APPLICATION EASY AUTO-UPDATE FUNCTIONALITY INTERGRATED SQLITE DB CROSS PLATFORM
  • WHAT DOES ECO:DRIVE LOOK LIKE INSIDE?
  • THE MANDATORY BLOCK DIAGRAM
  • THE MANDATORY BLOCK DIAGRAM USB KEY
  • THE MANDATORY BLOCK DIAGRAM USB KEY ECO:INDEX WEB SERVICE HTTP COMMUNITY WEB SERVICE HTTP FUEL PRICE WEB SERVICE HTTP
  • DELVING DEEPER IMPORTING DATA GRAPHING THE DATA CONTEXTUALISING THE DATA
  • 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
  • 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
  • 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
  • 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”
  • IMPORTING DATA: THE ASYNC CHUNKER WHAT? USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY
  • IMPORTING DATA: THE ASYNC CHUNKER WHAT? USING A TIMER USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY
  • IMPORTING DATA: THE ASYNC CHUNKER WHAT? USING THE ASYNC CHUNKER MONKEY USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY
  • 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
  • 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
  • THE PEOPLE BEHIND THE PRODUCT…
  • HERE’S HOW YOU MIGHT THINK IT WORKED
  • HERE’S HOW YOU MIGHT THINK IT WORKED
  • HERE’S HOW YOU MIGHT THINK IT WORKED
  • HERE’S HOW YOU MIGHT THINK IT WORKED
  • HERE’S HOW YOU MIGHT THINK IT WORKED
  • HERE’S HOW YOU MIGHT THINK IT WORKED
  • HERE’S HOW YOU MIGHT THINK IT WORKED
  • HERE’S HOW YOU MIGHT THINK IT WORKED
  • HOW DID IT ALL WORK OUT? HERE’S HOW YOU MIGHT THINK IT WORKED
  • HERE’S HOW WE ENDED UP SEEING IT…
  • THE MOST TRICKY PART…
  • KEEPING QUALITY HIGH
  • KEEPING QUALITY HIGH PROOF OF CONCEPTS CONTINUOUS INTEGRATION USING CRUISECONTROL.NET PEER REVIEW ON EVERY CHECK-IN UNIT TESTS USING FLEXUNIT AND FLEXCOVER
  • TOP TIPS AND LESSONS LEARNED
  • 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
  • CLOSING WORDS
  • 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.
  • 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