Devblog 10: A shift of Focus

Search for a command to run...

No comments yet. Be the first to comment.
Follow my journey of developing Local Explorer, an app that allows people to create and play position-based games!
If you follow me on Twitter, you might already know, but I'm giving up on FlutterFlow once again. While I think FlutterFlow is an amazing tool, I also think it has a long way to go. For the last couple of weeks, I kept running into hurdles that slowe...
As Flutter developers, we love the efficiency of writing code once and deploying it everywhere. But when it comes to the very final step of launching or updating an app, generating App Store and Play

If you're looking for a streamlined way to distribute your Android test builds using Firebase App Distribution (FAD) with the modern Android App Bundle (.aab) format, you might want to pause. While the promise of using AABs via FAD—leveraging the Goo...

Last month, I set myself a new challenge: to build and release a small app from scratch within a month. This decision came after a realization I had while working on my previous project. That project had so many uncertainties and things left to do th...

Using Flutter's CustomPaint to create futuristic looking widgets.

Last year, I wrote two articles about theming in Flutter, sharing my frustrations with ThemeData (part 1 & part 2). While ThemeData is powerful, its extensive properties can be overwhelming, especially when many of them are rarely used. After experim...

It's been a while since I create a new article for this devblog. In the last devlog article that I posted at the end of March, I talked about the focus of the project.
This new focus was an improvement, but it still wasn't enough. I was still not getting any actual work done for this project. Therefore I've made yet another, drastic decision.
Last time I said I was still going to use Etos (my state management package) so I can develop it alongside this project.
This turned out to be tougher than I thought. Whenever I ran into a problem to solve I got sidetracked from the actual project and I would be spending time thinking about that particular issue, thus not making any progress.
For this reason, I decided a few weeks ago, that I would drop the 'learning' part from the project. This means I will focus on the development of the app.
I will achieve this by using things I already have experience with, instead of using new things.
I've decided to replace Etos with (flutter_)bloc. I've worked with bloc professionally since the start of 2021. That same year I also migrated my very first Flutter app (Scrap Bandit) to bloc.
Because I've experience with it, it takes away the uncertainties I have with Etos, thus speeding up development.
In the previous article, I stated that I would be using Firebase as the backend for my application. This is still the plan, for similar reasons as mentioned above.
I've released apps using Firebase, I have very good experiences with it thus why not use it again?
It's been about two or three weeks since I decided to fully focus on building the app, and I can say it already paid off.
In these weeks I've replaced Etos with Bloc and was able to add new features. Because you probably have no idea how far I was, let's take this moment to just show the current state of the application:
So what do you see in the video?
I started with the functionality for creating drafts. Drafts are Scavenger Hunts that are still being worked on.
The idea is that, while a Scavenger Hunt is in draft, the user is free to make any changes to it as pleased. Once the user is satisfied and has tested the Scavenger Hunt, they can publish it.
In the video, you see an overview of Drafts, which can be edited by clicking on the FAB (Floating Action Button) to add a new draft or by clicking on one of the existing ones to edit them.
On the draft detail page you can add change the name and description of the Scavenger Hunt. At the bottom, you can add locations, or edit them when you already have one or more locations.
If you're editing an existing Scavenger Hunt, you can also delete it here.
A location is a point in the Scavenger Hunt that the players should try to find. When they get close enough they will unlock an assignment which will just be answering a question at first.
When you want to add or edit a location you can click the plus-button on the bottom of the detail page, or click on an existing location.
This will open a bottom sheet that allows you to set a name and a range (for now).
When you are editing a location, you will also get a delete-button.
Because it has been a while since I used Firebase I decided to first implement my repositories with memory storage. It should be relatively easy to replace them with Firebase soon.
I have no idea if the current style will be the final one, but it looks nicer than the default one, so I'll go with it for now.
I started keeping track of the features again in Trello. This helped me in my previous projects and it seems to work for this one as well.
The next goal is adding geolocation and Google maps to make it possible to set the position for the locations. I want to show a small map with the radius of that location.
I'm planning to make smaller iterations again on this devblog. I think that should be possible since I'm making more progress now.
Until the next!