Welcome to the 3rd installment our pinball community spotlight series, where we interview the operators, builders, tournament organizers, and business owners that make the pinball world go ‘round.
In our first edition, we caught up with Brian O’Neill of Scorbit.
In the second edition, we talked with Andreas Haugstrup Pedersen of Match Play
We’re excited to talk today with Ed Giardina, a long-time competitive pinball player, tournament organizer, and developer of the official IFPA mobile application (available for iOS and Android devices). Ed built the first edition of the app back in 2018 and recently overhauled the app for its 3.0.0 release, including a complete migration of the codebase from Xamarin Forms to .NET MAUI.
Ed was already an experienced software developer when he first decided to create the IFPA app. However, it should be noted that through the process of building the app, Ed was able to learn enough skills to help him transition to professional roles that focused entirely on building mobile applications. Impressive!
Besides building the IFPA app, Ed has also created an IFPA Companion Discord Bot, as well as several other pinball-focused projects.
Kineticist: What’s your pinball origin story?
Ed: I played pinball at arcades as a kid. I grew up in Tewksbury, Massachusetts, and there were two arcades in town. The excellent Grand Prix arcade was attached to an F1-style kart track and had all the latest Williams pinball machines as soon as they came out. I lost track of pinball when I went to college but got reintroduced in 2012 when the iPad launched, and Pinball Arcade reminded me of all the great games I used to play. That had me visiting Lanes & Games [in Cambridge, MA] and playing pinball there. Next thing you know, I buy a Super Mario Brothers pinball off Craigslist. Then I accidentally meet Bowen [Kerins] and NEPL [New England Pinball League] players at L&G and the rest is history.
Kineticist: You launched the initial version of the IFPA app back in 2018 – can you talk a bit about the app’s origin story – why did you want to build it? What were you hoping to achieve with the build?
Ed: The app started over winter break in 2018. My former job had a “shutdown,” and everyone had the week between Christmas and New Year’s off. I had seen some Xamarin Forms demos that really appealed to me. The IFPA website has always been hard to use on mobile, and no app existed on iOS. I wanted to see if I could put an app in the store and make something that’s useful for WPPR-obsessed people like myself.
Kineticist: Why the need for a 3.0 release? For the layperson, what was the impetus to switch from Xamarin Forms to .NET MAUI? Did you consider any other new frameworks, or was it always going to be .NET MAUI?
Ed: There wasn’t an imperative reason for the new version, strictly speaking. Likely the IFPA app would have continued working fine for the next 6-12 months without updates. In the latest version of iOS, some Xamarin Forms features did break and need to be patched with the latest iOS version (16). But none of those features that broke were used in the current IFPA app.
The reason I pursued the update was multifaceted: I wanted to stay up to date on what Microsoft was doing, and I wanted to put the app on the preferred release path (Xamarin Forms, the old tech, is no longer receiving active maintenance releases with any regularity). Unlike web apps which tend to work the same no matter what version of Chrome you’re on, mobile apps change their underlying frameworks and operating systems regularly, and the corresponding app frameworks like Xamarin Forms/MAUI, Flutter, etc, all respond to those changes with their own releases.
An unmaintained app will eventually not work or look right if it doesn’t receive regular releases. I did consider other frameworks but the .NET MAUI path was the one of least resistance. It did not require reauthoring all views and view models. While there were a LOT of subtle differences, the fundamentals were the same. Still, it took six months of part time work to get the app migrated and work out the missing pieces. During this time, I filed 20 bugs with the .NET MAUI team (each bug must be accompanied by a reproduction project, which itself can be time-consuming to build).
Kineticist: This is a little bit of a leading question – but can you talk a little bit about the backend/data structures of the app? How are you integrating and displaying the IFPA’s data?
Ed: The answer is there is no backend. At least not that I manage. The entire data source comes from the IFPA API. Most of the things like notifications and preferences are stored on-device. There’s also intentionally no logging. While that makes it harder to track down errors, I did not own the IP for IFPA and therefore did not want to take the risk of GDPR compliance or other data collection. Also, I thought the community would appreciate one less app collecting data about them or their usage.
Kineticist: The app seems to largely be an effort driven by you with input from the competitive pinball community. However, we know that the IFPA team is also behind the scenes, providing support as you need it. Can you talk about what it’s like working with the IFPA team and how they’ve supported your efforts?
Ed: Everyone at the IFPA has been great. I’ve only really worked with Josh Sharpe and Brian Shepherd. Both have been supportive of the app. Brian especially has implemented features specific to the app. He helped debug a nasty certificate issue that took out Android usage for a while. I’m grateful for all they do in making the WPPR machine work because without it, there’d be no app.
Kineticist: You’ve made the codebase open-source (and the app is 100% free). Can you talk a little bit about that decision-making process?
Ed: The goal was always to build something free for the community. I would not have stuck IFPA’s logo and asked for their support if the plan was to keep it closed and stick ads in the platform. Making the code open source was just an extension of that ethos. It means that if I can no longer maintain the project, someone else could step up and take it over.
It does benefit me somewhat as well. Opening the source means those who’d want to work with me can see a successful project I’ve launched. While no one else has contributed yet to the project (except for the bug reporting, which is very valuable!) I hope that possibility is still out there and someone finds time to try contributing.
Kineticist: There’s something very unique about the pinball community that you and this project are very much a part of – which is this ethos of building things that other people can use and that benefit the community in ways beyond the primary user use case. What is it about pinball specifically, or maybe just the group of people that builds for pinball (like Scorbit, Match Play, Pinball Map, and others) that leads to this kind of culture?
Ed: Pinball was, I think, and still is, a niche thing. In the 90s, video games were kings of the arcade, but there were definitely kids like all of us who preferred pinball. It’s no surprise that the people still into pinball or gravitating towards it now are nerdy, technical people. Software Development can be a creative pursuit, and scratching your own itch by building a tool the pinball community can use is very rewarding. I think it’s a trend happening all over pinball, for sure, and the industry is noticing and scooping up the creative, passionate people. Stern has hired so many people who are active in pinball and building experiences around it, for instance.
Kineticist: For anyone who reads this and may be interested in building something new for the pinball community, what advice would you give them? Where would you recommend they go for help or input?
Ed: Start small, and don’t be afraid of not knowing. My first version of the app was the most basic, two-screen display. I took that first step, though, and the feedback and ability to get something into people’s hands was self-reinforcing.
Kineticist: Can you talk about some of the challenges you’ve encountered in building and supporting the app over the last few years?
Ed: Finding time to work on the app has definitely been challenging. Also, because the Android ecosystem is very fragmented, chasing down and debugging issues specific to Android users. Some of the other sticky points revolve around not owning the data or API and not being able to quickly fix issues there. IFPA has been responsive, but still, the disconnect between the API and the app means resolving issues and building features can be difficult.
Kineticist: Has anything been easier or more enjoyable than you thought it might be in the process of building or supporting the app?
Ed: Asking for feedback has been a joy. Everyone on Tilt Forums is amazing.
Kineticist: What is currently on your roadmap for the app? Any new features you’d like to add or major bugs you’re trying to fix?
Ed: My number one improvement would be a visual overhaul. Right now, the app is very basic. I modeled it after the Mail app on the iPhone. Simple interface, no colors, substance first. But some of my favorite apps are the ones that are just plain attractive. My goal would be to have a more usable and beautiful app.
Kineticist: Is there anything the pinball community can do to help you with your projects?
Ed: Let me know on Tilt Forums if there are issues! A lot of the time, a user will leave a negative review, but because I haven’t checked on Android’s Play Store that week, I don’t know about it.
Kineticist: Let’s talk competitive pinball quickly before wrapping up. You’ve been a tournament player for some time. What draws you to the scene? What do you enjoy about competitive pinball that maybe makes it unique from other forms of competitive gaming?
Ed: The chance to improve. Pinball tournaments, the WPPR system, even putting your initials in; there’s always the ability to do better. I think moving up the WPPRs, earning that hard-to-get [Stern] Insider achievement, or putting your initials in, are all rewarding experiences. As far as what sets it apart, well, I often think about video game speedrunning, which is a lot of fun to watch and has a big community around it. Speedrunning is great, but there’s only ever one strategy behind it. Competitive pinball has so many moments of greatness. Strategies, situations, everything can change and expectations are routinely challenged.
Kineticist: Do you have a favorite pinball tournament format to play in?
Ed: Matchplay or Knockout events tend to be my favorite. Least favorite is Flip Frenzy.
Kineticist: What do you think is the best tournament format for new players?
Ed: Knockouts / Strike tournaments. Three strikes and you’re out seems to be something anyone can understand.
Kineticist: Pretend it’s 2033. What does the pinball scene look like?
Ed: It’s hard to say. While pinball has been getting more popular especially since the pandemic, I don’t want to say it’s back forever. Pinball is hot for home collectors, but in order for it to sustainably grow, locations need to come online that get new people into the game. The pandemic crushed a number of great locations. Will public spaces for pinball grow, or will they follow the consolidation and reduction we’ve seen since the pandemic? I can’t say.
Kineticist: What have we not asked yet that you would like the pinball community to know about you or your work?
Ed: It might be obvious from my activity on Facebook, but the one thing I want to let people know is: I want to deliver great apps for pinball manufacturers!
The last four years I’ve learned a ton about what goes into a great app. I went to work for an indoor golf simulator company running their mobile team in 2021, and the parallels to pinball were strong. I’m excited by how plugged-in and online pinball is becoming, and I want to be part of the next generation of creative people making pinball fun for everyone. So, if you’re reading this and you work for a pinball manufacturer, reach out!
Kineticist: Plug your stuff! Where can folks find you (socials, website, etc.)? Is anything exciting on your radar for the rest of the year?
Ed: For someone who has grown up building things for the internet, my social presence is really low! Social media can be great, but I’ve been on a bit of a break from it. Too much hate and disinformation. I’m on Facebook and I have a website at www.edgiardina.com. But I think the most important links are the Tilt Forums post where we discuss app development. I’m on Pinside too under the username ‘Richthofen’.
As far as exciting stuff, I just got back from EPC Switzerland! That was a lot of fun. I should be at Pintastic this year, along with hopefully a trip to PinBaltimore! Hey, and if you run a pinball show, happy to talk about the app there. Reach out. Say hi! Have fun and play pinball!
For more updates from Kineticist, be sure to visit kineticist.co or follow us on Instagram, Facebook, and Twitter. Interested in being featured on a future interview? Drop us a line at email@example.com