Technology Tussles

Managing complexity in an ever changing world


  • Building a ListView which scrolls neatly by item

    Recently I wanted to horizontally scrolling ListView to display a number of panels. This is relatively easy to achieve, but there were two things that I did not like about it. As it turns out both of these issues are also very easy to fix. First up, calculating the panel dimensions can be done by […] (more)


  • Using Provider to Share State Between Widgets

    Today I needed to share a timer between two widgets. A quick search revealed that the way to go was to use Provider. So, as usual I looked for a good example of how to go about it. I didn’t actually find one, so instead I took a look at the official documentation (https://pub.dev/packages/provider). Unfortunately, […] (more)


  • Contents of UICollectionView hidden by keyboard (in Swift)

    As I am sure I have said before, one of the frustrations of modern software engineering is that some things you think will be complex turn out to be very simple because the language does it for you with little or no work at all, and other things that you think will be easy (or […] (more)


  • Why Software Projects Overrun

    Last week saw the launch of Squbes onto the Google Play store. Something to celebrate – but it was nearly a month overdue – and the iOS release was a week later. So what went wrong and why do software projects overrun? Underestimating complexity When estimating how long a software project will take to deliver, […] (more)


  • Creating lightweight web sites with PHP

    Back to basics So I’ve had a couple of months of using WordPress now, and I have to say for blogging, site which are going to grow rapidly or for multi-editor sites, I would definitely recommend it. I still believe, however, it is overkill for many uses cases. HTML is very good at what it […] (more)


  • Updating CocoaPods to run Flutter Apps on iOS

    Having successfully run a couple of Flutter Apps on Android devices and the iOS Simulator (from AndroidStudio), I was not expecting there to be much of a problem getting my App running on iOS. Unfortunately as soon as I tried to run my code from XCode I hit an error A quick search revealed a […] (more)


  • Styling PopupMenuItem with Flutter themes

    In my previous post I looked at creating a reusable popup menu in flutter and applying a flexible theme from ThemeData. After a bit of testing I’ve uncovered two minor wrinkles. The first is that the icons in my PopupMenuItem don’t take their style from iconTheme as I had anticipated. Instead, for some unknown reason […] (more)


  • Reusable overflow menu in Flutter

    One of the problems of learning new languages is that the majority of example code shows only the simplest use cases. With Flutter particularly I have found that the samples in the documentation and answers available on Stack Overflow are built to solve specific single widget needs rather than being coded for reusability. When you […] (more)


  • Styling Flutter (Part 2)

    As part of my flutter journey I have been updating an app I wrote a few years ago, and applying some dynamic themes to it. In part one (Styling Flutter – Nightmare in Themesville) we looked at how to use the ThemeData object to apply a dynamic dark theme to light theme switch. In this […] (more)


  • Flexible Themes in Flutter

    Following on from my last post about the potential pitfalls of Flutter themes, let’s look at some of the benefits. Looking at articles on Medium and answers on StackOverflow it seems that a lot of people fail to grasp the power of themes, and apply styles in an ad-hoc fashion at the widget or property […] (more)

Previous Posts