Issue #62 - Sam McGarry
Happy Monday, everyone!
We made it to Issue #62! Thank you to everyone who read last week’s issue ❤️
Deep Dish Swift is a brand new conference being held in Chicago April 30th to May 2nd in 2023. The conference aims to bring togethe Swift and iOS developers of all experience levels and backgrounds in an inclusive environment to share knowledge and experience from a diverse set of speakers. The first day is focused on indie development and and the next two are focused on Swift and iOS!
Today’s Spotlighted Indie Devs
📆 Today I’m featuring Sam McGarry.
👉 Please make sure to follow them or support them anyway you can! 😇 I’m excited to share their indie dev stories.
1) What is your name? Where do you live?
Hey! My name is Sam. I just moved to New York City, but I grew up in Ithaca, NY.
2) Introduce yourself. Education? Background? Main job? Interests outside of tech? Interests inside of tech?
I suppose you could say I have kind of an informal background. Just over two years ago, I dropped out of college after finishing my freshman year and started teaching myself Swift in my spare time. While I taught myself, I worked various odd jobs but mostly worked as a cook to stay afloat, and even spent some time abroad in France. I worked hard at it for two years, and finally landed my first iOS role earlier this year. Currently, I work on an iPad app written in SwiftUI that is used by pilots.
I have a ton of interests outside of tech, maybe too many for my own good. I love traveling and language learning. I recently learned French, and I’d like to start learning Spanish sometime soon. I play chess with my roommate, and I like to cook and experiment in the kitchen. I also watch Yankees baseball like it’s my religion. Since I moved to NYC, I’ve spent a lot of my time exploring and getting to know the city 🗽.
Within tech, I’m continually fascinated by Tesla’s autopilot. It’s incredible what that software can do just with input from cameras. Within iOS, I love experimenting with the ARKit and Vision frameworks and would love to continue learning more about them.
3) Have you ever considered yourself an indie developer?
I guess I haven’t honestly. For a long time I thought of indie developers as people who run indie apps for a living, but really it’s just anyone that publishes their own work, for leisure or for profit. So the thought that I’m in the indie dev boat is definitely a new one for me, and I would be honored should anyone consider me one.
4) What got you started/interested in creating your own applications outside of your “normal” job?
I actually started making my own apps two years ago to build up a portfolio to get my first “normal” job. I don’t have a college degree, and I never attended a boot camp, so my own projects were what made me marketable as a developer. Now that I have a job, I’m interested in exploring what I can do with my own projects as a hobby. I think my dream would be to make a living from my own apps, but I think I have a lot to learn before that happens. I made TrackISS in UIKit, so I think it would be fun to make a SwiftUI app sometime soon.
5) How do you balance your time between friends/family, work, hobbies, and indie dev?
I try to not do too much of one thing, although that is definitely easier said than done. If I feel like I’ve been coding too much, I try to prioritize other hobbies like exercise and finding new music. And spending time with family and friends is something I will almost always choose before coding, unless I need to get something done.
6) TrackISS - Congrats on your recent release of TrackISS! I once saw the ISS go right over my head back in 2012 and I was just amazed with it. Knowing there were people way up there was just 🤯 When did your interest with the ISS start? What you made you decide to create this fantastic app? ☺️
That’s awesome you saw it overhead! I still need to see it pass, but it might be a bit difficult now that I live in NYC. I think I’ve always been fascinated with space and everything that goes on up there. I remember when I first found out about the ISS and how big it was (the size of a football field), that we built in in space, all while orbiting the earth at 17,500 mph, I was hooked. People have been onboard continuously for 20+ years now 🤯.
Believe it or not, the original version of this app was actually a take-home project I did for a company when interviewing with them. The requirements were very loose, like “present data retrieved from an API in a meaningful way”. So when I came across the Open Notify API, I thought I would try to do something fun. When I didn’t get that job (although the project got me pretty close), it became my main side project and selling point as a self-taught developer.
7) TrackISS - I just realized, when writing these questions, that the visual tracking of the ISS around the world is done with Apple Maps! I had no idea that maps could be used this way. Did you know going into this Apple Maps would be your solution? Did you learn anything fun along the way when trying to implement this?
This was something I kind of figured out as I went along. I didn’t know Apple Maps would be my solution, but I was kind of hoping it would be. I had seen people do projects mimicing Uber’s moving car annotations on Apple Maps and things like that. So I had a vision of displaying a moving annotation for the ISS, and it turned out it was possible.
I learned a ton about MapKit! When I got the ISS to show up on the map, I orginally had it jumping from one position to the next, and it looked pretty choppy. I found out you can animate the movement of an MKPointAnnotation, and after some experimenting, I got it to move continuously in real-time. I also learned that you can use MKGeodesicPolylines to draw a line from one point to another on Apple Maps, and it will respect the curvature of the earth (as opposed to using the regular MKPolylines)! This is how I was able to portray the orbit path of the ISS on different map types, including the Satellite Flyover one which allows you to view the earth as a globe 🌎🔥.
8) TrackISS - Some of the ISS images are just so unreal! I can’t imagine what its like seeing those views in real life. Do you have any favorite images from the ISS that you have saved that you’d like to share? All are great but there are probably a lot I’ve overlooked.
I completely agree! Any images from the ISS are mind blowing. I can only imagine how humbling it would be to go on a space walk and look down on earth. I’ve had a fun time exploring NASA’s image database since I added it to the app, and I’ve found you can search specific months and years (e.g. “March 2016”) and find out what they were doing up there at that point in time. Here are a few of my favorites that I’ve discovered.
From top to bottom: The ISS in May of 1999; Astronauts Dan Burbank and Anton Shkaplerov having a jam session in 2012; The Destiny Laboratory “at night” during the astronaut’s sleeping period; A golden sunset in 2015 with a red aurora.
9) TrackISS - The “People In Space” is probably my favorite section of the app 😁 I know very little about the ISS. How may people can it hold and how often do they change people out? Is there a way to show the people that have visited the ISS in the past? That would be super dope!
I’m so glad you like it! I’m definitely looking forward to improving that feature. At a given time, there is always atleast three people on the station, but recently there has been seven people onboard since SpaceX’s Crew Dragon became operational. Right now, between the Russian Soyuz missions and the NASA/SpaceX missions, they are switching people out every four months or so. The app actually shows all people in space, regardless of if they are on the ISS or not. For example, recently you could see the Chinese astronauts in space as they just started constructing a space station of their own.
Showing how many people have been onboard is a great idea! Maybe I could add a little metrics page to see stats like that for the ISS. Anytime new astronauts show up in the app, I can just increment the number :) I could probably show past astronauts as well, I would just have to hardcode the data unfortunately, as the API doesn’t provide past astronauts. There’s a lot of them, but it might be worth it. Maybe there is a better way 🤔.
10) TrackISS - I had no idea that the TrackISS app was open source! This is so great 🥰 What was your reason for open sourcing the app? Is there anything you are looking to collaborate on with others in specific? I’m thinking it would be fun to put a commit or two in 🙃 I don’t know how yet but I’d love to add in widgets!
As it turns out, the orginal reason I left it public/open-source was because it was my main portfolio project, so I wanted companies to be able to see what my code looked like. That being said, it would be super cool to see some commits come in! I was thinking about adding widgets, so if you have any ideas, go for it!
11) TrackISS - What’s next for TrackISS? Do you have any fun future features planned that you can share with us?
I have a bunch of ideas! Something I can guarantee I will be adding is timestamps along the orbit path on the map. This way you can not only see where the ISS is going during it’s next orbit, but when it will be there.
A cool feature that someone requested is to receive push notifications whenever the ISS will be passing over your location. I don’t have a lot of experience managing a backend with notifications, so I think it would be a really good learning experience. Two of the APIs I am currently using actually offer the notifications for ISS passes, but I think it would be super interesting to try and figure the actual math behind determining when the ISS will be visible at your location.
Another feature I’m thinking about adding that a lot of other satellite tracking apps have, is an AR feature where you can see the location of the ISS through your camera. Since a lot of people have already done something similar, I want to come up with a way to make it unique to TrackISS.
12) What’s been the hardest part of being an indie dev? What the most fun part of being an indie dev?
The hardest part for me has probably been balancing the work I do on projects like this with my main job. After coding all day, sometimes it’s the last thing I want to do when I clock-out. As much as I love it, I try not to let it consume all of my spare time.
My favorite part is that you are your own boss! You get to experiment and do whatever you like, and there is nothing more fun and satisfying than successfully implementing an idea you have. It’s so cool to be able to work on projects themed around your personal interests too.
13) Is there anything else you’d like to tell the indie dev community about you?
I’d love to connect with more of you! Feel free to reach out to me on Twitter (@sammcode). I have a lot to learn as a developer and I’m sure there are many things I can pick up from all the awesome indie devs in this community. If anyone happens to be in NYC, shoot me a message 🍻 !
14) Do you have any other indie devs that readers should follow / lookout for?
You should absolutely look out for @joshdholtz. He’s pretty awesome.
Definitely check out @TimIsenman. He’s the creator of a really cool indie space app, @PocketRocketiOS. It sends you push notifications for upcoming SpaceX launches, and allows you to see the rockets in AR. I’ve been using it for a while now, and it features some awesome widgets.
A while back you featured @MuseumShuffle, and he graciously mentioned me along with a bunch of other devs on Twitter, so I’ll pass the torch and do the same. These are some awesome devs who have some really cool indie projects either already published or in the works 👀.
Newly Released and Updated Indie Apps
Here are some newly released and newly updated apps from this past week! If you would like to possibly see your app in this list, please submit your app to the look at me form 👀
Thank you to everybody who made it to this footer! You either spent the time to read or took the effort to scroll 😊
Make sure to visit https://indiedevmonday.com/subscribe to get an email of future issues!
And go to Twitter and give @IndieDevMonday a follow… or multiple follows if you manage more than one Twitter account 😜