Introducing Pennant
By Tyler Hillsman
September 2019

I'm thrilled to announce the release of Pennant, an iOS app that shows sports standings at a glance. Whether you enjoy baseball, football, or basketball, Pennant has you covered: showing you the standings and stats for the three largest leagues in North America. (Plenty more sports are coming very soon as well.) View the standings in a high-level visualization that makes it easy to see how the teams in the league progress throughout the season, or dig in deeper to see detailed statistics.

For even more information and more ways to use Pennant, subscribe to Pennant Premium. Available as an in-app purchase, choose your favorite sport for $1.99/year or unlock all current and future sports for only $4.99/yr. Purchasing Pennant Premium removes ads, allows you to save a favorite team in unlocked sports, view your favorite team's stats in a "quick stats" bar on the home view, shows detailed stats for all teams, shows the results of every team's games, displays your favorite team's division standings in a widget in Today view, shows results for previous years (with more years coming soon), allows you to participate in periodic "next feature" polls, and gives you all future Premium features. Additionally, purchasing Pennant Premium supports independent app development, allowing me to spend more time adding features to Pennant.

Pennant is a free download and will be available on Thursday, September 19 for all iOS devices running iOS 13. Download Pennant on the App Store.

Pennant

The history

"Wait a second, I know this app. It's Race to the Pennant.", you say? You're right! Race to the Pennant, a baseball-only app was initially released in March 2013. I wrote it to scratch my own itch, as they say, as a way to keep track of baseball standings visually throughout the season. Over the years, I've rewritten it a few times, added a few features, and continually kept it updated with the current season's standings. Initially a paid app, I switched to the freemium model in 2017.

In the first iteration, Race to the Pennant was written in a proprietary language called WIRE. This served it well at the time, but I learned Swift when Apple announced it in 2014 and rewrote the app. From there, it's been one of my guinea pig apps, a playground where I can explore new technologies that are introduced. Through the years, I've continually iterated on the user interface design (while staying familiar for users), updated the code structure and architecture, changed the business model, built the backend myself, and added extensions like a watch app (more on that in a bit), the Today widget, and more.

What's new

At WWDC this year, Apple announced SwiftUI, a radical new way to write user interface code for their platforms. I immediately saw the appeal and knew that Race to the Pennant was getting a rewrite once again (in the role of my app-development guinea pig). Diving into the code, I started updating it literally the day the new framework was announced. Not only was SwiftUI very fast and flexible, it was also extremely fun. This app isn't the most complex, but it does have a little bit of everything, so I was able to touch many aspects of SwiftUI. This is definitely the topic of another blog post, but count me in on the SwiftUI revolution.

Back to the main thread: throughout the summer, I was on track to having a rewritten Race to the Pennant. But baseball season is winding down. I knew that many users wouldn't be interested in an update especially since their team may be out of the postseason picture (ask me how I know). But football season is in full swing. I once had a football spin-off app, Race to the Playoffs, in the WIRE era. It lasted one season and I thought about resurrecting that. Thinking this was the way forward, I updated my backend to support handling football data.

The next step was standing up a new app account, building out the football app target, coming up with a name (I wasn't in love with "Race to the Playoffs", especially as it didn't scale to the next sport cleanly; naming things is hard), etc. But I had a thought. Why not keep it in the same app, rebrand it more simply (a 2013 app named "Pennant" is long-gone), and put more effort into growing a single, multi-sport app instead of segmenting my time and effort? It's an obvious choice in retrospect, but it took me too long to get there. This decision was made this month.

Pennant is what I settled on: one app with basic sports information for all supported sports for free. In order to commit to a new sport and show the direction of the app (as well as provide additional value for Pennant Premium: All Sports), I added basketball in the days before submitting to the store. This was also an exercise in standing up a new sport, which I have gotten decently quick at.

If you're a current Race to the Pennant customer, you might be wondering if your subscription carries over. Don't worry; it does. The app is the same from Apple's perspective and the previous subscription is now Pennant Premium: Baseball. If you don't want to change anything, nothing will change (except you get basic football and basketball and other future sports for free too). If you want to subscribe to All Sports or an individual one in addition to baseball, go for it. (The app will give you a button to manage your subscriptions and suggest you cancel any individual sports if you purchase All Sports.) Are you one of the amazing people who downloaded Race to the Pennant in its paid-up-front era? Nothing will change for you, either. You're grandfathered in to Pennant Premium: Baseball forever.

What's next

As you may have noticed a couple paragraphs ago, I've been flying the last two weeks. This means there's plenty I haven't gotten to quite yet. Three former features are next on my list to reimplement:

1) Siri Shortcuts - This is my highest priority, especially as iOS 13 makes them even more powerful. This will come in a build very soon after the initial release.

2) Sharing functionality - In Race to the Pennant, shaking your device would take a screenshot and ask you where you'd like to share it. (Did you know that?) Sharing will return shortly, but I'm working on a more elegant and less device-breaky way to do so.

3) Watch app - Race to the Pennant had an app in the Apple Watch app store on day one, but as developing for the watch changed and real-world time constraints shifted, it was dropped a couple years ago. watchOS 6 and SwiftUI makes developing for the watch much more attractive so be looking for that to come back.

From there, I'm definitely planning on adding more sports. No commitments yet, but if it's a large sports league you're thinking of, it's on my list. Additionally, I'm working on backfilling years. In a very near future build, I'll be adding at least one year of historical data for football and basketball to add value to those Premium users.

I have plenty of feature ideas in mind and one perk I'm offering to Premium users is the ability to vote on upcoming features. No poll is currently open, but it will appear in the app for those users when one exists.

One more thing: it wouldn't be a complete rewrite of a full app in a brand new framework without a couple bugs, and I already have a few layout fixes ready to go for the immediate next build. Look for that in a couple days (and hopefully sooner).

Thanks for reading and your interest in Pennant (assuming that's the case since you read this far). Follow @PennantApp for more information and support. For the press kit and more information check out pennantapp.com.