So a while back in 2015 I was just getting into Twitch.tv and watching everything League of Legends related and eSports in general. But I found myself in the car more than anything and I was destroying my data plan by having the video play for 2-3 hours everyday in the car. So I began to look for an alternative app or anything to save my data plan. That’s when I found out that Twitch.tv has a public API that they offer for FREE! I was very intrigued by this and began digging into their decently documented API. At the time they were just releasing V3 and were quietly building support HTML5 streaming (m3u8 format) and in that format they offered and “audio_only” option; but that wasn’t an option inside their mobile app under quality. Seemed odd, but was a window for opportunity!
Digging (debugging) around their API I quickly learned their authentication process and began to develop an app using native Java. After about two weeks of on-and-off work I decided to port over to Xamarin.Forms in case I ever decide to go to the App Store with minimum effort. So I began writing an app, but unfortunately Twitch beat me to the punch and pushed out the option to use “audio_only” in their app. Feeling defeated and being extremely busy with work I ended up not furthering development for a month or so, but then some life changes happened and I had the entire month of December (2015) off and I decided I was going to finish the app!
So I set out on finishing my app with the basic features it needs or users would expect. But I wanted something unique! There’s a few other Twitch (unofficial) clients out there that do the same exact thing as the official Twitch app and I didn’t want to be just another client. Therefore I came up with a “Discover” page which shows you, up-to 100, randomly shuffled streams that Twitch has deemed “featured” according to their API. I wanted to create a process to crawl their API and truly select streams at random, but the processing power is to small on a device and I didn’t have the ability to create a server to do so. So I settled for shuffling their “featured” streams.
Nevertheless, I’m quite happy with my initial release and have some people testing it out for me. I’m in the process of creating a feature map for 2016 as I plan to continue development and expand to features like Chromecast viewing, push notifications, and some other secret features. Check it out and let me know what you think!