Making sense of random movements

Steven Barnett

My First Flutter App

Part 2

Google Flutter - take 2

My first go at a flutter app produced a reasonably useful app considering the minute amount of knowledge I started with. It does a job and the results are acceptable. This new version adds some bells and whistles to give it more of a 'semi-production' feel.

The app - a recap

Many years ago, I wrote a system for analysing management training competencies against the then management standards. I wrote it in a combination of JavaScript and Flash and in a bright mixture of garish orange and lime green (don't ask!).

The idea is simple, ask the minimum number of questions you have to in order to determine which of the Management Standards apply to the user and present them with a report of what they should know or be studying and how we arrived at that conclusion.

Thanks To

  • Maximillian Schwartzmuller
  • Academind
  • Udemy

Version 2 enhancements

The latest section of the course introduced navigation, which frees me up to create multiple screen. Having a single screen in the original app was a major limitation, so getting to multiple screen was a big step.

So, what have I added for version 2...


The app now starts out on an uninspiring splash screen. I'm a developer, not a graphic artist, so the place-holding image is about as good as it gets at this stage! The splash screen is now responsible for initialising the data model and reports on it's progress as it does so. Confession time; this is a complete fudge. It does do the initialisation, but the messages are just displayed at 750ms intervals. Hey, give me a break; I'm learning here.

Cancellation confirmation

Once the questionnaire displays and the user starts selecting answers, they may decide to start again. The restart button in the title bar now asks the user to confirm whether they really want to start again or not. If they do, we restart at question 1. If not, we just continue from where we left off.

Results presentation

The biggest change is in the presentation of the results.

In the previous version, you just got a dump of the results in a scrolling window. The result was the full role profile followed by the questionnaire responses that led to the profile. All a bit confusing and not very pretty.

For this version, there are now tabs at the bottom of the screen. The first tab displays the role profile and only the profile. It lets you focus on the important output - the things you need to work on in the role you have defined.

The second tab displays the questions you answered, the responses you gave and the units we added as a result. The purpose of this section of the report is to allow you to validate, in your own mind, that you answered the questions correctly.

You switch between the two reports by clicking the tabs at the bottom of the screen. To my mind, this gives you a much clearer result than we had previously and makes validation easier.

When you're done, click the back button to return to a fresh questionnaire.


I continue through the course and will probably revisit this app as I go along. I'm not happy with the data model (too many stateful widgets) and you cannot yet output your report to anything except the screen. There is also the elephant in the room that this app, while it runs happily on an iOS device, does not look particularly like an Apple app. Styling this to be 'Apple' is going to be fun.

Update: My next stumbling steps have led to an app that looks somewhat more platform specific and goes a long way to dealing with the niggles that I had with V2.


Don't take my word for my abilities, take a look at other peoples opinions about me.