Vendor's app doesn't sort correctly on an iPad (but OK on two other platforms) - Page 1
Forum section: electronics / general

author: xrunner
author_rank: Super Contributor
timestamp: September 20, 2023, 09:07:07 pm
content: I just thought this was strange so I wanted to ask you guys. I have TV from Spectrum streaming service. I have the Spectrum app on a three Rokus in the house, an iPhone SE, and a new iPad 4th Gen.For a few months I noticed the channel lineup guide, sorted by channel number, on the iPad app, has weird issues. It doesn't seem to sort the entire channel lineup correctly. This does not happen on the Roku app or the iPhone app.For example, the entire channel listing goes from 1 to 2235. There are gaps but that is normal. The point is on the Roku and the iPhone the channel numbers in the guide are sorted correctly from 1 to 2235 in sequence (with normal gaps).However on the iPad it doesn't sort right. It sorts right from 1 to 100, then in the 200 range there are strange channels out of sequence, like you might see channel 50, or other lower numbers, and also in the 300 range same errors, and then worse it doesn't show many of the higher ranges at all, like in the 700 to 800 range - no channels even show up. This is sorting by channel number.But even worse, when you select sort by network name, it doesn't work either. It should be alphabetical, but it isn't. The sort order is completely non-nonsensical.I finally got fed up and called the problem in, and after all the questions assuming you must be a stupid ignorant monkey, and removing and re-installing the app, they realized there is a problem with the iPad app and not the others, and made up a ticket to get it fixed.But what I was wondering is: how could this come about from a software engineering issue? I would think that at a low level the sorting would be the same. Wouldn't most of the code be a lot alike between all three apps. Especially the iPhone and iPad. What could cause the iPad app to sort wrong and only that app?

author: golden_labels
author_rank: Super Contributor
timestamp: September 20, 2023, 11:33:36 pm
content: This is not a symptom characteristic to anything specific. This is proprietary software, so we also can’t easily verify guesses.So let me rephrase the question and put it like this: if that was your software exhibiting that behavior, what would be worth checking?Verifying that comparators are consistent and definetotal ordering. If they are not, the output is going to depend on the sorting algorithm used and data being sorted.Ensuring, that the containers used are appropriate for the task. If a container does not guarantee maintaining order or it may be dependent on additional factors, the output may change from implementation to implementation. Or even from data to data.

author: AndyBeez
author_rank: Frequent Contributor
timestamp: September 30, 2023, 09:56:39 am
content: You say you are using an iPad 4th Generation; the last IoS version that this device supports is IoS 10, which is classified by Apple developers as obsolete and unsupported. The rule-of-thumb for legacy support is to commit for up to three versions back. As the universe is now on IoS 17, even those not upgraded to IoS 14 will fall outside the support bandwidth. The App Store would only 'stock' updates going back to IoS15. The iPhone SE (Gen1) stops at IoS 15. Anecdotally, I understand Android developers only provide legacy support for the last version of 'droid as Google rolls out too many changes between Android releases.From a software developer's standpoint, there is no incentive to provide updates for 'new' features on older software, even if the software's function is identical in all prior versions. In your specific case, what might have changed is data formatting (JSON?) in some third party API. This change would have been folded into the updates for the supported versions, but not the iPad running IoS 10. Hence the sorting fail.Personally, I consider legacy obsolescence through software upgrades is just a cynical methodology that creates e-waste and tech hate.

author: xrunner
author_rank: Super Contributor
timestamp: September 30, 2023, 11:02:54 am
content: Quote from: AndyBeez on September 30, 2023, 09:56:39 amThat was a mistake on my part. It's a new iPad 10th gen. In any case I did get several phone calls from Spectrum and they acknowledged the flaw in the channel sorting. It's still just strange to me that the channels sort correctly on a new iPhone and the Roku app, but not on an iPad.

author: AndyBeez
author_rank: Frequent Contributor
timestamp: September 30, 2023, 11:41:43 am
content: In which case it sounds like someone did not do their testing correctly. Unless that is, they do TDD and consider every live release is a public beta, until a public customer (that's you) identifies their next 'stability fix'.

author: golden_labels
author_rank: Super Contributor
timestamp: September 30, 2023, 06:12:25 pm
content: Linking AndyBeez’s last post and my response, a note.Both bugs I mentioned are, strictly speaking, undefined behavior. Both depend heavily on data and implementation. So they may easily slip through testing. To make matter worse, the second one is often a consequence of the “I tested it and it worked” mentality.Which is not to be taken as a suggestion to diminish importance of testing. It’s a reminder of a particular shortcoming.