Issue #44 - Chris Wu
Happy Monday, everyone!
We made it to Issue #44! Thank you to everyone who read last week’s issue ❤️
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 👀
Today’s Spotlighted Indie Devs
📆 Today I’m featuring Chris Wu.
👉 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?
Hi! I’m Chris Wu and I live in the sunny state of Florida in the USA.
2) Introduce yourself. Education? Background? Main job? Interests outside of tech? Interests inside of tech?
I’ve got a bachelor’s degree in Computer Science. My job actually has nothing to do with iOS development.
I am a huge theme park geek. When there’s not a global pandemic I absolutely love going to the Florida parks as much as I can. I’ve also been lucky enough to visit some parks overseas. My favorite park I’ve been to is Tokyo DisneySea. The last park I visited overseas was Efteling in the Netherlands.
3) Have you ever considered yourself an indie developer?
I feel more comfortable saying I’m a “hobbyist”. The app developers I follow that can devote their full time to apps are making incredible things. I’m just tinkering on the side when I can.
4) What got you started/interested in creating your own applications outside of your “normal” job?
I had actually been curious about iOS development for a long time but I had no idea how to get started in it. I had researched coding bootcamps but they were prohibitively expensive and far away. I don’t think Paul Hudson’s 100 Days of Swift was around yet. If it was I didn’t know about it. Several years ago the company I work for started an initiative to encourage us to expand our skillset, even if it didn’t apply to our current job. They would pay the tuition but you had to do everything in your free time while still working full time. It was daunting because the estimate was at least 8 hours a week for 6 months. Still when I saw there was a course in UIKit development I couldn’t sign up fast enough.
5) How do you balance your time between friends/family, work, hobbies, and indie dev?
It’s hard but the pandemic actually made it easier. In 2020 I decided to take the one hour a day I would have spent commuting and apply that each day to the 100 Days of SwiftUI. I used that knowledge to rewrite my app in SwiftUI. I just try to do what I can in the time I have.
6) Museum Shuffle - I really love the name “Museum Shuffle” Shuffling through artwork is a great way to explore all aspects of this virtual museum. I feel like I would otherwise just skip to parts that I know or are more interested in. Did you have any other names that you tried out or other ways of looking through the artwork that wasn’t shuffling?
I was also surprised at how much artwork I discovered in categories I wouldn’t normally care about. I found myself searching over and over again for “jewelry” because it kept returning spectacular results.
Naming is hard but the name for the app came to me immediately once I decided on randomness. The shuffling concept actually came about because of a limitation of the Rijksmuseum API. The museum has over a million objects its collection and around 8,000 on display. I don’t know how many their API would return but it’s obviously a huge amount. The API limits you to returning info for a maximum of 100 objects. Initially I was frustrated about what I was going to do with such a relatively small collection. Then it hit me that if you were looking at a random assortment of randomly selected types of things constantly you wouldn’t even notice this limitation. The name came to me pretty quickly when I realized this.
7) Museum Shuffle - This app is a relaxing guilty pleasure of mine I love being able to just casually flip through and learn about artwork. What inspired you to make Museum Shuffle? What were your initial goals?
I love hearing that! The app was actually the final project for my UIKit course. All of our projects up to that point had been extremely specific, but for the final project we had a blank canvas. The only requirements were that we had to use an API and we had to use Core Data. To be honest I really wanted to do an app about theme park wait times for rides but I could only find one person that was providing an API. It looked pretty sketchy so I didn’t seriously consider it. At the time I was quite worried about the scenario where I would spend a bunch of time on my final project and the API would go down or disappear before I got credit for my app. I was doing searches on well known, quality APIs and the Rijksmuseum API stood out for several reasons. The API had been around for several years and the museum is very well known. I actually had a trip to Europe that was already booked and Amsterdam was one of the stops! When I saw how generous the museum was with what you could do with the images returned from the API it was an easy choice to select their API. Walking around the museum was surreal. I was so curious as to what would be the first thing I would see with my own eyes that I would recognize from my app. It was a painting and I was so excited that I got my picture taken in front of it!
Long after the course was over I used improving the app as a continuous learning experience. It would be nice to have the next piece of artwork after the current one download in a background thread? I researched how to do that. Swipe gestures would make a better user experience? Researched how to do that. That kept continuing with share sheets, transitions, Dark Mode, VoiceOver, widgets, etc.
8) Museum Shuffle - Have you thought about finding a way to add any other museums into that app? I don’t know if there are other APIs that you can use but would you add more if you could?
I have considered it. It’s quite difficult to find the magic combination of a rock solid API and a generous usage policy that lets you store/modify the returned images. I’ve had my eye on The Metropolitan Museum of Art’s API but I had some concerns about copyrighted artwork that can be returned. It does get somewhat nerve wracking having the core functionality of your app tied to a service that someone else provides. I remember one time my stomach dropped when my mom told me the app was broken for her. I thought the day had come when the Rijksmuseum API had gone away. It turned out that her TestFlight build had expired!
9) Museum Shuffle - There are soooo many different types of object types, materials, and techniques in art! I had no idea until I was playing around the search feature. Did you learn anything new about artwork or museums while building Museum Shuffle? I feel like there is a lot I don’t know about both of them
It amuses me that some people assume I wrote the app because I’m passionate about museums but that wasn’t the reason at all. While I already enjoyed going to museums I have learned so much more about artwork and techniques by building this app.
There was a lot of love that went into building the search feature. The app lets you pick “object type”, material, technique, and century as search categories. Some of the choices you can make for those only produce a tiny number of results and others produce a tiny number of results with images. For the first three categories I went to the Rijksmuseum website and manually went through every letter of alphabet selecting each possible category choice I could think of. If the search produced results I liked it went into the app as a possible selection in the search categories. So each entry in those long lists is something I’ve researched and put there purposefully.
9) Museum Shuffle - What’s next for you and/or Museum Shuffle? Any fun things that you can share with us?
I wasn’t able to make an app about theme parks for my first app but that won’t be the case with the second app. Hmmmmm
10) What’s been the hardest part of being an indie dev? What the most fun part of being an indie dev?
The hardest part is keeping up with everything!! I do have some envy for people who are paid to learn as part of their full time job. With doing this as a hobby I usually have to pick between learning or building in my free time.
The most fun part is the pride in having an app on the App Store. It blows my mind that people in breakout rooms at iOS Dev Happy Hour have told me that they’ve used my app. It never gets old showing it to people.
11) Is there anything else you’d like to tell the indie dev community about you?
I’m “all in!” with SwiftUI. I can’t wait to see what new goodies we get at WWDC.
I like to think I have a good sense of humor and I’ve found there are some wickedly funny iOS devs on Twitter.
I am also very grateful to the Rijksmuseum for not only providing usage of the API for free, but for supporting it for so many years.
12) Do you have any other indie devs that readers should follow / lookout for?
There are some fantastic people on Twitter that I’ve learned from and some I’ve also become friends with. I’d like to point the spotlight on great people with a smaller Twitter following. Apologies to anyone I missed.
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 😜