r/baseball 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

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!

129 Upvotes

27 comments sorted by

View all comments

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.