I’d always enjoyed baseball and cheered for the Kansas City Royals, but it was a pretty passive fandom. As I moved to Kansas City after college, I wanted to pay more attention. I bought a portable radio and listened to games at my corporate job, we bought some ticket packs and attended quite a few games in person. But there’s a lot of games (2430 across all teams in the regular season) and I found myself making Excel spreadsheets to visualize the trends of the AL Central and the MLB as a whole.
That was certainly a nerdy hobby, but it also coincided with the time I was learning to write apps. I’d taken some free classes from a company in town working on a proprietary language called WIRE to write iOS apps and my baseball standings visualization project was a perfect candidate for a mobile app. So I found a data provider, designed my UI, hooked things up, and had an app ready to go before the 2013 MLB season.
I submitted the app, named Race to the Pennant, to the App Store on March 18, 2013, and after a week of waiting (as was the norm at the time), my build was released on the afternoon of March 25, 2013. Anyone with an iOS device and 99 cents could run my app. Users could see a bar chart of the relative position of each team within the league, based on standings. They could tap on a division to see more detailed stats on the divisions’ teams. I even pulled in recent articles about each team from mlb.com. The whole app was overlaid with a texture to make it feel authentically weathered. (Gotta love iOS 6 design.)
Even a decade ago, I routinely listened to tech podcasts, and on an episode of the John Gruber’s The Talk Show (this was the 5by5 Dan Benjamin version of it), he’d mentioned how he likes to be pitched new apps for Daring Fireball via email: short description of the app, relevant links, promo code, and that’s it. I had nothing to lose, so on March 28th, I fired off an email. John’s a noted Yankees fan and I pitched the app with this:
I just listened to the latest The Talk Show and thought I’d sent you this blind app pitch: Race to the Pennant is my latest app that makes it easy to visualize who’s leading the pennant races (probably your Yankees…) and a whole lot more.
I wasn’t expecting a response and never got one via email, and that was that. The app was out there, I could brag about it, and I could benefit from its features myself.
Except…
I was at work on Monday, April 1, 2013. I was recording video at a campus of the company’s that I didn’t typically work at. It was Opening Day - the first game of the year had been played the night before and I got to see my app in action with data less than a day old - and I was undoubtedly looking forward to the Royals’ game. Then things changed. I got a message or two, which quickly turned into a flood.
John had linked to Race to the Pennant with this caption:
Great new iOS app for opening day.
I was stunned. From there, I had messages on Twitter, app reviews (some positive, some with quite valid feedback), and I was contacted by a reporter who wrote up an article. Suddenly I had more than a handful of users. The app became the top paid sports app in the store.
One of the primary feedback items from users was that standings only updated once per day, in the early morning, which is how my data provider worked. I agreed that standings should be much more real-time. So I spun up a SQL database and spent a couple weeks teaching myself PHP to build my own API.
Over the course of the summer, I pushed out incremental improvements. I also created a short-lived spin-off app, Race to the Playoffs, for the NFL season. Looking back, I had 2440 downloads of Race to the Pennant over the course of 2013. Race to the Playoffs had a whopping 194.
Summer 2013 was a turning point in iOS history when the original skeuomorphism was retired in favor of the flat, minimalistic design of iOS 7. My primary task for the offseason was to redesign Race to the Pennant to match. Still using WIRE, I rewrote the app, mostly from scratch, without the “worn” texture I had in place at first. I dropped the serifs off my text and smoothed out my pennant logo. I also began displaying game results in the app in addition to the tabulated standings and stats.
That year was a good one for my baseball fandom, as the Royals had a miracle run through the postseason and took the World Series to seven games. Tapping into that drama and good feeling, a friend at a news station featured me and Race to the Pennant as well.
In 2014, yet another change hit the iOS world when Swift was introduced. It looked substantially more approachable than the Objective-C I’d lightly dabbled with, opting to build in WIRE, which was more tailored for web-developer happiness. I dove into Swift and devoured any documentation, tutorials, or videos I could find over the summer and fall of 2014. And the best way for me to learn is to try to build something. I set off trying to recreate Race to the Pennant in Apple’s new native language. It went well, and by Opening Day 2015, I had yet another rewrite in the store.
The 2015 version had some changes under the hood, using Parse as a datastore instead of my homemade API (I still processed stats and standings from game results manually, but stored all the output data in Parse). I also grew beyond just the app window: I added a Today extension and an Apple Watch app. The watch extension was in the store on day one (despite my own Apple Watch not arriving until a month and a half later).
In 2016, after Facebook announced Parse was shutting down, I moved to a self-hosted Parse Server instance for my data. And because the only constant for Pennant is change, I rewrote it from the ground up, once again.
In 2017, the biggest change was to the business model. Pennant had been a paid-upfront app from the beginning. Originally it was 99 cents, but I increased it to $1.99 after a year or two. A combination of market trends, additional in-app purchase capabilities, and the realization that the app had some continual costs led me to trying out a subscription model. For the first time, Pennant and its basic functionality were free for users. Free users saw ads, while upgraded users had no ads, could set a favorite team, see game scores, and view data from previous years. Additionally, users had the option to see a quick view of their favorite team’s standings and most recent game from the home feed. I also supported the 3D Touch functionality of iPhones of the time to “peek” at division or team views before “pop”-ing to them with a harder press of a finger.
In this version, I dusted off my SQL tables and PHP and got rid of Parse data storage completely, running an API fully in-house. A lot of underlying work was done to move some baseball-specific assumptions from the frontend of the app to the backend of the API, laying the groundwork to support sports other than baseball.
In 2018, there wasn’t a lot new at the beginning of the season, but after Siri Shortcuts were released in the fall, I added the new feature to Race to the Pennant. This also necessitated a new design for the team view. This release marked the first larger release matching up with new iOS versions in September/October instead of revamping the app around the beginning of the baseball season in March/April.
After a minor bump to support the new season in the spring of 2019 (by this time, it was down to changing a number in the app to support a new year), the app changed substantially. In June, Apple introduced SwiftUI and beginning the day it was announced at WWDC, I rewrote the app using this new framework. Recreating the UI was extremely straightforward and fun, and I took the time to make the biggest changes to the app yet: I added other sports (initially NFL and NBA, NHL and MLS soon followed), and simplified the name to Pennant. Users could use the app in a limited way for free, unlock individual sports, or unlock everything via subscription. Additionally, dark mode was supported from release and Apple even included Pennant in a featured category about it.
Over the course of the fall and summer of 2020, I started on the largest visual change to Pennant. Combining the glanceability of the quick stats bar at the bottom and the capabilities of SwiftUI, I thought about how I could let the user select “widgets” of different data and build a customizable home screen with the teams and data they care about. I like the Royals and the Chiefs and Sporting KC, so I wanted to see where they all stood at a glance. I began putting together types of “widgets” with league, division, or team standings and built out the backend to support it. Apple threw me a curveball at WWDC when they announced actual home screen widgets that apps could supply and users could place among their apps. These had to be written in SwiftUI, and my UI was, so it was extremely straightforward to adapt them.
I released Pennant version 10.0 in September 2020 with the ability to build your “My Pennant” view, as well as view the classic league standings charts, and the ability to put the same visualizations directly on your home screen. This was definitely the most ambitious and substantive update yet and it allowed users to build their experience as they’d like, instead of viewing the same screens as anyone else. I also removed ads for free users as part of this release and updated the feature gate to include an unlimited amount of My Pennant blocks (instead of two), use all types of visualizations on the Home Screen widgets (instead of just a league view), see game results, view previous years’ data, and set alternate app icons.
Through 2021 and 2022, I added some fun alternate app icons, Shortcut support (with proactive suggestions in Spotlight), exporting images of My Pennant blocks, and completely backend-driven configuration, which means I don’t have to submit new builds in advance of new seasons. Additionally, I did a ton of improvements to the backend to increase performance and reduce load on my server. At this point, there is no database querying when a request is made from the app and data is coming from static files that my behind-the-scenes tooling is creating.
Which brings us to today, the tenth anniversary of John Gruber’s post on Daring Fireball mentioning my app. It’s been a wild ride, and it’s far from over. I’m about 80% of the way through with yet another leap forward for Pennant, leaning into the customization and configurability of the app. (My goal was to have it completed as an anniversary release, alas.)
There are very few things that I’ve done for ten years. Pennant’s older than both of my kids, it’s lived longer than any of my jobs (I’ve had six during the time I’ve worked on this app), I’ve lived in two different houses in its lifetime… It’s a great playground to try new things (as you can see by its numerous rewrites), and it’s generally useful for me, fulfilling my original goal for it. I can’t wait to see what it looks like in another ten years. (Probably running on mixed-reality glasses, written in SwiftUI version 14 with an AI-generated visual of the current standings of the World Hoverball League.) I guess we’ll see!
]]>This is where I was last weekend. I had an idea for a silly little app that was an experiment with what was possible for the new iOS 14 widget system. Could I create a widget-only interface for an app? Something that provided the user with a blank slate, where tapping on it launched a single-purpose app view, and where completing their task closed the app and put them right back where they were? Sure. I had it whipped up in a night or two (and then spent a couple nights banging on a bug/system limitation before coming up with a workaround). I called it Sticky Widgets. As always, the goal’s to get it in the store, so I submitted it, got rejected for limited functionality (which I knew was a very likely outcome), added a bit more, and was approved.
Great. Mission accomplished. I’d tweet about it and turn my attention back to my substantial post-iOS 14 launch Pennant to-do list, so I did. But then something happened. People… liked it? It was more than a novelty and it was useful? Of course the goal is to always make a useful app and I did see the potential in it, but the primary goal was playing with the new widget technology and doing something with the single-serve interface I hadn’t really seen done before. But the retweets and likes and replies kept coming and before I knew it, I had a substantial userbase, essentially from one Twitter thread. It was covered in articles from places that I love like MacStories, 9to5Mac, and The Loop. It was discussed on Connected (which is still a little surreal). Rene Ritchie retweeted it.
So… I made Sticky Widgets. A totally free, very lightweight little thing that lets you put “sticky notes” on your home screen.https://t.co/iq6HATuClg pic.twitter.com/jpxsbtGDEk
— Tyler Hillsman (@thillsman) September 28, 2020
I was in shock. This wasn’t an app launch. I didn’t have a website or a dedicated Twitter account or a press kit or an App Store promotion form submission. This was me throwing up my fun experiment to show some friends. But once the train leaves the station, you’ve just got to hold on.
So that’s what I did. In the first version, I didn’t have an in-app purchase, planning on adding that eventually. Well, “eventually” was later on Monday. Also, when you have users, you get feedback. So I spent the week adding features, fixing bugs, and improving things. As of tonight, Sunday night, I’ve shipped seven update builds. My cadence will slow down as I add bigger things, but what was a toy hobby app, has graduated quite rapidly, even surpassing Pennant - my seven year-old “primary” side app.
I’m extremely aware that widgets are hot right now and this is going to be a fad. I’m sure my highest-download day is already behind me, but I’m trying to make this peak as high and as long as I can.
With any normal app launch, I would have written this blog post when I released it. But this week has been anything but normal.
If you haven’t already, check out Sticky Widgets on the App Store. Questions or comments? Tweet to @StickyWidgets.
]]>In recent years, users have been able to select a favorite team (per sport, once expanding to multiple sports last year) and see a bit of detail for that team from the home screen of the app. What if a user could select multiple teams? Or multiple sports? Or display different types of data? All in one customizable screen? This seemed to be an idea, so I started building out some proofs of concept and planning out what the backend would need to provide to support such a feature. Fortunately SwiftUI makes prototyping and playing with custom UI elements really straightforward. I had a plan and some “widgets” in mind and started working toward this new idea in the early summer.
In June, Apple held WWDC and introduced a fairly amazing new system feature in the form of widgets. This, I thought, played extremely well with what I was planning on bringing to the app itself, but it also had the potential to reuse this UI and data in a system widget (or many), giving users the ability to add completely customized team stats and standings data directly to their home screen. Though I was still deep in building the in-app functionality, I transitioned to embedding the same content in system widgets as quickly as possible. This is what I’ve been working on consistently for the last few weeks.
Today, I’m excited to announce that this version of Pennant, version 10.0, is now live on the App Store. Primary new features include:
Pennant Premium has been revamped a little: while it’s still possible to subscribe to one sport, the All Sports version gives you the best set of features, specifically all previous features but with the ability to add an unlimited number of blocks on the My Pennant view and use any type of block as a system widget. (Non-Premium users can add two blocks in the app and the standard league standings view for the current year as a system widget.) I’ve hidden the older one-sport subscription and will revamp the upgrade view in the coming versions to emphasize why Pennant Premium (All Sports) is the best option.
Additionally, the backend changes needed to support the new views also have a benefit of substantially improving performance and flexibility for all the views in the app. I also have a lot more in the works: better Shortcuts support, adding new sports and leagues, many new widget/customizable block styles, an Apple Watch app, and more. We’re just getting started and this big leap is just the first step to the future of Pennant.
Pennant is available to download today for free. Please consider subscribing to Pennant Premium to show your support and make the most of the app.
]]>One small casualty of a virtual-only WWDC is not meeting up with others in the community and exchanging stickers promoting each others’ apps. (I’ve been fortunate enough to meet Casey, Curtis, James, Jelly, Joe, Jordan, Gui, and more in the past.)
This year, prompted by Becky’s brilliant idea, a group of independent app developers joined together to offer a combined sticker pack. (I’d like to think I was an early volunteer.) Organized brilliantly by Sam and Nathan, the effort quickly caught on and more than 80 indie developers joined.
I’m thrilled that Pennant is included in the sticker pack (my first merchandising of any kind!), so you know I’m buying a couple sets.
Proceeds are being split between WHO’s COVID-19 Solidity Response Fund and the Equal Justice Initiative. The sticker pack is available starting today at indiestickerpack.com.
Also, check out this amazing promo video Charlie made:
]]>Here are my top three fiction books I read this year:
This Tender Land - William Kent Krueger
I’m not exactly sure why I liked this book so much, but it was one that I didn’t want to read quickly. It’s a Odyssean tale set during the Depression. It’s part Huck Finn, part O Brother Where Art Thou, and completely different from anything else I’ve read lately.
I’m a sucker for time-travel and the like and this was a good mind-bendy one with alternate timelines galore. I really want to read the Crouch’s other books, which I’ve also heard good things about.
Daisy Jones & The Six - Taylor Jenkins Reid
This one is on all the best-of lists and I snuck it in during the last week of the year. It’s such a well-written oral history of a fictional 70s rock band that it makes you wish it wasn’t fictional.
Here are my top three nonfiction books I read this year:
The Life and Afterlife of Harry Houdini - Joe Posnanski
Joe Posnanski is one of my favorite sportswriters (though he doesn’t only stick to sports) and he writes this Houdini biography like sports columns, adding a few more angles than just a birth-to-death biography. I grew up interested in Houdini, so the topic and Posnanski’s writing was a delight.
American Moonshot: John F. Kennedy and the Great Space Race - Douglas Brinkley
I stumbled across this one shortly after it was released. I expected it to be about the Mercury, Gemini, and Apollo space programs, but it was actually much more focused on the pre-Mercury beginnings (and Kennedy’s rationale for launching the programs). It’s a fascinating take on a less-explored time.
Because Internet: Understanding the New Rules of Language - Gretchen McCulloch
This is a completely different book that could be (should be?) a textbook. It covers how the internet has led to changes in how we communicate. McCulloch identifies, documents, and explains the slang, memes, emoji use, and changes in vocabulary that have come about because of our relatively new interconnectedness.
Here are the other books I read this year:
Because I’ve been listing what I’ve read since 2007, I realized I should look back over the 155 books I read in the last 10 years and try to identify my top books of the decade. Here’s what I’d lean toward, though my favorites could change by the day.
Fiction:
Nonfiction:
On to the next decade and even more books!
]]>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.
“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.
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.
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.
]]>I first heard of Hamilton the way I hear of all things: Twitter, probably. First with vague, casual mentions that a “hip-hop” retelling of the founding father’s life story existed, and then with more excitement - a “have you heard how good the album is?” vibe. Of course I’d heard about Alexander Hamilton; the original Got Milk commercial was a staple of pop culture for a minute or two, and my history-loving self had always thought the idea of a founding father being killed by a sitting Vice President was a historical curiosity. The world being as it is, with every song at one’s fingertips, I fired up Apple Music and gave it a listen.
The album starts off with a catchy intro that immediately got me hooked. From there, the music changes styles a bit, but every song is as good as or better than the last. When I started listening, I didn’t have time for a full listen-through, so I caught the first 3 or 4 songs a few times before continuing. When I did continue, I was somewhat amazed that I could follow the plot (I didn’t know at the time that every spoken word except one small scene is part of the cast album). Once I realized this, I had a musical audiobook in my ears. I had started listening for the music. I kept listening for the plot. And, despite what I thought I knew about Alexander and friends, every piece kept me turning the rhetorical pages of the story.
It wasn’t long before I was hooked. If you’ve somehow avoided listening to the album, I’m not going to spoil it, but the show goes much deeper than “Burr shoots Hamilton”. It’s about legacy and family and prioritizing what’s important and professional stress and ambition and biding your time versus just going for it. It’s got incredible songs in every flavor: inspirational (My Shot), clever (Farmer Refuted), funny (the King George songs), powerful (Satisfied), lullaby (Dear Theodosia), jazzy (What’d I Miss), rap battles, tear-jerking (It’s Quiet Uptown), plus many, many more. I’ve never been able to name a favorite song, and I almost always just listen chronologically. The lyrics are genius with layers upon layers of meaning and pop culture homages and recursive references. Every new listen for months yielded some new discovery, and then I came across Lin’s comments on Genius lyrics and the Hamiltome and the Pod4Ham podcast and discovered even more. (I also read Chernow’s biography that inspired the show. It’s a well-written book, as you’d expect.)
I’ve never considered myself a “musical” kind of person. I hadn’t ever seen a real Broadway show (excepting The Lion King in London in 2014) and didn’t know anything at all about Les Miserables before seeing the movie a few years ago. I performed in one play in high school, Annie, just because it was a thing people did in my small town. I didn’t speak the jargon or get the references. I’d never listed to a cast album. But, looking back on it: I’d often watch The Sound of Music, Oklahoma, or The Music Man when visiting my grandparents’ house. I did have a class in college that introduced me to Hair and Into The Woods. And of course I grew up right in the middle of the Disney renaissance, practically memorizing The Little Mermaid, Beauty and the Beast, Aladdin, and The Lion King. So I guess there was a foundation there. Still, the way Hamilton took over my listening habits caught me by surprise. (I’ve since followed Lin to Moana and jumped to Pasek and Paul’s The Greatest Showman and Dear Evan Hansen, all great.)
After fully immersing myself in the album, the next logical step was to see the show. I spent more time than I’d like to admit searching Stubhub for tickets and Kayak for flights to New York. With a young daughter (and then a new baby), I knew it likely wouldn’t happen for a while. But then the stars aligned. We’d discussed a trip to Chicago, discovered my parents were doing the same, and lined up our schedules. We had babysitters and a trip booked for the nearest Hamilton-showing city.
Let me pause to mention one of the best pieces of writing I’ve ever read. It was early in my album-listening era that I also read Joe Posnanski’s story about taking his daughter to see Hamilton. Joe is a brilliant sportswriter, but this story is about his family, his daughter, her love of Hamilton, and their special occasion seeing the show on Broadway. Maybe it’s the sappy new-father in me, maybe it’s because I can relate with both Joe and Elizabeth in parts, or maybe because it’s just great writing, but I still can’t make it through without smiling and tearing up a bit.
Last summer, we set off on a train for Chicago. The trip was great and included a side trip to Milwaukee for a Royals/Brewers game, but on our last night in Chicago - a year ago today - Lori and I went to the theater, took our seats just before curtain, and watched as Hamilton took the stage in front of us. I’d been listening to the songs for two years, but it’s a whole different experience to see it in front of you. The subtle things - King George’s fourth-wall-breaking, Burr’s sarcastic tone after “you’re a better lawyer than me”, the incredible use of the turntable on stage, how (a now dead) Hamilton appears during the finale song, a million more - were incredibly well executed and provided even more layers on the lyrics and music I’d become accustomed to. The choreography and staging - what you see - are so well matched with what you hear, that it’s just another layer on the cake. Had I not been introduced to the music previously, I’m sure I would’ve felt overwhelmed by the sum of the experience. Watching the audience, as Posnanski describes, was amazing too: everyone wanted to be there more than anything.
My immediate reaction after seeing the show was “wow, I can’t wait to see it again”. As I mentioned, the lyrics have layers you don’t recognize the first time around, and I’ve heard the same about seeing the show. Fortunately, it had been announced that one of the tours was coming to Kansas City. It seems like it took forever, but it’s here and we have tickets for a show next week. I can’t wait to be in the room where it happens once again.
]]>Each month, you get to choose from five different selections. Each includes a summary, an editor’s blurb, and an excerpt. (I rarely read the excerpts, saving that experience for when the book is in my hand.) While you can pick as many as you’d like, I’ve stuck with one book per month, because I know my reading pace and amount of free time. The selections are available on the first of every month (and occasionally a day or two before, so I’m always checking the last few days of the month). The only downside is the lethargic pace of BOTM’s shipping service, which provides me with a week or so of anticipation and shipment tracking.
The selections skew heavily toward fiction; i’ve only see a few nonfiction or memoirs. I tend to enjoy a good twist, so my picks are often mysteries, but I’m open to all genres and knowing that a selection should be high-quality gives some confidence to try something different.
Here are the books I picked over the past year. I’ve enjoyed all of them, really enjoyed many of them, and only knew about a few authors or books before choosing them.
All are fiction except the Sedaris book, which was his typical well-written life snapshots. The Oracle Year and An Absolutely Remarkable Thing are both “something crazy happened to me, watch what happens next”. Both The Perfect Mother and The Last Time I Lied both had “holy cow” twists that immediately had me rereading pages. The Philosopher’s Flight was an alternate history fantasy with a rich universe reminiscent of Harry Potter and the like. The Chalk Man, Sweet Little Lies, and For Better And Worse are all crime thrillers, all told from unique perspectives. The Woman In The Window also qualifies, but with a trippy-feeling unreliable narrator that reminds me of The Girl On The Train. November Road is a historical fiction based loosely around the Kennedy assassination (though not to the extent of the fantastic 11/22/63). The Last Equation of Isaac Severy is a crazy-family whodunnit-type mystery.
I’d recommend all of them, though it greatly depends on what you like. I’ve finished each book, generally within a month. Some a little longer, some with a week of so (heavily dependent on free time. This year I also read:
If you need a last minute gift idea, Book of the Month is a pretty solid one. If you use my referral code when you sign up, you can get a free book: so sign up here.
]]>In iOS 12, Apple introduced the concept of Siri Shortcuts: quick actions within an app that can be triggered from outside the app. (There are many great explanations of what Shortcuts are and what they can do, and I highly recommend Federico Viticci’s overview.) Adding Shortcut support to Race to the Pennant was a logical next feature.
In Race to the Pennant 7.1, you have the ability to add your favorite team (or any team) to Siri with the new “Add To Siri” button on the all new team view. Tapping that button will present the system-wide voice shortcut screen, allowing you to customize your phrase (“Go Royals!” or “Royals standings” or simply “Royals” or something much more creative). And then you’re done.
At this point, you can activate Siri from anywhere and trigger your assigned phrase. Siri will tell you the standings information for your team and - if you’re using your iPhone - show you a custom view with the team’s stats and standings bars representing the teams in the division.
Race to the Pennant’s Siri Shortcuts should work on Apple Watch, HomePod, within the new Shortcuts app, and may be proactively suggested by Siri in search or on the lock screen as well. And if you forget your Siri phrase, you’ll be able to see what it is (and change or delete it) from the team page.
In order to better support the shortcut feature, Race to the Pennant 7.1 also introduces a team-specific view. Previously the home views showed standings across the leagues and a detail view showed standings for a division, but there was no single home for a single team. That changes with this version.
Now your favorite team quick stats on the home view launches directly to the team specific page. And all the detailed stats for each team live there, just like game results.
Building out the functionality for the shortcut feature also necessitated reworking some of the logic of the app. However, this will make building new features quicker and easier. No promises, but this could usher in the return of the Apple Watch app. It might even simplify the process of adding new sports…
Additionally, the introduction of the team view provides a new home for potential future team-based features. Watch this space.
Thanks, as always, for supporting Race to the Pennant. I hope you find these new features useful.
]]>This phone is a very impressive piece of hardware to hold. I was immediately struck by the heft of it compared to the iPhone 7 I’d been using for a year. It’s decently heavier and slightly bigger in every dimension, but the increase in physical size is emphasized by the glass and steel. The 7 is analogous to the Apple Watch Sport and the X is the stainless steel model. It feels solid, polished, and classy in a way that the 7 can’t quite achieve. Now when I hold my wife’s iPhone 7 it feels too light, like a toy.
I have always been a white Apple device guy, growing up with iMacs and iPods from the beginning. Apple was white when everyone else was beige or gray. However, after seeing the Jet Black iPhone 7 last year in person (after purchasing white/silver), I had convinced myself to change in the next year. I reversed course when I saw the X though. The “silver” back of the phone is gorgeous. The stainless steel band harkens back to the original iPhone (and iPod). But the killer feature is the black face. With the OLED screen, blacks are ridiculous and putting a white bezel next to it would be a huge disservice. In my silver model, I get the beauty of the silver back with the seamless transition of device to screen on the front.
Speaking of the display: holy cow. I know there are downsides to OLED, but - whether it’s optimism, lack of time, or Apple’s enhancements - I haven’t seen them. The colors are fantastic but the pure black steals the show. Apps with a pure black background look beautiful. Content doesn’t seem to fit in a box; it just is. Other apps look great too, but the lack of a boundary between screen and phone is addictive to look at. The super high resolution is just too good to think about. There are effectively no pixels; text and images just are.
In the tall display of the iPhone X, we get more to look at. I have always wanted the real estate of the Plus phones, but the portability and usability of the regular sizes. The X basically provides that. Today’s apps are generally very good at scaling vertically (usually by providing more visible content), and the extra horizontal space that the Pluses provide isn’t much missed. The additional height, plus the behavior of underlapping the home indicator and status bar allows the user to see many more tweets, emails, news stories, and more web content, without requiring the width that the Pluses do.
Let’s talk about the notch. I honestly don’t notice it. The screen is tall enough that my eyes look at the area in the middle 80% of the phone, where content generally appears. I don’t feel like the notch gives me less space; I feel like the “ears” provide more. In general, the user can consider the ears and notch the status bar. Did you get upset about 20 points of space dedicated to status information before the X came along? Now your non-notch space is much bigger and some apps make meaningful use of the ear space. (Plenty don’t and that’s just fine too.) The rounded corners and the home indicator space follow the same logic: they’re far enough out that they don’t impede content viewing (well-designed app caveat here), but the ability of the backgrounds and nearly-offscreen tableview cells to stretch to the edge makes everything feel more immersive.
The home button played a crucial role on the iPhone from the beginning. It was the escape hatch. When nothing else worked, it would get you to a familiar place. This is all the same on the X, with one difference: the gesture. Instead of clicking on a physical or virtual button, you swipe up from the bottom. I find this to be an easier action. Your thumb doesn’t have to hit a relatively small circle; instead it can sloppily slide from a physical point (the edge of the device) up an inch. After an hour or two of use, my muscle memory remapped and I don’t think about the button much at all. When I do it seems a little clunky. (The only place I find myself reaching for the phantom home button is when taking screenshots. I’ve taken so many, I’m still reworking the gestures in my head.)
Related to the new home gesture is the moving of the Control Center. Swiping down from the right side of the status bar makes semantic sense (you’re interacting with system status icons) but the location is a bit of a stretch for a right-handed user like me. It’s ok and I know why they had to put its there, but I wish it were a little easier to get to.
Touch ID was a perfect technology. It succeeded almost all of the time. It got the world to set a passcode on their phones. It set the standard for biometric authentication. But Face ID is a perfect experience. The key is to don’t think about it at all. You set it up (much easier than Touch ID’s onboarding) and ignore it. Need to unlock your phone? Pick it up and swipe up. Need to pay with Apple Pay? Look at your phone, double click the side button, set it down to pay. Need to autofill a password? Tap on the username/email you want. In all of these scenarios, this phone is doing a ton of work, looking at you to make sure you are who you should be to allow these actions to take place. But in all these scenarios, you should just look at your phone.
With Face ID, the phone knows when you’re looking at it, freeing it up to do a bunch of clever things. Notification previews are hidden until you look at the phone. Your alarm quiets down when the phone knows you’re looking at it. This contextual awareness is the next step in making your phone more secure and convenient.
In my experience, there have been no unexplained Face ID failures. My face hasn’t changed drastically over a week, but it handles me with glasses as well as without. Darkness doesn’t matter since it doesn’t even use the camera (it relies on infrared instead). The only gotchas are when you’re covering up your face because it’s so magical you forget what it’s doing or if the phone is flat on a desk, looking at your face at a pretty steep angle. A dock or a stand seems like it would be a good idea if the latter situation seems too annoying. Additionally - and most frustratingly - the phone isn’t a fan of smushed-into-pillow faces. It’s often unsuccessful when my face is on a pillow, unless I roll to an upward-facing position. This is the occasion where I most often fall back to using the PIN.
The single biggest personal reason for me to get the X was its cameras. For a year, I’ve seen Portrait Mode photos from my Plus Club friends and looked at my regular-sized 7 in disillusionment. Not only that, but the ability to switch to a tighter shot with a different lens is often extremely desirable. With the X, I am lacking no longer.
Portrait Mode isn’t perfect, but it’s often very good. It makes photos taken on my phone look nearly as good as those shot with my SLR and a decent lens. The most amazing thing is that all the data is stored and editable at the later time. Focos is an early contender for most-impressive third-party app in this regard. It allows you to visualize and edit where the depth effect is applied. While the iOS camera may blur one person in a two-person selfie, that can easily be fixed after the fact.
The 2x lens is just as useful as I’d hoped. The rule of fixed length lenses is to move yourself to zoom, but in reality you often don’t have that ability. Now I can get tighter shots (at the same high quality) when I’m unable to get closer to the subject.
One final advantage of the camera on the X is the optical image stabilization. While it doesn’t feel like I take a lot of video, I know that’s not the truth. I take 3 seconds of video with every Live Photo, which is essentially every photo I take. (Live Photos aren’t taken when in Portrait Mode. I guess we can’t have everything.)
This is one bit that I can’t comment much (or any) about. I have yet to try the Qi charging capability, although I do have a couple chargers on my Christmas/birthday list. In theory, it seems like a great idea: plugging in a phone is not hard, but it’s one bit of user experience friction that we encounter all the time. Especially at a desk job where my phone is on my desk 90% of the time (but where I still often get up and move around), it would be fantastic to just sit my phone down and pick it up more charged that before. One of my favorite things about AirPods is their similarly “invisible” charging, where just by putting them away they get charged. Wouldn’t it be great if just by sitting my phone down, it gets charged?
One of the more quirky and less practical iPhone X features is the introduction of Animoji. While they’re not going to save the world, they’re fun and technically impressive. They pick up on pretty minute eyebrow movements, mouth bends and eye squints. It’s amazing how well they mirror faces and in real time. I’m a little shocked that Apple’s only stuck with 12 emoji (and not rolled out seasonal ones like Santa Claus), but I guess it’s still a feature in its infancy. My two-year-old daughter loves them, and I agree that they are silly and fun.
It would be remiss to not mention the price of this “$1000 iPhone”. This is certainly a valid concern and limiting factor. The monthly price of the base-level X is $50. The base-level iPhone 8 is $35. It definitely is a pricey device, but it is fairly impressive that you can get such a crazy bit of technology for less than a couple dollars per day. Are the iPhone X features a must-have for everyone (compared to the 8)? No. Is it worth the difference to me? Yes.
In the iPhone X, Apple’s put some incredible features in a very impressive package. With its gorgeous display, effortless Face ID, and powerful cameras, this phone is fun and useful. It really feels like the future is already here.
]]>