Extended off-line data access

A recent vacation with Flowx should have made me the most informed and prepared person, but not.
Requesting up to 10 days of off-line data access. A user action to reveal old data would be fine (probably best) so the app can keep doing what it already does well with internet access.

As it is now, I’ll take screenshots as I prepare for my next vacation, but I am also spreading my eggs into other baskets.

Blank Flowx screens are pretty unforgivable. That was surprising.

1 Like

The “Edit Place” “Travel Mode” checkbox could be the user managed tik, used to enable extended off-line data access.

Consider that for a quick implementation. I had enabled it.

Yes, offline data is a common request and Flowx does support this as long as you’ve downloaded the data for the location prior to going offline. Also as long as your manifest hasn’t been updated either. If the manifest is updated and Flowx knows about a newer forecast, it’ll automatically try to load this even if it’s offline and an older forecast exists.

Offline mode is much harder than you think to implement. There are so many complications. Imagine having two locations, say London and Paris, that overlap (share tiles). You download data for both, let’s say for the 2019070100 forecast. Then you download the newest data for London but not Paris, then go offline, which data do you use for Paris, the old forecast that covers 100% of the area or the new London data that only covers 50% of the area? Also you cannot just mix forecasts, they look bad and I’ll get lots of complaints.

The other complication is deleting old data, currently I keep two forecasts into the past. If Paris hasn’t been updated and is older than two forecasts, then it gets deleted.

There is also how to download data for offline use given there are many data source, data types, zoom levels, etc…

I have thought about offline data since the 2012 and I still found a easy solution. All solutions are very hard.

BTW, I think Flowx has the best offline support of any app of this kind. But if you find another app like Flowx that has offline support, let me know and I can analyse it.

3 Likes

I guess I can store the state of the forecast for each place and if Flowx is offline, it’ll load the saved state, not the global state, even if there is newer forecast data.

And I’ll still have to think of a better way not to delete old data. I’m thinking of adding a nightly job to delete old data, maybe I can add this logic at the same time.

1 Like

I think you’re onto something. Seeing Flowx load a cache after a failed download, could be all the notification needed to the user, to know this is (stale) cached data.

Certainly not attempting to come across mad. I’m just emphasizing a core expectation of an app. Offline behavior (while infrequent) is still a core functionality.

Take a simple approach. I would suggest the expectations for offline functionality is also quite simple.

The current approach is simple. If you download a manifest of forecasts and data and then go offline, the data will remain and can be loaded offline. You can try it out.

The problem arises if the manifest is updated and no data is downloaded for the new updated manifest. This is what I think happened in your case.

2 Likes

If you can recreate your experience, let me know and I can check why it didn’t work.

2 Likes

@duane I agree :100::100:

1 Like

I use offline frequently a lot of the areas I go have such spoty coverage. Then when I get an area of decent coverage I’ll update new info.

1 Like

How about a simple togle setting for “go offline”?

If activated, nothing gets downloaded nor deleted. So what is currently cashed is what will be displayed, even if a new manifest is available.

(The implementation of this approach, could be as simple as “don’t attempt to download manifests”.)

A warning that “you are currently in offline mode” should be visible somewhere in some form.

1 Like

I’m not seeing an issue. I wake up start the app online look at the weather in my area and the area I’m headed to turn off wifi (offline) weather data is there. If Im in a hurry or forgot when I get close to where I am going I turn on mobile data get weather info turn data off.

This isn’t an issue with spotty coverage, Flowx handles that well, it’s an issue with extended offline access or spotty roaming access.

I recollect it took a day or more to lose Flowx weather data.

Fresh weather data is bestest but stale weather data is better than not knowing what to wear!

@duane I was so hot on my vacation because I kept over dressing!! This is the power you have over me!!!

1 Like

That’s the point I was making if you view the weather before you go then go offline the data you viewed is there

2 Likes

