I replaced my native iOS app with a cross platform web app and no-one noticed


It all started when I came up with an app that could help parents get their children out of school.

I am the father of 3 children and I am amazed that I have so many powerful tools at work to organize and manage my team. But at home, I didn’t do it to get the kids ready for school. It was chaos. So I thought … why not make a to-do list for the kids? I can create UX as a game and even insert gamification elements into it to help children concentrate and get involved.

So I did a school morning routine. It turned out great (you can watch it here). Now children prepare for school ~ 30% of the time with 95% less worries. (Yes he had 😉

But I made a big mistake in the development. I spend a lot of time creating a native iOS app.

Select mobile application technology (also known as thread selection)
Now the problem with running a mobile application in 2022 is that there are so many completely different technical directions to take: native, cross-platform web application, React Native, Flutter, Progressive web application, Xamarin, etc., ensfh., ensfh.

The default way to create an app is to encode it three times, once for iOS, once for Android, and once for the web.

However, coding the same thing can be very intimidating and unnatural for our software developers. So over the years, we’ve come up with many ways to try and “encode once, run everywhere.” But they all contain bad compromises.

Web applications for various platforms
With cross-platform web applications, you write code once using common web technologies and deploy it to multiple platforms. With a bit of a mess of native code where you have to use iOS and Android features that can’t be retrieved from the browser.

But the bad thing is performance.

In 2014, I really tried to use the Ionic Framework to create more apps and I know what most people do: Android and iOS are great at running web apps. They are slow, unpredictable, nervous, blinking, yawning, and tactile interactions are rather flat.

That’s why I decided too soon that School Morning Routine would not be a cross-platform web application. My app will include a large number of game style animations, and since it is for kids, it should have very good touch interactions.

Native
That … I decided to create a native application. They are usually the least risky and of the highest quality. Of course, it’s not good to write the same application multiple times, but it’s still a small application …

(Speaking of my aversion to magic, I’m not going to discuss the reasons why I didn’t choose one of today’s tech darlings like Flutter or React Native. These are interesting topics worthy of their own blog post in the future.)

So first I wrote a great application for iOS. I repeated it several times with beta testers. Then I released it in the App Store with positive feedback from key users. 5-star review, streaming emails from life-changing users works.

Excited that I succeeded in something, I decided to create a web application. I used React with CSS animations, motion framers and some beautiful Lottie animations. After I finished, I carefully tuned the show one afternoon.


Leave a Reply

Your email address will not be published.