Quick Updates
About the app
•   Designed to deliver an amazing
    experience

•   Uses the NPR API

•   Helps readers find stations close to
    them

•   Leverages the best ST 2 patterns

•   Implements geolocation, audio

•   Really fun to use!
Quick demo

discovermusic.senchafy.com
Discover Music dev team

Design      Development
Discover Music dev team

Design      Development
Discover Music dev team

Design      Development
Discover Music dev team

Design      Development
Discover Music dev team

Design      Development
Discover Music support

  Sencha Engineers
Discover Music support

  Sencha Engineers
Discover Music support

  Sencha Engineers
Discover Music support

  Sencha Engineers
Discover Music support

  Sencha Engineers
The Design
•   Built along three core engagement themes

    •   Read

    •   Listen

    •   Discover

•   Mimics a music magazine layout like that of Rolling Stone

    •   Cover, Main TOC, Genre sections, articles
Pre-production workflow
Production workflow
      Article Preview


        Global Toc


        Genre Toc


          Articles
         Articles
         Articles


                        YES
      More Genres?

               NO

        Favorites


         Search
Early mockup
Near final mockup
Building the app

•   Heavy utilization of MVC

•   Highly efficient custom Views

•   Utilize local storage for article data

•   Custom SASS theme

•   Implement Sencha SDK tools from start to
    finish
The MVC Architecture
                                       App


                 Favorites                                Article




 Favorites       Favorites                                Article               Articles




                Search                 Main                   Stations            StationDetail




Search          Search                                    StationFinder            Stations




         Main       GlobalToc                        Player               ArticlePreview



                                      Genres




                             Drawer            GenreToc
The Main controller
•   It’s responsible for article data loading

•   Serves as the app backbone

    •   Manages six views

    •   Handles all “outside” navigation

•   Manages the Main View (extends carousel)

•   A little over 330 lines
Controlling views events
Controlling views events
Sencha Touch 2 Performance
•   Carousel is blazing fast!

•   Only 3 items in the DOM at any one time

•   64 child items of the Main View
Performance Secret #1
•   Setup efficient custom views!
Performance Secret #1
Performance Secret #2
•   Use the SDK Tools!




      http://www.sencha.com/blog/behind-sencha-command-and-the-
      build-process/.
Performance Secret #2
•   Reduce data size

    •   NPR data was really huge

    •   We used SilkJS to create a proxy
                                                 Load Balancer

•   Employ localStorage
                                           SilkProd1             SilkProd2



                                                       NPR API
Questions?
• Contact   info:

 • twitter:

   • @moduscreate
                         Thank you!
   • @_jdg

 • jay@moduscreate.com

Discover Music