I think it is a issue with spotty roaming access after a extended time. Once you get a little download opportunity, Flowx will download the new manifest and many new data for the new forecasts.

Now the hard part come in deciding whether you’ve downloaded enough of the new forecast to override the old forecast. This is where the difficult logic lies.

What happens if you’ve downloaded the graphs for the new forecast but not the map. Or what happens if you’ve downloaded the new rain for the map but didn’t download the new temperature. Do we mix forecasts?

You can see why “always take the newest forecast is such a black and white and easy” option to implement.

One other option is to allow the user to choose the forecast from a list of old forecast, but damn, we’re starting to get complex.

Cheers, Duane.

3 Likes

@duane I agree when I was trying to learn vb6 coding omg it drove me crazy

all I can say is I I don’t do roaming as I am a pay as go type cell plan so if I have to leave town or know I’m going to a location where coverage sucks I open the app get the newest info turn of data and wifi and just use what loaded before I left.

2 Likes

Leverage “travel mode”.
If enabled: cache download attempt ‘travel cache’ vs drawing download directly. (If that’s what you do?)
If download complete: draw from ‘travel cache’
If download incomplete or times out: reshift timescale (leaving blank data at the end of the forecast, equal to reshifted timescale)

Yah, that’s work. But work that should have been done long ago, if you value how the app handles incomplete data.

I’m calling you out. In a friendly roadmap kind of way. This isn’t a pressing bug… but… don’t ignore it either. This has the potential of improving daily performance as well. I don’t think many of us truly enjoy waiting for the app to download and draw all the updates as it currently does.

1 Like

No.
And no choosing forecasts from lists.

Android has some annoying text only message popup that devs can use to alert to failures, like data loads. No UI complexity added when old forecast data is used. Except for blank data at the end of a forecast. You should figure out how to show that and that’s a great indicator to Flowx users, that the data is stale.

1 Like

I don’t think we should confuse travel mode with this. Travel mode just updates the location of the place. There is no such thing as a “travel cache”.

When you download data for a place, it downloads tiles. There might be 4 tiles across the map and 3 tiles up the map, therefore when you download 4x3 tiles = 12 tiles. If you go to another place nearby, this place might overlap and use some of the existing tiles.

When you open Flowx it’ll download a manifest which lists the data sources and the latest forecast. If a new forecast is found, Flowx will start downloading the graphs and 12 tiles for the new forecast. The 12 tiles for the old forecast will still exist on the device.

Note, the manifest is 2.5kB, the graph data is about 4kB per line and tiles are about 500kB per tile.

The issue is deciding when the download is incomplete. How do I know you want to revert back to the 12 tiles from the old forecast? They still exist so I can use them.

  1. Is the download incomplete if it manages to download the graphs but none the tile?

  2. Is the download incomplete if it manages to download 3 of the precipitation tiles?

  3. Is the download incomplete if it downloads the precipitation tiles but not the temperature tiles?

  4. if you change to a neighbouring place after going offline, should it use the old forecast or the overlapping tiles for the new forecast for the other place.

I can assure you, there will be 4 groups of users for each of the cases above, i.e., you won’t satisfy everyone.

I agree, there is potential to improve daily performance but so are many other features and data.

Based on my prioritising criteria it doesn’t rank highly:

  1. how difficult (very hard)
  2. how many users (not many)
  3. how often will it be used (not often)
  4. can it be done properly or is it going to be a pain to get right (probably a pain/fiddly)
  5. will it shift the needle significantly for revenue, number of users, feedback (not likely)
  6. will users go “wow” (not really)
  7. is it fun (no)

Offline data is on the to-do list but to be honest, it’s out of mind. I cannot think about all hundreds of things on my to-do list, that’s why they are on a list. I can only focus on the top 10 and work effectively.

If you want to contrast it, I get far more requests to change the color of a line on the graph.

3 Likes

Just for fun. Here is a screenshot of my to-do list on Trello.

4 Likes