Originally published www.mullr.io

Firebase is awesome and I’ve used it in more apps than I can count (assuming I can only count to about 20). It has authentication, data storage, an intuitive querying SDK, and plenty of other features that most mobile app developers find themselves wanting at one point or another.

So why replace it?

I asked myself the same question many times and more than once my answer was “Don’t”. It had just about everything I needed…and then I was asked to implement End-to-End Encryption (E2EE) in a social media app. I managed to do it based on…

A while ago, I wrote an article on interacting with SVG images in Flutter.

Interacting with SVG Images in Flutter | by Joseph Muller | Medium

Although my steps worked, there were a bunch of limitations and downsides to the overall approach:

  • It was complicated
  • It was tedious
  • Changes were difficult to make without re-writing large pieces of code
  • It was designed specifically for images that were made up of disconnected pieces

In this article, I want to revisit the topic and hopefully make things a bit simpler for anyone that wants to create an image like the one shown…

If you’ve spent any amount of time developing mobile apps, you’re probably well aware of how public “private” data really is. Cloud databases like , , and protect their front gates with robust security measures like authentication keys, security rules, user roles, and field-specific restrictions. From the outside, these databases are fortresses with more than enough artillery to prevent people from seeing each other’s data.

The issue however, is that the castle-keepers can see everything that gets brought into the castle. Your name. Your contact info. Your personal information. It all exists on a database that is not absolutely private…

Photo by Thomas William on Unsplash


With the Stacked architecture

In this article, I will be explaining how to display a video directly from a URL in Flutter (although any video URL will work). If you’re interested in saving videos to Cloud Storage, check out my previous article on that exact subject.

If you do have videos in Cloud Storage, I’m assuming you’ll eventually want to display them. Maybe you need to show a video thumbnail on one screen and then the full video on another. Maybe you want to embed a video in a tutorial to explain how an app feature works. …

Whether you want to draw attention to the salient points of a sentence or indicate to user’s that certain text is hyperlinked, at some point in your Flutter Journey you’re going to want to underline some text. Fortunately, Flutter offers several solutions that will get you from this to t̲h̲i̲s̲.

FYI I used yaytext.com to add the underline in Medium

As the old adage goes, the simplest solution is usually the best solution. On that note, we will begin our investigation with the Text widget.

The Text Widget

The simplest version of a text underline can be done by specifying a TextDecoration inside…

Inspired by this Stack Overflow post

For an app that deals heavily with uploading and downloading images from a server, file size can make or break the user experience. Large files will take longer to save, display, and manipulate, all of which will affect the app’s network performance. Depending on how image-heavy the application is, users may spend more time staring at loading screens than actually interacting with content.

The HTTP Archive has some interesting data on how often mobile applications and websites request images, as well as the average size of those images. …

From Widget to BitmapDescriptor

By following this CodeLab, you’ll be able to add Google Maps to your Flutter application in less than an hour. It’s actually pretty crazy how easy it is. Set up your API keys, add the GoogleMap widget to your widget tree, and enjoy the same map browsing experience you typical enjoy with the Google Maps application.

Default Google Maps icon

After getting acquainted with the google_maps_flutter package however, you’ll inevitably want to customize your map markers and realize that the available solutions are rather limited.

Use Image Assets


I’ve used Google’s Firebase/Firestore database solution for nearly 6 months and had come to believe that it was an unstoppable force. If you’re only dealing with numbers, strings, and other simple data forms, this is true. The NoSQL database gives you immense control over how you store information a provides querying tools that can be used to find items meeting very specific criteria in a snap.

But if you’re interested in storing and retrieving larger files like images and audio clips, Firestore is not the solution you need.

Instead, you’ll need to use Cloud Storage. Google designed this storage solution…

Flutter Newbies Start Here

If you’re new to Flutter development, I’d recommend starting with something a little less involved.

I used this book to learn the Flutter language:

Beginning Flutter: A Hands On Guide to App Development

And this one to get started with mobile app development:

Android Studio 3.4 Development Essentials — Kotlin Edition: Developing Android Apps Using Android Studio 3.4, Kotlin and Jetpack

…And Let’s Go

Good morning, afternoon, and evening to all the Flutter developers in the world and welcome to the blog post that’s going to make you love Google’s cross-platform development language more than you already do! For those of you that…

Scalable Vector Graphics (SVGs) are incredibly useful if you are designing and developing for multiple, uniquely sized device screens. Rather than defining the pixels within an image, an SVG defines the lines, curves, colors, and opacities that should be used to draw an image. In this way, an SVG will appear crisp and un-distorted regardless of the available space.

This is not the only benefit of SVGs, though. Because each separate piece of an SVG is defined by coordinate-like values, you can handle interaction with each piece separately. For example, you could create a map where each country can be…

Joseph Muller

Blogging at www.mullr.io now. Flutter. Firebase. Android. Kotlin. 3D Printing. Arduino.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store