S03E31 – A Week is a Long Time
Good morning 👋
I’ve been concentrating on the Appy Weather 2 module that summarises a series of days, such as the week ahead or the next x-days. Originally I was hoping to re-use as much of the logic written to do similar for a series of hours (this will be used to determine summaries for a full day or a concept such as the existing Later card). But it became clear over the last couple of weeks that this will result in the code becoming convoluted. Although there’s much in common between the two conceptually, there’s also enough differences to warrant taking an independent approach. I could try to ignore the differences and possibly work around the existing design but then I’m optimising speed over execution. At this point, I might as well do it right and not quick – a recurring theme.
At the start of the week, I was faced with three options on the fundamental logic to drive the module:
Easy (mode) – think of the series of days as a whole entity and highlight the most common, i.e. keep a count and the weather that occurs the most – albeit often enough – wins.
Medium – divide the week into points representing full days: start, middle, end, weekend, and then summarise accordingly. If a weather condition, for example, happens in 3/4 of these periods, then state so succinctly whilst also highlighting when there’s an exception.
Hard – same as above except start of week is up to Tuesday AM, and mid up to Thursday AM.
Obviously I was intrigued by the hardest option, and went for it. Soon after, the underlying logic powering it was done – a testament to the flexibility of the code already complete. With this piece complete, I can extract the prevalent condition in all periods effortlessly. Then it was time to figure out how to use this new found power to generate helpful summaries with a natural flow. I’ve struggled since. I couldn’t determine the best way – literally sequence because the order matters – to read through the information I have available. Until late last night that is.
I realised having this ability doesn’t mean I need to show it off. I can depend on it but don’t need to reveal it unless it benefits the user. So what I’m thinking is I’ll take an approach whereby I’ll only mention a period within the week when it’s noteworthy, e.g. if the weather is mostly cloudy for most of the week but clear briefly, highlight when the latter happens. And the when could be a specific day only, and not necessarily a period, e.g. “Cloudy most of the week except for Wednesday when it’s clear”. But if it’s the latter, then I can say so, e.g. “Cloudy with a mid-week clear spell”.
This is just the most recent example of work put in to enable the app to level up. And how the power – effectively knowledge – can be used to light up different experiences in the future. Imagine for example streamlining a visual of seven days to four clear points. Maybe you wouldn’t want that inside the app, but perhaps it would make sense on a widget where space is more at a premium.
Have a great Sunday!
Best,
Bardi