View Single Post
Old 02-13-2016, 12:10 PM   #1 (permalink)
2022 Marathon Kickstarter Backer2021 Marathon Kickstarter Backer2020 Marathon Kickstarter Backer2019 Marathon Kickstarter Backer24-hour Marathon 2018 Fundraiser Backer24-hour Marathon 2017 Fundraiser Backer47-hour Marathon 2016 Kickstarter Backer57-hour Marathon 2015 Kickstarter Backer38-hour Marathon 2014 Kickstarter Backer54-hour Marathon 2013 Kickstarter Backer
MichaelApproved's Avatar
Join Date: Aug 2005
Location: In bed with your mother
Posts: 961
Rewriting both the iPhone and Android apps

I'm rewriting the iPhone & Android apps. This is the first of several videos that I'm going to post which follow my progress.

This new version of the app will allow us to share 80% of the code between the iPhone and Android apps. That means, when we add something new for the iPhone, it will also be added to the Android version, since they share the same code.

The 20% difference in code are device specific features, such as how the lock screen displays the player controls or how we handle push notifications. Occasionally, something will be available for just the Android or just the iPhone but that'll be related to the device itself. The core features will be released for both iPhone and Android at the same time.

This first video shows some core elements working
- Contacting the KATG server.
- Downloading the list of shows.
- Downloading the images.
- Downloading the episodes for a show and displaying those.
- Basic navigation.

One of the major challenges with the app is keeping a local copy of everything in the app, so it's available offline. It means...

- Check if you have a copy of the data in the app first.
- If you do have data, is it outdated?
- If you need to download content, make sure to only grab what you need, so you don't waste battery life downloading the entire library of content over 3G.
- Save that newly downloaded content.
- Display the new information.

The code is written in a platform called Cordova with Ionic framework. This is the first time I'm working with this platform, so there's also a learning curve.

Learning the platform and getting the core offline features to work was a large challenge for this phase. Now that the core backend tools were created, I can start to work on the frontend stuff, such as displaying the show pictures, notes, guests and automatically downloading the shows as they come out.
(Offline)   Reply With Quote