Making sense of random movements

Steven Barnett

My First Flutter App

Google Flutter - take 1

Be kind, this is my first go at Google Flutter!

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!). So, when I started a Google flutter course and the first app was a simple questionnaire, this monstrosity came to mind.

I've moved on from the sample program and reproduced the analysis system to run on both Android and iOS using Google Flutter. Now, bear in mind these are the early stages of this course and there are lots of things to learn yet, I'm sharing my first app

Thanks To

  • Maximillian Schwartzmuller
  • Academind
  • Udemy

The general principle

The principle is pretty simple. The management standards consist of a number of Units, Elements, Personal Competencies and Knowledge Understanding requirements. Knowing which of these applies to your job is a non-trivial task (as you would know if you've seen the volumes that go with the management standards). So, we distill that down to 71 questions and, depending on how you answer those questions, we arrive at the units and elements that you should be studying or complying with.

The end result is a list of the units and elements along with the analysis of how we arrived at the list.

Ok, this isn't the first pass at that program. The first pass worked and produced a nice report at the end, but

  • the buttons jumped up and down depending on the question length,
  • the reset button was an actual button that you only got at the end,
  • everything was fixed heights, so not compatible with different device sizes,
  • it didn't support rotation properly,
  • and the list goes on.

So, this is actually my second go, having done a bit more of the course. I now know the device dimensions, so can fix the position of the question and the answer buttons - no more jumping around. The reset button has moved to the app bar and is always available should you decide to start again. Nothing has a fixed height - everything is determined from the available device space which has also allowed me to support rotation:

There is a lot of this course left to do, but I'm amazed at what can be produces so quickly and with so little knowledge of Flutter and Dart.

What came next...

Version 2 came into life recently. The course has some very long sections to it and a lot is covered in a lot of detail, so progress of the app will inevitably be slow. Version 2, while not a significant improvement in functionality (there isn't a lot you can do to a quiz app) does represent a significant leap forward in usability.

Click here to take a look at where I went with it...


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