Keith and The Girl Forums

Keith and The Girl Forums (https://www.keithandthegirl.com/forums/)
-   The KATG App (https://www.keithandthegirl.com/forums/f36/)
-   -   Rewriting both the iPhone and Android apps (https://www.keithandthegirl.com/forums/f36/rewriting-both-iphone-android-apps-19735/)

MichaelApproved 02-13-2016 11:10 AM

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.

Piscean 02-13-2016 11:38 AM

This is great news! Any idea when it will be available for testing?

MichaelApproved 02-13-2016 03:28 PM

Quote:

Originally Posted by Piscean (Post 850585)
This is great news! Any idea when it will be available for testing?

I'm trying not to make empty promises, so all I can say now is that I'll have a new update at least once a week. After about 3 updates, I'll have a better handle on the roadmap and more credibility with the timeline.

MichaelApproved 02-20-2016 12:26 PM

Rewriting both the iPhone and Android apps - Part 2
 


This update shows great progress with the episode and guest information. Here's what I added.

- A tab with all guest names and their photos.
- The list of episodes now includes the guest information and their photo.
- Clicking into an episode reveals the episode details screen which includes the notes, guest photos and pictures from the episode.

Struggles
----------------------------
Since the last update, I had to rewrite some of the core code. I was trying to make generic functions that could be reused in much of the code but they turned out to be too generic. I ended up pulling back and writing a custom function for many of the database and API requests. They're fairly similar to each other but different enough to need their own functions.

Screen optimizations have been a struggle. The lists are choppy while scrolling. I think it's because there are so many images on the screen and the way I'm displaying images could be a problem. I've done 90% of the optimizations that I'd like to do. I'll leave the last 10% alone and wait to work on it more when we have the final design in place.

Regarding the image loading, Android has a security feature that's making it difficult to display downloaded images. The problem is the webview isn't allowed to access the data folder. I have to encode the images as base64 content and make the image source a data URL. That slows down the time it takes to display all those images.

Having so many pictures with data URLs could also be adding an extra memory load to the webview. I can do more tests to be sure but what's the point? It's the only way I can display images, so I have to live with it.

There's an alternative way to bypass the Android image security problem. I can include a proxy web service with the app and have that service read the files. The tag would look like src="http://localhost:8000/images/guest-photo-123.jpg" but that's one more chunk of code that I'd have to maintain and another chunk of code that could introduce bugs. Not worth it.

Going forward
----------------------------
My focus for the next update is going to be streaming/downloading the audio files and player controls. I've already done proof of concept tests that have been successful, so I don't think I'll run into major problems. Fingers crossed!

The framework
----------------------------
For those wondering, I'm using Cordova with Ionic framework 1.X with Angular JS 1.X. Both Ionic and Angular have 2.0 releases in beta right now. Those new versions are supposed to have major improvements in performance.

I'm debating whether the performance improvements will be worth moving to the new versions, even while they're in beta. The major concern with moving is that they both changed a lot of their core methods for doing things. I'll have to learn the new stuff and rewrite a good chunk of code to make things work. That'll delay things and we'll also lose access to the large plugin library that's available for the current version.

Will it be worth it? That's a decision for later.

MichaelApproved 03-08-2016 09:36 AM

Rewriting both the iPhone and Android apps - Part 3
 

In this update, I rewrote the core code, again. This time, I feel great about how the code is performing and app is at the level I'd like it to be.

The newly implemented features are:
- Guest list with their photo, description and most recent appearance.

- Guest details with a little more info and a list of all the shows they've been on.

- Show photos that open into a gallery.

- Streaming and downloaded audio with play, pause, and skip ability.

- Resume the place where you last listened.

- "Currently playing" bar at the bottom that shows you the currently playing episode. This bar will always feature the most recently listened to show.

Coming up next:
- A scrubber bar that tracks the current position of the episode and allows you to scrub forwards and backwards.

- Background downloading while the app is closed.

- Automatic downloading when a new episode is out.

- Push notifications.

I'm not sure how the automatic downloads are going to work out. This is an area that I haven't created a proof of concept for. I've done some research and there are several tools available but I think the existing tools might be limited. I might need to hire Android & iOS developers to enhance those tools for me, so that I can achieve the features I need.

Namely, I'd like downloads to automatically trigger with a silent push notification and then trigger a local push notification when the download has completed.

lizsquiz 03-16-2016 03:19 PM

It seems like in the latest version, the ability to just stream without downloading is lost. Is that intentional?

MichaelApproved 03-16-2016 04:22 PM

Quote:

Originally Posted by lizsquiz (Post 851469)
It seems like in the latest version, the ability to just stream without downloading is lost. Is that intentional?

Unfortunately, it is. We had to make that change because the stream/download combo was so buggy that it was hurting both features. The constant bugs in the current one is why I decided to start from scratch and rewrite things.

In the version that I'm writing, you can stream or download.

lizsquiz 03-16-2016 04:29 PM

Cool, so long as you're aware, I'm happy :)

amnesiac 10-22-2016 03:11 PM

This looks really complex & difficult. Any updates for us?

I came to this forum to suggest a feature idea, but after reading this thread I doubt my idea is possible.

Anyway: I want to participate more in the KATG awards but I find it a pain to stop the episode and write down the time at which I note an award-worthy moment. What if there was a button you could push while listening to the show that created a bookmark/time stamp and a list of those time stamps appears somewhere else in the app? Then I wouldn't have to stop the show to make notes.

Thanks for your hard work.

MichaelApproved 10-24-2016 09:17 AM

Quote:

Originally Posted by amnesiac (Post 856267)
This looks really complex & difficult. Any updates for us?

I came to this forum to suggest a feature idea, but after reading this thread I doubt my idea is possible.

Anyway: I want to participate more in the KATG awards but I find it a pain to stop the episode and write down the time at which I note an award-worthy moment. What if there was a button you could push while listening to the show that created a bookmark/time stamp and a list of those time stamps appears somewhere else in the app? Then I wouldn't have to stop the show to make notes.

Thanks for your hard work.

Interesting idea. I might be able to create a button that sends an email with a time stamp. Would that be helpful?

I'm literally in the final stages of this. I just squashed a few bugs today and have a release candidate ready for the team to test.

MichaelApproved 10-31-2016 12:57 PM

Beta test the Android app. Details in this thread http://www.keithandthegirl.com/forum...oid-app-20185/

Lanfear 02-06-2017 01:58 PM

Did you kick live show alerts in the new app or did I set something wrong in my IOS app permissions?

MichaelApproved 02-07-2017 01:44 PM

Quote:

Originally Posted by Lanfear (Post 858007)
Did you kick live show alerts in the new app or did I set something wrong in my IOS app permissions?

I just sent Keith the instructions for sending the push notifications today. He should start this week.

addygirl 02-13-2017 10:44 PM

Downloading New Episodes
 
Okay, so I am admittedly way behind on my listening, but I still try and download the day's episode as I periodically have days when I can binge listen to multiple episodes at a time, but the most recent days' episodes in the app are marked VIP only; is this something new that I have missed because I am behind in my listening? Is there something wrong with my app? Am I losing my daily access to KATG? Help!

Thanks.

MichaelApproved 03-06-2017 05:03 PM

Quote:

Originally Posted by addygirl (Post 858110)
Okay, so I am admittedly way behind on my listening, but I still try and download the day's episode as I periodically have days when I can binge listen to multiple episodes at a time, but the most recent days' episodes in the app are marked VIP only; is this something new that I have missed because I am behind in my listening? Is there something wrong with my app? Am I losing my daily access to KATG? Help!

Thanks.

The latest 50 or so episodes are always free but older episodes are part of KATG VIP. As new ones are released, older ones are put into VIP.

Piscean 03-06-2017 08:26 PM

I frequently see nothing from the app for a week or so, then I get 8 or 9 new show alerts all at once.

On Sunday I got a notice there was a show starting, so I went to the Live Show tab and watched it count down from 15 seconds or so. It got to 0. Did nothing for maybe 10 seconds, then reset the counter to 2 hours and started counting down again.

MichaelApproved 03-07-2017 05:36 AM

Quote:

Originally Posted by Piscean (Post 858603)
I frequently see nothing from the app for a week or so, then I get 8 or 9 new show alerts all at once.

Can you please send me a message from the app about this? The email template I use in the app will include your push notification ID. I can use that ID to look at the messages that were sent to your device.

The feedback message option is in the settings tab.

Quote:

Originally Posted by Piscean (Post 858603)
On Sunday I got a notice there was a show starting, so I went to the Live Show tab and watched it count down from 15 seconds or so. It got to 0. Did nothing for maybe 10 seconds, then reset the counter to 2 hours and started counting down again.

This might seem like a silly question but how long did you hang out on that screen after it got to 0? Sometimes Keith sends out the push notification before going live. You might've hit 0 and left just before the show started.

Piscean 03-07-2017 08:51 PM

Quote:

Originally Posted by MichaelApproved (Post 858609)
Can you please send me a message from the app about this? The email template I use in the app will include your push notification ID. I can use that ID to look at the messages that were sent to your device.

The feedback message option is in the settings tab.



This might seem like a silly question but how long did you hang out on that screen after it got to 0? Sometimes Keith sends out the push notification before going live. You might've hit 0 and left just before the show started.

I sent a message to you just now from the app.

For the other question, I probably only waited 15 seconds or so. You know what they say about Internet attention span only being 7 seconds? Yeah, that's me. Gotta keep it moving baby. :)

shoebootie 06-15-2017 02:33 PM

I'm not sure if it's just me who has problems with the app, but I figured I'd post it here in case this is something you're unaware of or are working on.

Playback will stop all the time, and I'm not sure why. It does this with streaming, it does this with downloaded episodes. Whether I'm using headphones, listening in the car, or through a bluetooth stereo, it will just stop. I'll press play again but nothing. I'll have to close out of the app and start again, but this happens a lot. On almost every episode I listen to actually.

Piscean 06-15-2017 05:03 PM

Do you have "Restrict apps in background" enabled? If so, can you whitelist the KATG App? Or turn that off and see if the problem persists?

shoebootie 06-15-2017 05:35 PM

Quote:

Originally Posted by Piscean (Post 861019)
Do you have "Restrict apps in background" enabled? If so, can you whitelist the KATG App? Or turn that off and see if the problem persists?

I don't have apps restricted in the background, and this will happen while the app is open right in front of me as the primary app.

MichaelApproved 06-15-2017 08:22 PM

Quote:

Originally Posted by shoebootie (Post 861016)
I'm not sure if it's just me who has problems with the app, but I figured I'd post it here in case this is something you're unaware of or are working on.

Playback will stop all the time, and I'm not sure why. It does this with streaming, it does this with downloaded episodes. Whether I'm using headphones, listening in the car, or through a bluetooth stereo, it will just stop. I'll press play again but nothing. I'll have to close out of the app and start again, but this happens a lot. On almost every episode I listen to actually.

What device are you using?

shoebootie 06-16-2017 07:52 AM

Quote:

Originally Posted by MichaelApproved (Post 861026)
What device are you using?

Using an iPhone 6 which is current on updates

Piscean 08-18-2017 03:50 PM

Notification vanished
 
App Version 2017.1.24
OS: Android 6.0

Yesterday I got a push notification chime from the app. I turned on the screen, tapped the notice and then entered my PIN to unlock.

The KATG app launched. Then nothing.

The notification cleared from the list of notifications at the top of the screen.

I don't see anywhere in the app to review what the notification said.

FingerLakes 09-11-2019 05:24 PM

requests for app
 
Had two requests to make the app even more perfect:

A Random Episode button
'Play Next/Previous ' episode buttons

With VIP there are THOUSANDS of episodes to get into across the various shows. Currently if i wanna listen to an from the years before i became a fan i need to scroll the list of KATG eps until my finger falls off or enter a specific number of the ep or search for a guest from that ep.

Searching for a number or guest is easy but if i don't have a specific ep I'm looking for, I'm just putting in random numbers and hoping i haven't listened to that already. And if, after hearing a particularly great episode from 10 years ago, if I wanna listen to the follow up i can't just hit "next" on the episode page, I have to go back to search and search the number of the next ep.

These are literally first world problems but it would make my time going through and enjoying VIP much better

Keith 09-12-2019 12:17 AM

I love the random. That'd be so funny.

Let's see if we can pass it through to the boss. Let him know through the app that you want it. Tell him we sent you. No, that we encouraged you. Shit. I don't know. Just send it through the app.

Peterda 03-18-2020 09:28 AM

Indeed, it's a great app. :)

karllondon 01-25-2022 06:52 AM

Potential bug with the android app
 
Hi everyone,

I'm having some issues with the android version of the app and I'm hoping if you can help?

I'm a VIP member so I'm slowly working through the backlog. Currently, I can't seem to get podcasts to start on the app if they are downloaded. Hitting play, all I hear is a "popping" sound like a bubble popping (if that makes sense).

However they start fine if they're not downloaded and I just stream them over my wifi. Is there something I'm doing wrong?

Device details
Oneplus 6T
Android 11.
KATG App Version: 2017.24 downloaded via the google play store.

I've emailed michael but I'm afraid but I'm concerned I've not got the right address for him as I've not had a response. Am I screwing up somewhere?

Any questions, please let me know. It's probably a cock up on my part somewhere but I can't figure it out.

Cheers

Karl


All times are GMT -5. The time now is 07:43 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.1
Keith and The GirlAd Management plugin by RedTyger