Social | Handle |
---|---|
Bluesky | @chriswu.com |
Mastodon | @MuseumShuffle@mastodon.social |
Threads | @mrmuseumshuffle |
I’m a iOS hobbyist focuing on SwiftUI now. My first iOS app was Museum Shuffle My second app was Snack Plan and the third was Foodlapse. My latest app is Please Don’t Rain.
Museum Shuffle retrieves and displays random artwork from the Rijksmuseum in Amsterdam. You can save artwork as a favorite and look up whether or not it is currently on display in the museum, share it friends, or even have it show up in a widget. Museum Shuffle was actually the final project for a UIKit course I took. 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. 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, etc.
Early in the pandemic 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 course offered for free by Paul Hudson. I used that knowledge to rewrite my app in SwiftUI. I was in the process of rewriting my app in SwiftUI when the changes for iOS 14 were released. It was so interesting being a part of the beta process. I ended up using so many iOS 14 features (tabbar, GroupBox, fullScreeenCover, Link, LazyVGrid, Label, Menu, scrollTo, @AppStorage, @StateObject, etc) that I was thankful for my timing. I also added a widget that shows your favorite random artwork.
Snack Plan is my very silly app I made for tracking my plans for snacking at theme parks. It gave me a great chance to learn to use many of the new additions to SwiftUI in iOS 15 as well as how to implement in-app purchases. Details are explained in this blog post if you’re interested.
Foodlapse tracks lapses in judgement. In my case that’s bubble tea! 🧋 It gave me a great opportunity to learn how to use Swift Charts, UICalendarview, and more advanced widgets.
My latest app (and primary focus) is Please Don’t Rain. It tracks whether rain (or snow) will affect a day that’s important to you. When I had a theme park day coming up I really only cared about the weather for that day and looking it up over and over again was annoying. Hence an app idea was born! I wanted to learn how to use WeatherKit and this was the perfect opportunity! The app has changed so much since I initially launched it in 2023 and my accessibility support got the app nominated for a 2023 Golden Apple award by AppleVis (which I am very proud of).
I’m “all in” with SwiftUI and love continuing to learn and being a part of the very welcoming iOS developer community.
Featured In
- iOS Dev Weeky #527 - “Vim, awk, and iOS translation files”
- iOS Dev Weeky #566 - “Using UICalendarView in a SwiftUI app”
- iOS Dev Weeky #607 - “YOLO (You Only Launch Once)”
- iOS Dev Weeky #620 - “My WWDC Design Lab Experience”
iOS Dev Happy Hour
I’m also one of the organizers for iOS Dev Happy Hour. Feel free to join us and meet some great people if you haven’t done so already. If you’re an introvert on the fence about attending I can relate and would be happy to give insight into the event.
The goal of #iOSDevHappyHour is to allow current and aspiring iOS Developers a place to share experiences, share knowledge, simply hang out, build community, and even enjoy a drink or two online during a time where face to face contact is limited.