Destiny Item Manager

Rick Casey

Developer

destinyitemmanager.com

Destiny User Experience

On Console & Bungie.net

The Burden of Ceremony

  • Time consuming to visit the vault
  • Mistakes compound the expense of time
  • Social pressure prevents players from visiting the vault
  • Difficult to track gear in the default workflow
  • A full vault prevents users from swapping characters

The Gear Treadmill

  • Simple switching between Xbox and PlayStation
  • Emphasis on Player Intent, Not Error Messages
  • Show every item on each character on screen
  • Character to Character transfers with drag and drop
  • Search and Filtering
  • Loadouts

Improving Player QoL

This is DIM

How did we make it?

Destiny API REST Services

Chrome Extensions

  • Allow Access to Bungie.net Cookies
  • Requests to Bungie.net from Ext. sends cookies
  • Chrome Web Store Infrastructure

AngularJS

  • Many 3rd Party Components
  • Dependency Injection
  • Factory Services for Entities
  • Promise Support with $q
  • Data Binding is Very Simple
  • Throttle Control of $http Requests

YO DAWG, I HEARD YOU LIKED CALLBACKS...

Promise Based Workflow

  • Use Promises for control flow in the service
  • Promises are caches of data that can be reused
  • Exceptions can be resolved, and promise re-run
  • Helps asynchronous code feel synchronous
  • It is the hardest part to explain when onboarding

What's Next?

  • PhoneGap Mobile Implementation
  • Reuse Angular Entities and Services
  • Responsive Client with new UI
  • Unique User Interactions to improve 'time to equip'

What's Next Next?

  • NativeScript Mobile Implementation
  • Angular 2 Client
  • ES6/7 Features using Babel/Browserify or Webpack
    • async/await makes promises feel familiar

The Future

Made with Slides.com