Home

Awesome

Twitch App Exploration

Twitch

https://www.twitch.tv/ is in their own words:

"a global community of millions who come together each day to create their own entertainment: unique, live, unpredictable, never-to-be repeated experiences created by the magical interactions of the many. With chat built into every stream, you don’t just watch on Twitch, you’re a part of the show."

MobCAT Sample (Codename Zimmer)

The goal of the MobCAT sample is to build a Twitch app via live-coding on Twitch using the latest and greatest in Xamarin.Forms with the MobCAT Toolbox to demonstrate the thought process in using best practices for common use cases. After the app is built, we will also be profiling the app to demonstrate common profiling scenarios.

Episodes

Sandwich episodes with TDD (unit tests, UI tests) and profiling when possible

1: Dean - Intro - File new proj - Setting up dummy views, shell, mobcat, CI/CD

2: Ben - Build API wrapper - Building out discover tab, Font Awesome and Style Triggers

3a: Alexey - Video player inception

3b: Alexey - Native iOS video player implementation

3c: Alexey - Native Android video player implementation

4a: Sweeky - Auth Initial Setup

4b: Sweeky - Auth Completion + Shell Route Login Flow

4c: Sweeky - UITests! DevOps!

5: Mike - Follow, image/video caching

6: Alex/ey - Profiling

Wiki

Check out the wiki for more details on the episodes! https://github.com/xamcat/xam-twitch/wiki

Design

The design mockups were created in Figma Design


MobCAT Twitch MVP Functionality

Auth

The user will be able to login

Following

The user can view livestreams and videos from channels they are following

Random Stream

The user will be shown a livestream randomly from their recommendations

Browse

The user can browse categories and livestreams

Search

The user can search for a category or channel

Category Details

Lists livestreams or videos of the category

Channel Details

Shows livestream, past broadcasts, highlights, clips, and info

Nice to Haves

Chat (Phase 2)

Xamarin Concepts

The Xamarin concepts and best practices that will be highlighted are


Twitch API

The Twitch API documentation can be found here: https://dev.twitch.tv/docs/api/

Official Twitch App Functionality (iOS)

Auth

The user can log in to their Twitch account for app personalization

Following Tab

The user can view categories and channels they are following both live and offline, get a list of recommended channels, and continue watching videos where they left off.

Discover Tab

Contains horizontal lists of

Browse Tab

The user can browse by categories or live channels which can be filtered by tags.

Livestream/Video view (Modal/Pop out)

The user can watch a livestream or video and chat with other users, cheer to support content creators with real money, watch the video in fullscreen, share a link to the video, host the channel, create a 30s clip, share the clip, follow the channel, get notifications for the channel once followed, and view options

Livestream/Video Options (Modal)

The user can set

Category Details (Push Nav)

Tapping on a category will show the details page which lists live channels of the category. The user can favorite the category, view videos and clips instead, and filter the list of content by tags

Channel/User Details (Push Nav)

Tapping on a channel will show the channel's profile page which is similar to the user's own profile page but with a follow right nav bar item instead of the settings cog

User Profile Page (Push Nav) (Left Nav Bar item)

The user can view their follower and view counts, go live, view their dashboard, manage their stream, view their videos, clips, info, and chat.

Settings (Modal) (Accessible from Profile or Notifications)

Clicking on the settings cog shows a bottom flyout with:

Notifications (Push Nav) (Right Nav Bar item 1)

The user can see their most recent notifications and manage their notification settings

Social (Push Nav) (Right Nav Bar item 2)

The user can access their whispers (chats) and friends

Search (Modal) (Right Nav Bar item 3)

The user can search for

Caching

Push Notifications