Your SlideShare is downloading. ×
Fiat eco:Drive
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

Fiat eco:Drive

4,593

Published on

A look at how Fiat eco:Drive was developed by AKQA London

A look at how Fiat eco:Drive was developed by AKQA London

Published in: Automotive, Technology
0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,593
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
154
Comments
0
Likes
12
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. Rick Williams 22nd January 2009
  • 2. BEFORE WE GET DOWN TO BUSINESS…
  • 3. WHO IS AKQA? GLOBAL ADVERTISING AGENCY. OFFICES IN LONDON, SAN FRANCISCO, WASHINGTON DC, NEW YORK, AMSTERDAM AND SHANGHAI. LONDON OFFICE HAS 250 PEOPLE. AKQA HAS 800 EMPLOYEES WORLDWIDE. AKQA AMSTERDAM IS LOOKING FOR FLASH DEVELOPERS.
  • 4. WHAT WAS OUR BRIEF FROM FIAT? BUILD A PRODUCT THAT HELPS IMPROVE YOUR DRIVING USING TELEMATIC DATA COLLECTED FROM THE CAR
  • 5. WHY IS ECO:DRIVE “SOPHISTICATED”? THE CHALLENGES CONNECTING YOUR DRIVING DATA CAN BE LARGE AMOUNTS OF CAR TO YOUR CONFUSING DATA, ONCE PER COMPUTER IS A NEW SECOND OF EVERY CONCEPT TO MOST JOURNEY
  • 6. WHY IS ECO:DRIVE “SOPHISTICATED”? THE CHALLENGES CONNECTING YOUR DRIVING DATA CAN BE LARGE AMOUNTS OF CAR TO YOUR CONFUSING DATA, ONCE PER COMPUTER IS A NEW SECOND OF EVERY CONCEPT TO MOST JOURNEY YET THE SOLUTION HAD TO BE INTUITIVE EASY TO USE RESPONSIVE
  • 7. A LITTLE BIT MORE DETAIL… BUILT USING ADOBE AIR 1.1 AND FLEX
  • 8. A LITTLE BIT MORE DETAIL… BUILT USING ADOBE AIR 1.1 AND FLEX BUILT IN 4 MONTHS BY A DEVELOPMENT TEAM OF 5
  • 9. A LITTLE BIT MORE DETAIL… BUILT USING ADOBE AIR 1.1 AND FLEX BUILT IN 4 MONTHS BY A DEVELOPMENT TEAM OF 5 CREATED USING FLEXBUILDER 3 PROFESSIONAL EDITION
  • 10. A LITTLE BIT MORE DETAIL… BUILT USING ADOBE AIR 1.1 AND FLEX BUILT IN 4 MONTHS BY A DEVELOPMENT TEAM OF 5 CREATED USING FLEXBUILDER 3 PROFESSIONAL EDITION LAUNCHED IN 3 LANGUAGES, SOON TO BE 5
  • 11. WHY ADOBE AIR? CROSS PLATFORM
  • 12. WHY ADOBE AIR? CROSS PLATFORM SMOOTH INSTALL OF THE FRAMEWORK AND APPLICATION
  • 13. WHY ADOBE AIR? CROSS PLATFORM SMOOTH INSTALL OF THE FRAMEWORK AND APPLICATION EASY AUTO-UPDATE FUNCTIONALITY
  • 14. WHY ADOBE AIR? CROSS PLATFORM SMOOTH INSTALL OF THE FRAMEWORK AND APPLICATION EASY AUTO-UPDATE FUNCTIONALITY INTERGRATED SQLITE DB
  • 15. WHAT ARE WE TALKING ABOUT THE TEAMS AND THE WORKFLOW
  • 16. WHAT ARE WE TALKING ABOUT THE TEAMS AND THE WORKFLOW KEEPING QUALITY HIGH
  • 17. WHAT ARE WE TALKING ABOUT THE TEAMS AND THE WORKFLOW KEEPING QUALITY HIGH GETTING UNDER THE COVERS OF ECO:DRIVE
  • 18. WHAT AM I GOING TO TALK ABOUT THE TEAMS AND THE WORKFLOW KEEPING QUALITY HIGH GETTING UNDER THE COVERS OF ECO:DRIVE OUR TOP TIPS AND LESSONS LEARNT
  • 19. FEATURES DEMO
  • 20. WHAT DOES ECO:DRIVE LOOK LIKE INSIDE?
  • 21. THE MANDATORY BLOCK DIAGRAM
  • 22. THE MANDATORY BLOCK DIAGRAM USB KEY
  • 23. THE MANDATORY BLOCK DIAGRAM HTTP ECO:INDEX WEB SERVICE USB KEY HTTP COMMUNITY WEB SERVICE HTTP FUEL PRICE WEB SERVICE
  • 24. UPDATE DEMO
  • 25. IMPORTING DATA: STEP BY STEP EACH CAR ON THE USB KEY IS MATCHED TO A CAR IN THE DESKTOP APPLICATION
  • 26. IMPORTING DATA: STEP BY STEP EACH CAR ON THE USB KEY IS MATCHED TO A CAR IN THE DESKTOP APPLICATION FIRST 50% OF THE PROGRESS BAR: PARSING DATA INTO MEMORY
  • 27. IMPORTING DATA: STEP BY STEP EACH CAR ON THE USB KEY IS MATCHED TO A CAR IN THE DESKTOP APPLICATION FIRST 50% OF THE PROGRESS BAR: PARSING DATA INTO MEMORY SECOND 50%: SAVING THAT DATA TO THE DATABASE
  • 28. IMPORTING DATA: STEP BY STEP EACH CAR ON THE USB KEY IS MATCHED TO A CAR IN THE DESKTOP APPLICATION FIRST 50% OF THE PROGRESS BAR: PARSING DATA INTO MEMORY SECOND 50%: SAVING THAT DATA TO THE DATABASE EACH JOURNEY IS SUBMITTED TO THE ECO:INDEX WEB SERVICE
  • 29. IMPORTING DATA: STEP BY STEP EACH CAR ON THE USB KEY IS MATCHED TO A CAR IN THE DESKTOP APPLICATION FIRST 50% OF THE PROGRESS BAR: PARSING DATA INTO MEMORY SECOND 50%: SAVING THAT DATA TO THE DATABASE EACH JOURNEY IS SUBMITTED TO THE ECO:INDEX WEB SERVICE UPDATE THE DATABASE AND THE USER INTERFACE
  • 30. IMPORTING DATA: PARSING EASE OF PARSING WAS NOT THE FIRST PRIORITY LIMITED SPACE AVAILABLE IN BLUE & ME COMPUTER MORE COMPUTING POWER AVAILABLE ON THE DESKTOP THAN IN THE CAR DATA IS STORED IN A TIGHTLY PACKED BIT ARRAY NO BITARRAY IN ACTIONSCRIPT 3
  • 31. IMPORTING DATA: PARSING SEVERAL ITERATIONS OF THE PARSING CODE FIRST WAS FUNCTIONAL, BUT SLOW ONCE UI WAS COMPLETED, WE RUTHLESSLY OPTIMISED
  • 32. IMPORTING DATA: WRITING DATA TO THE DATABASE THERE WERE TWO MAJOR REQUIREMENTS IMPORT HAD TO BE HIGHLY USER INTERFACE HAD TO REMAIN PERFORMANT SMOOTH AND RESPONSIVE
  • 33. IMPORTING DATA: WRITING DATA TO THE DATABASE THERE WERE TWO MAJOR REQUIREMENTS IMPORT HAD TO BE HIGHLY USER INTERFACE HAD TO REMAIN PERFORMANT SMOOTH AND RESPONSIVE THERE WERE TWO PROBLEMS USING A TIMER WAS NOT USER “FOR” LOOPS MEANT AN FAST ENOUGH UNRESPONSIVE APPLICATION
  • 34. IMPORTING DATA: WRITING DATA TO THE DATABASE THERE WERE TWO MAJOR REQUIREMENTS IMPORT HAD TO BE HIGHLY USER INTERFACE HAD TO REMAIN PERFORMANT SMOOTH AND RESPONSIVE THERE WERE TWO PROBLEMS USING A TIMER WAS NOT USER “FOR” LOOPS MEANT AN FAST ENOUGH UNRESPONSIVE APPLICATION THE SOLUTION? THE “ASYNC CHUNKER MONKEY”
  • 35. IMPORTING DATA: THE ASYNC CHUNKER WHAT? USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY
  • 36. IMPORTING DATA: THE ASYNC CHUNKER WHAT? USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY USING A TIMER
  • 37. IMPORTING DATA: THE ASYNC CHUNKER WHAT? USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY USING THE ASYNC CHUNKER MONKEY
  • 38. IMPORTING DATA: THE ASYNC CHUNKER WHAT? USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY USING THE ASYNC CHUNKER MONKEY MAX TIME FOR EXECUTION IS SET BY DEVELOPER
  • 39. IMPORTING DATA: THE ASYNC CHUNKER WHAT? USING SYNCHRONOUS “FOR” LOOP TO PROCESS EACH ITEM IN AN ARRAY USING THE ASYNC CHUNKER MONKEY MAX TIME FOR EXECUTION IS SET BY DEVELOPER
  • 40. DATA VISUALISATION DEMO
  • 41. VISUALISING THE DATA JOURNEY VIEW – TREND VIEW – ECO:VILLE
  • 42. GRAPHING THE DATA: JOURNEY VIEW INDIVIDUAL DATA SCRUB BAR DYNAMIC LOADING
  • 43. THE PEOPLE BEHIND THE PRODUCT…
  • 44. HOW DID IT ALL WORK OUT?
  • 45. HOW DID IT ALL WORK OUT?
  • 46. HOW DID IT ALL WORK OUT?
  • 47. HOW DID IT ALL WORK OUT?
  • 48. HOW DID IT ALL WORK OUT?
  • 49. HOW DID IT ALL WORK OUT?
  • 50. HOW DID IT ALL WORK OUT?
  • 51. HOW DID IT ALL WORK OUT?
  • 52. HOW DID IT ALL WORK OUT?
  • 53. HERE’S HOW WE ENDED UP SEEING IT…
  • 54. THE MOST TRICKY PART…
  • 55. ...GETTING THE DESIGN WORKFLOW RIGHT ENSURE THAT USER EXPERIENCE TALKS TO CREATIVE DEVELOPMENT
  • 56. ...GETTING THE DESIGN WORKFLOW RIGHT ENSURE THAT USER EXPERIENCE TALKS TO CREATIVE DEVELOPMENT IN AN IDEAL WORLD, USER EXPERIENCE WOULD SUPPLY DESIGNERS WITH ANIMATED WIREFRAMES
  • 57. GETTING THE DESIGN WORKFLOW RIGHT... ENSURE THAT USER EXPERIENCE TALKS TO CREATIVE DEVELOPMENT IN AN IDEAL WORLD, USER EXPERIENCE WOULD SUPPLY DESIGNERS WITH ANIMATED WIREFRAMES EVERYONE SHOULD SIT IN THE SAME ROOM
  • 58. ...AND KEEPING THE QUALITY HIGH
  • 59. ...AND KEEPING THE QUALITY HIGH UNIT TESTS USING FLEXUNIT AND FLEXCOVER
  • 60. ...AND KEEPING THE QUALITY HIGH
  • 61. ...AND KEEPING THE QUALITY HIGH UNIT TESTS USING FLEXUNIT AND FLEXCOVER
  • 62. ...AND KEEPING THE QUALITY HIGH UNIT TESTS USING FLEXUNIT AND FLEXCOVER PROOF OF CONCEPTS
  • 63. ...AND KEEPING THE QUALITY HIGH
  • 64. ...AND KEEPING THE QUALITY HIGH UNIT TESTS USING FLEXUNIT AND FLEXCOVER
  • 65. ...AND KEEPING THE QUALITY HIGH UNIT TESTS USING FLEXUNIT AND FLEXCOVER PROOF OF CONCEPTS
  • 66. ...AND KEEPING THE QUALITY HIGH UNIT TESTS USING FLEXUNIT AND FLEXCOVER PROOF OF CONCEPTS CONTINUOUS INTEGRATION USING CRUISECONTROL.NET
  • 67. ...AND KEEPING THE QUALITY HIGH
  • 68. ...AND KEEPING THE QUALITY HIGH UNIT TESTS USING FLEXUNIT AND FLEXCOVER
  • 69. ...AND KEEPING THE QUALITY HIGH UNIT TESTS USING FLEXUNIT AND FLEXCOVER PROOF OF CONCEPTS
  • 70. ...AND KEEPING THE QUALITY HIGH UNIT TESTS USING FLEXUNIT AND FLEXCOVER PROOF OF CONCEPTS CONTINUOUS INTEGRATION USING CRUISECONTROL.NET
  • 71. ...AND KEEPING THE QUALITY HIGH UNIT TESTS USING FLEXUNIT AND FLEXCOVER PROOF OF CONCEPTS CONTINUOUS INTEGRATION USING CRUISECONTROL.NET PEER REVIEW ON EVERY CHECK-IN
  • 72. 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 My blog: http://www.pixelpod.co.uk THANK YOU

×