Hi everyone! This year, we’re going to be sharing ~weekly(?) updates about our progress building The Blue Alliance in our ChiefDelphi subforum. The Blue Alliance is an open-source project built by volunteers who write code for our website, Android app, and iOS app; as well as mods who help us keep all our data accurate.
Some big progress this week:
- We shipped the iOS app! Huge props to Zach for pushing this over the finish line this year. Get it on the app store at https://itunes.apple.com/us/app/apple-store/id1441973916
- We shipped v5.0 of our Android app, which updates it to the latest version of the Android SDK. If you want to be a TBA beta tester to get future updates faster, you can sign up here: https://play.google.com/apps/testing/com.thebluealliance.androidclient
- We partnered with FIRST to make special codes available in the KOP for teams to manage media on their TBA profiles. Learn more by reading the blog post and redeem yours at https://www.thebluealliance.com/mod/redeem. Huge thanks to the entire KOP team at FIRST, especially Kate Pilotte for helping us make this happen!
- Zach is making progress on the TBA Notification Service, which will enable sending push notifications to our iOS app.
Some challenges we hit this week:
- CD-Media images broke as a result of the ChiefDelphi migration to Discourse. We’ve got backups of all the media, and are working with the CD admins on a mitigation plan. For now, we’re using the Internet Archive to access cached versions of these images (thanks for the pull request, Jordan Miller), although it may not work perfectly across all platforms. Expect updates after the glitches are worked out in the new CD-Media (All pictures are broken in CD Media)
- We didn’t ship myTBA in the first version of the iOS app, but everyone really wants it! We shipped a stop-gap update that allows users to access their favorites while we’re working on notifications.
Our work on push notifications is led by @Zach_O
- Zach has been working on a big pull request to add the TBA Notification Service, which will give us a flexible way to send notifications to our Android app, iOS app, webhooks, and eventually web push notifications. The goal is to focus on reliability and supporting modern push notification features.
- We’re iterating on myTBA based on our user survey response. We’re still in the planning phase, but we’re starting to get an idea of what it is want to build. We’ll be focus on surfacing the right data at the right time.
- We shipped self-serve team media moderation using mod codes sent out in the Kit of Parts. Big thanks to FIRST for their help distributing these codes so we can have authenticated moderators!
Our work on the iOS app is led by @Zach_O
- This week we shipped v1.0.0 of the TBA iOS app! A huge milestone, years in the works. Thanks Zach for your help getting this over the finish line, and Phil for setting up our official App Store account.
- Search is the next big feature we’ll be working on - a proof of concept shows how we can do this, but the engineering will take a little bit to get right.
- We’d love to get some contributors to help with some smaller quality of life things!
Our work on the Android app is led by @plnyyanks
- This week we pushed a new version of the TBA app, v5.0, built against the latest Android SDK.
How to Contribute
If you’d like to get involved building The Blue Alliance, join our mailing list at thebluealliance-developers on groups.google.com (more signal) to stay up to date with development or ask to join the-blue-alliance.slack.com (more noise) to hang out in our chat channels.
If you’re looking for an easy getting-going project, we’ve labeled some of the open issues on our main website “Help Wanted”. If you’d like to pick one of these up, email our developer mailing list, and we can help you get going!
Thanks to our Contributors!
Thank you everyone who contributes to The Blue Alliance, either providing data, helping moderate media, writing code, and everything else!
Brandon Dean (3): * Fix cases where EventDetail types API returns null (#2353) * Add support for event key type ahead. (#2351) * Add back Instagram links in nav bar (#2352) Brian Rozmierski (1): * Modtools docs improvements (#2375) Eugene Fang (5): * Filter out null team districts * Add dispatch to beta PWA SSR service * Don't pin PyYAML version (#2376) * Hide old links on build season landing * Use sitevar for build season end Jamie Sinn (1): * Correct vagrant version listed in dev docs (#2371) Jared Hasen-Klein (1): * Updated district ranking link (#2342) Jordan Miller (1): * Hotfix the CD media links (#2364) Phil Lopreiato (19): * [dev] Bump vagrant to 2.1 (#2346) * [modtools] Implement Team Media Management (#2347) * [modtools] Actually support social media (#2348) * [cont-push] Always release deploy lock, even on script failure * [cont-push] Fix trap error * [cont-push] don't trap SIGERR * [modtools] Fix missing import * [modtools] Basic suggestion queue (#2350) * [modtools] Write unit tests for existing code (#2356) * [modtools] Add more admin tools for managing mod codes * [modtools] Implement write auth based on team scoped access (#2357) * [modtools] Fix showing expiration on admin panel * [modtools] Filter by year in admin view * [modtools] Add db indexes * [modtools] Add one more index * [modtools] Require team number to redeem * [modtools] Allow admins to override page * fix missing > in base template * [modtools] Better UI for initial linking (#2374) Tim Flynn (1): * Update add-data with easier to read formatting. (#2329) Zachary Orr (8): * Dispatch notifications for iOS, combine notification render methods (#2336) * Fix UpcomingMatch notification to send predicted_time (#2337) * Attempt to fix web deploys (#2340) * Automatically deploy endpoints config (#2339) * Fix crash when generating endpoints configuration (#2341) * Update the home page and myTBA pages for iOS (#2338) * TBA Notification Service, using Firebase HTTPv1 API (Ping and Verification) (#2355) * Add some details on using Vagrant/Docker, especially for troubleshooting (#2377) leo (1): * Add view_url and direct_url to MediaConverter (#2368)
Alex Saveau (1): Add https support to deep links (#844) Bryan Herbst (1): Fix for opening team links with leading zeros (#845) Greg Marra (2): Show Team Locations in Search (#879) Add Media tab to Team at Event (#882) Phil Lopreiato (12): [build] Update to latest versions of android tooling (#880) [build] Fix all build modes fork spectrum to local module (#881) Fix Travis Build (#883) Load media from https urls Fix dangling NOT NULL constraint on removed db column fix broken unit test Move mytba to Full Firebase Auth (#884) Update release script for new changelog path Version 5.0.0 Whatsnew Spencer Ng (1): Fix view more events date issue (#875) Taylor Horne (1): Add Extra RP Dots (#866)
Clayton Yocom (1): * fix "View photos on Chief Delphi" for TeamInfo and EventInfo (#420) Jordan Miller (1): * Add RP dots to match cells (#403) Zachary Orr (24): * Merge pull request #380 from the-blue-alliance/zorr/event-offline * Adds registration for remote notifications, adds debugging for remote notification registration (#386) * Show MyTBA preferences in form sheet on iPad (#389) * Remove string from empty iPad screen (#390) * Show notifications debugging in detail view on iPad (#391) * Push MyTBA views properly on iPad, Fix HTML strings showing in Team Summary (#387) * Update Cocoapods (#388) * Adds Deliver information (#384) * Remove max enum cases for CaseIterable (#394) * Adds methods/capability for remote notifications (#395) * Use Debug config for command-line builds (#396) * Change name of React Native zip (#398) * Adds dynamic capability for adding an alternate icon (#399) * Update copyright.txt * Update README.md * Fixes status service fetching/saving before persistent container is setup (#407) * Added issue and PR template (#408) * Adds app preview to README (#411) * Update README.md * Fix double register call (#410) * Load team media from URLs from server (#414) * Fix myTBA saves not working, since error code returns are weird (#415) * Fix having to reverse alliance teams (#413) * Re-add favorites (#417)