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
Destiny API Help
All Endpoints
Bungie.net API Token
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 a
synchronous
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