Setup Meter & Achievements – Week #2

Another week, another week…

It has been an “expansive” week.  I say that because while no very tangible results have emerged, the work done was necessary for continued progress.  A simpler way of putting it that we all understand – it was code cleanup week.  On the achievements front, I have put more meat on the bones I’d love you to sink your teeth into (sorry vegetarians, I just want feedback).  More to come in the weeks ahead.

Back to Setup Completion, there were minor changes made to feedback messages.  When you finish the final setup task, it now congratulates you enthusiastically, etc etc.  Very exciting stuff.

Another thing I have worked on this week is a feature that allows users to remove tasks they’d rather not complete.  It has been an interesting experience, actually.  If you examine the proceeding screenshots, you’ll notice that upon removing the task, a bunch of things have to update:

  • update setup bar to reflect new progress
  • because it’s 100%, change the status message below progress bar
  • remove the “Still to do” list
  • update all percentages next to tasks
  • add “Other tasks” section and add removed task there

This operation is complicated by the following:

  1. Data is dynamic, so a multitude of cases arise (1 task left, no removed tasks yet, etc)
  2. UI must reflect data properly and intuitively
  3. Markup traversal/updating is difficult given the number of components
  4. UI interactions must alter persistent data

Now, this might sound like a royal pain, but it is in fact interesting to ponder if this code could be made simpler.  It has led me to conclude that UI coding is often going to result in a tangle of code – trying to abstract functionality is both unnecessary and more complicated.  I am still open to possibility, however.

One last note:  this is all WIP, so I still need to add links to re-add tasks, etc etc.