Skip to main content

The Umpire - Baseball's Final Answer

It ain't nothing - until I call it.
- The Umpire 

Odd rule call for LLWS 2016 - dead many bases umpire? - YouTube

My brother was an intramural league referee at App State (that's Appalachian State in NC); that's the most important lesson they taught beginners. So if you were going to start to program a baseball game - where would you start?  At some point, you are going to come to the conclusion that on any given play... anything could happen... that is until the Ump calls the play.  So is this key person part of the object model?

In November Lance Kind & I are going to start on a venture to program a baseball game - in Swift on the iOS Apple platform.  We are going to start with Test Driven Development - Red, Green, Refactor.  The end goal - to have an App to launch in the Apple Store.

I'm not real sure what that App might do... but I trust it will emerge and we will learn quite a lot about the app as we build it.  We have set some other objectives:  to practice TDD, to learn Swift 5+, to use SwiftUI (a declarative GUI), to use and learn the XCTest framework including the UI testing features.  Oh also to learn the Apple App eco-system and deploy to the store and make 10s of dollars.

If you want to join us on this venture - please do... chime in on the comments... join the Twitch TV TDD Acadamy  comment on Twitter, etc.  I will also be blogging on The Swift Dojo.

Tonight I've been thinking about telling the first user story... here's the first draft.

some memorable title...

I want to watch a baseball game in real-time on my phone as my neese is the shortstop at the local school - the Eagles.  They are playing the Bobcats at 5 pm and I cannot make it to the game.  But I'm sure someone there will broadcast the play-by-play events.  I'd like to be able to watch as the roster's scorecard filled its-self out as each play was called.  For example, if there was one out and the right fielder got up to bat and hit into a double play - I'd see something like this: