Reality about APP development with Flutter

Hi, it is the second part of the story of App Development (Part 1 here).

Like always, let’s jump straight into it:

What we have for today:

  1. Key learning about Flutter (Framework to build for IOS and Android) 👍
  2. How to significantly speed up your App development (First look at ML assistance: Co-pilot from GitHub and Vim)🚀
  3. My IOS experience as a developer🤦
  4. Business: How to build a funnel and make money?💰
  5. Why and how to collect data and avoid hefty fines from GDPR/HIPAA compliance 🔐

1. Key learning about Flutter

Flutter and one-code base are amazing. But why?

  • Dart language — Typed language like TypeScript. In my opinion, types bring much more value now, with good suggestions system in IDE(integrated development environment) and significantly reduce the number of errors.
  • Libraries — It has popularity ratings, quick access to GitHub issues, and usually good ReadMe. It simplifies the choice of using open source in your project.
  • Toolings — It feels like Chrome Dev Tools, which is super handy in case you need to optimize the performance (check the video below).
  • Documentation — apart from the documentation you can quickly jump to definition inside IDE and gets all you need from comments.
  • Hot Keys and Plugins for VS CODE —The endless tree of widgets might look weird at the first glance, but if you know the hotkey: ctrl+., you can quickly break down into smaller widgets and keep it clean.
    Same works for wrapping/deleting widgets.
VSCode + Vim + Flutter tooling

I set the following workflow that you might find useful:

  • Developing and testing with Android, because building bundles are just faster. After work is done, I just run the build process on a MacBook on the same codebase.
  • Interesting fact: when you download App from the Play Store, it works much faster when in debug mode.
  • Be careful when adding a new dependency, even though Flutter is cross-platform, sometimes it requires an extra hack for certain platforms.
    Read careful library readme about each platform adoption.

2. How to significantly speed up your App development

As you might know, Microsoft has acquired Github, so they developed a crazy tool called: Co-Pilot.

The idea is super simple: Rather than copy solution from StackOverflow, you can integrate it in your IDE and get a suggestion on the fly.

At first, it looked weird, but after a while, you will start feeling real help.
Not by creating a whole function as it is usually seen in use cases, more like finish the line of code based on what you have in your codebase.

And Vim on the other side is helping me to jump around the code quickly.

So I would say it can boost your development by 20% and an additional 20% with the Co-Pilot plugin.

Sweet, absolutely recommended (Before the global AI takes your job 😁)!

3. My IOS experience as a developer

It is 💩 .

It takes a lot of time to set the environment. But when it's done, you are good to go to build and update your app without too much hassle.

You need to have a real Mac, and iPhone to have an IOS version with Flutter, no workarounds.

And don’t get me wrong. Apple is amazing and secure for the end-user!
The council of cats below tells you a developer story:

4. Business: How to build a funnel and make money

Funny enough, but in 2018 I have done my Master thesis with a topic: How to increase revenue in Free-to-Play mobile games

YourHabit.me is not the game, but principles are pretty the same.
Let’s focus on 3 key components for the Mobile Apps:

  1. Acquisition
    You bring users to your App (key metric: Cost Of Acquisition)
    Here the goal is to lower the cost by: viral marketing, internal sharing/invite programs, influencers, and so on.
    I think the key here is your marketing creativity and established network. You probably noticed that Elon Musk played a key role in the acquisition strategy for the clubhouse, same as ‘closed club’ and ‘FOMO: fear of missing opportunity with invitation links`. That was just brilliant
  2. Retention
    You have to do your best to keep users engaged (key metrics: DAU/MAU (Daily/Monthly Active Users))
    This is the tricky part, your product should have reasons to come back. Notification, gamification can help you, but I believe that your product should bring real value anyway.
    On the same example of the clubhouse, if you do not store the conversation what is the point to come back?
  3. Monetization
    You have to make money, make yourself/shareholder/team happy, and pay the bills for the server and maintenance. (Key metrics: Revenue/Data)
    This part is even more tricky! So, fasten seat belts!
    3.1 According to the thesis you might have between 1–5% in-app-purchase of the whole user base. Ads can drivers revenue, but you have to be careful with it since it negatively affects the retention
    3.2 And according to this article:
    AppStore and GooglePlay will take from 15–30% of your revenue as a fee.
    Your local taxation + your costs services that make your life easier like Firebase/AWS. So from 1 earn USD, you probably will be left with 30 cents in your pocket.
    3.3 Based on this one, two types of research:
    1,015 Apps publishing every day on AppStore and 1748 on Google Play respectively.
    93% for AppStore and 96% for Google Play are distributed for free. So the competition is pretty tough. Nothing new here, tooling development, ML, frameworks reduce the entrance barrier

But is it free for nearly 95% of the apps?

The answer in the old proverb: “There is no free cheese in a mousetrap”.

A lot of companies are not making money directly, they just collecting the data which is super valuable nowadays.

5. Why data is so important, and how to collect it with the respect (GDPR/HIPAA)

You need data to tune and improve your product, otherwise, it’s just a blind guess despite how smart you are.

5.1 How to collect the data

I used the following techniques to collect the information on the current stage:

  • Instagram surveys with ‘fake’ mockups.
  • After the first version has been published I seat next to my friend and just silently observe the behaviors, making notes. No comments, just looking, this is how many users will use it.
  • I am looking at the data, google analytics, firebase statistics, google and apple stores consoles.
  • Feedback from early adopters was super useful, “Thanks to the people who are open to sharing good/bad feedbacks or just text me to say thank you for your work”.

You can see how the product evolved based on the data analysis below. For example, the numbers system was clear only for me, so it has been removed and simplified:

5.2 What about GDPR/HIPPA compliance

My core business is built around privacy and GDPR, so I read GDPR twice and what is important is to understand here:

  • You collect the data that you only need and you are honest with your users about what data it is, and how you or your partners use it.
  • State it in your terms of use and ask for consent during onboarding. Remember “The GDPR requires consent to be opt-in.
  • In general, respect user data. Treat it as your personal sensitive information that you don’t want to share with a third party, or explicitly understand how it will be used.

As I see it, all new apps should be developed with privacy-first in mind. But don’t go too crazy with it on a testing/validation stage. It is just one of the risks, so you have to carefully assess it at each development stage.

In my opinion, GDPR/HIPAA and other compliances are good things!

Imagine few big companies that know absolutely everything about you and have a tool for personalized propaganda…

Wrapping up…

I hope, today you learn something new and it was a fun read.
Please consider like or share this article if you find it useful. That helps me to keep sharing the info.

If you like/dislike the product itself, I would love to hear what you think in the comment section below.

Quick links:
YourHabit App:
Site, ProductHunt, IndieHackers, AppStore , GooglePlay

Part 1

With all the best,

Alex
Follow on Instagram / skob.io

I am writing about my entrepreneurial journey as a full-stack developer and co-founder at Sensivo.eu. https://skob.io/