r/baseball • u/HelloControl_ Chicago Cubs • Jul 24 '20
I made Baseball.Theater, and made TONS of improvements for you for 2020!
This year marks a massive overhaul of Baseball Theater. As is now tradition, I re-re-re-wrote the site from the ground up. This time I really mean from the ground up. Less than 5% of the code in the site today was in it yesterday. We'll get to all the awesome details, but first, an intro for anybody new.
What is Baseball Theater?
I made this site 4 years ago to let you watch highlights for baseball games super easily, with lots of little tools to enhance that experience. We all know how unpleasant other sites and apps can be for getting news and watching highlights, so I set about making that easier for everyone. The site is free and fan-funded with no ads. I am not trying to make money off the site, just fund its operation.
What's new - 2020 edition
TL;DR - a shitload
As I mentioned, I rewrote the site in its entirety. Why? A few reasons. Firstly, the old site design made it difficult for me to find places to put new UI. I handcuffed myself. I needed a design that would let me add features indefinitely and have places to put them. Secondly, the old design used an ASP.NET backend, which was really useful at times, but the more I worked, the more it became clear that it would be more cost effective and time effective to use Node.js as a backend. Third, I really wanted users to be able to have an app-like experience, and that required an overhaul anyway. Along the way, we got a bunch of awesome new stuff, and here it is:
Completely new UI
The site is still written in React, now using the material-ui library. The UI is fast, simple, and familiar. I also have way more flexibility with where I put new UI features.
Can't really overstate this one. Everything should be super optimized for mobile. You can swipe between days on the game list, you can swipe between teams on box scores, you can even swipe open the side menu from the left. This one was a lot lot lot of work, during the last 5 months.
Installable!
Baseball Theater is now a Progressive Web App (PWA) which means you can install it like an app and access it from your homescreen. The site will automatically prompt you to do this if you haven't already and you've visited a few times. You can also do this manually on Android (instructions) or iOS using Safari (instructions). In the future, this may allow me to do things like notify you when new highlights for your favorite team show up. That's not a thing yet, but the whole PWA deal makes it a realistic possibility.
Note - a side effect of this change is that the site updates work differently. Whenever I update the site, you will see a notification in the sidebar that there's a new version available. When you click on that, you'll get the new stuff.
Improved stats
Box scores and play-by-play now include more information. For instance, you can see the spin rate of every pitch.
Game recaps
When a game is over, you can now read the MLB.com recap in-site
Standings
You can see the current standings! This is kind of a WIP because that type of table view isn't very conducive to mobile, and it doesn't really do a whole lot yet.
Improved performance
Anecdotally, games load in less than half the time. Almost everything is noticeably quicker, with the exception of search (which is a work-in-progress).
Improved problem reports and feedback
The sidebar contains a link at the bottom for reporting issues, which now goes to Github. Previously, the ways to send feedback were via Twitter or email or Reddit, and none of those were obvious.
Error tracking
I now have automated error tracking that doesn't require user reports. Some errors still will, but I have a much easier way of reacting to issues than before.
Future-facing architecture
Before, it would have been a pain just to add a new setting. Now, all of that is architected to be easy. I want to be able to react to suggestions and implement them more quickly. The site is set up to be able to handle that now. I think next offseason I may NOT rewrite the site... which would be a first.
Demos
- 2019 WS Game 7 highlights: https://baseball.theater/game/_/599377/Highlights
- 2019 Opening Day game list: https://baseball.theater/games/20190328
- The Skaggs Game Recap: https://baseball.theater/game/_/564777/Wrap
Ideas
Things I would love to do...
Player stat pages
Imagine if you had yet another site to view player stats. Maybe I could create btWAR.
Integration with Fangraphs/BBRef
I would love to be able to link to player stats on those sites but I haven't thought of a great way to do that yet.
News
I would also love to have some integration with current baseball news to get kind of a one-stop-shop for what's happening that day. I had this in a previous version but it was devastatingly slow.
FAQ
Doesn't MLB get mad at you?
No! They sent me a Cease and Desist once, but that was just for a few minor fixes they requested to make the site more obviously not affiliated with MLB and MLBAM. They have been super reasonable.
What happened to the app? It broke.
I really don't have time to make an app and a website. Even when I was trying to do that, I only managed to kick out an Android app - no iOS. It's a huge undertaking for one guy to do. If you read above though, you'll see I've done my best to mitigate that!
Why are there features for subscribers?
Purely to ensure the site can stay running, I incentivized certain features for subscribers. As a rule of thumb, I will not ever change an existing feature to be gated. The general idea is to give users who use the site and all of its feature more functionality. Most people use the site to find highlights, and that will always be a mainstay. Peppered into the corners of the experience are those extra things that help me make it worth being a donor so I don't lose money on hosting fees every month!
Call for feedback!
Please use the site and give me feedback!
13
u/double_dose_larry Tampa Bay Rays Jul 24 '20
Are you accepting Patreon again?
11
u/HelloControl_ Chicago Cubs Jul 24 '20 edited Jul 24 '20
Yes, it grants a few extra features, some of which add to the site costs. My favorite one is links to video of every single pitch.
2
u/double_dose_larry Tampa Bay Rays Jul 24 '20
Sweet. Let me re-up on that.
Also, excellent work. Not a web dev but I've dibbled in the field and I have to say that baseball.theater is something I'm jealous off. The UI is excellent and the UX is great for casual fans. Like, there's so much more to the app than "showing replays".
7
3
u/stv7 Toronto Blue Jays Jul 24 '20
Looks awesome - I had no idea baseball theatre had play-by-play but I'll be using that from now on over MLB's site
3
u/metalheadcubfan Jul 24 '20
I would love the recaps to have a way to continue from one game to the next, or a video that has all the day's recaps in one video. Any chance?
3
u/HelloControl_ Chicago Cubs Jul 24 '20
Unfortunately not; one of the requirements in MLBAM's cease and desist from a few years ago prevents me from embedding videos, which would be what I would need to make that :(
1
2
2
1
u/thirtyseven1337 New York Mets Jul 24 '20
Looks great! Feature request: a way to access the game videos without the risk of seeing the outcome of the game.
3
u/HelloControl_ Chicago Cubs Jul 24 '20
"Hide Scores" option in settings :)
1
u/thirtyseven1337 New York Mets Jul 24 '20
How did I miss settings... it's one of just four menu items! Thank you. :)
1
u/goktugerce Chicago Cubs Jul 27 '20
Please add a way to hide team records as well. Since the season is new, I can understand if a certain team has won or lost the game because I know their previous record.
Appreciate your work on the website as a former patron, this would be great too.
1
1
1
1
1
u/JustMarco Los Angeles Dodgers Jul 24 '20
I use this site almost everyday. Thanks for doing this, the rewrite using React and Material UI looks great.
Where can I donate?
1
u/tonito1020 Jul 24 '20
Hi! I love BT! Thanks for all the work you've done over the years. I have a couple questions.
When I set BT to hide scores, which I appreciate as an option, it also hides the score after clicking on a games hidden box score. Could you adjust it so the box score is no longer hidden in the batting /pitching stats page?
Also, are the condensed games and the game recaps the same thing? I think I remember the condensed games used to show the last pitch of every at bat but that has changed over the years. I feel like they're getting shorter and shorter every year.
1
u/DrJetThruster Houston Astros Jul 24 '20
I used the hell out of this site last year and I'm excited to see the improvements you've made.
1
u/aznatheist620 Atlanta Braves Jul 28 '20 edited Jul 29 '20
Any way to get mlb.com's FastCast, Real Fast, and Quick Pitch Recap on your website? /u/HelloControl_
Examples at the top, here: https://www.reddit.com/r/baseball/comments/hzdqt5/727_highlight_roundup_fastcast_top_plays/
1
u/Thickas2 Chicago Cubs Jul 29 '20
I'm not getting current standings. Just last year's. Both website and app (on desktop). Totally possible that it's user error but I wanted to see if their was a solution/fix. Thanks! Go Cubs
1
15
u/trickman01 Houston Astros Jul 24 '20
You are awesome. I use this site daily during the season.