Today, Bluebird 2.0 is finally out.

This huge update took me 10 months, I rewrote the app from the ground up (React Native → SwiftUI), and pivoted it in a new direction.

It’s a journey of pain and joy, and I’d like to share what I’ve been through along the way.

(thread 🧵) Bluebird 1.10.5 vs. 2.0
This story starts in early 2019, as a web developer with 5 years of experience, I chose to write Bluebird 1.0 using React Native because it enabled me to write native UIs declaratively.
“React Native lets you create truly native apps and doesn’t compromise your users’ experiences.” This quote from its official website describes exactly what I needed at the time.

SwiftUI didn’t exist back then.
As time flies, I’ve come to realize the limitations of React Native, which can be summed up in one sentence: developing apps is more than just writing UIs.

For a better user experience, I need to use some iOS-exclusive APIs, which means I have to write native code anyway.
So why don’t I just write native code?

When Apple refreshed SwiftUI at WWDC20, I thought it was a good time to switch.

I told our designer @topologiraffe that I needed a big chunk of time to learn Swift & SwiftUI, then rewrite Bluebird completely to make it better.
Then my Swift journey began, with Stanford CS193p and #100DaysOfSwiftUI by @twostraws as my guides.

Both of them are great learning materials, especially for beginners like me.

cs193p.sites.stanford.edu
hackingwithswift.com/100/swiftui
After about 2 months of learning, I felt I was well-prepared to start the rewriting.

Meanwhile, the study didn’t stop. I formed a daily habit of watching WWDC videos, they offer info that can be hard to find elsewhere.
One side effect coming with the rewriting was that I could look at some old features from a different angle.

I asked myself, “Does this feature make sense?”, “Does it worth a rebuild?”
With the trimming of confusing concepts and non-essential details, a much clearer direction started to appear.

That was when the “progress-based” idea came to life. to-dos with progress
With this new concept, @topologiraffe thought about remaking the icon and related visual design.

We wanted something more engaging, something full of life. So we went 3D. icons of Bluebird
The coding part cost me 8 months, much longer than I expected.

Building UIs in SwiftUI is quick and easy, but making it look exactly the way you want requires extra effort.
The following launching part has been tough, and we’re still exploring.

I want to thank @_chuckyc, @JordanMorgan10 & @michael_tigas, without them sharing their stories, I’d have been lost in the dark.

charliemchapman.com/posts/2019/9/2…
heyimakeapps.com/launching-an-i…
swiftjectivec.com/on-launching-y…
Thanks also to @AppAirport by @jsngr, it brought us 250+ beta testers with invaluable feedback. Bluebird on Airport
Developing an app is challenging, I don’t want to make it look easy.

I’ve been through many difficulties, practically and emotionally, and I believe many have been there too.

If you have any questions, feel free to reach out.
Here’s the link to @bluebird_app on the App Store, for those curious about what it looks like.
(I forgot to include it in the first tweet.)

apps.apple.com/app/id14787574…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Limited DFS

Limited DFS Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(