Info

Download .IPA (6.8 MB)

App Link

https://testflight.apple.com/join/dC3pJ2au

Testing and Issues

You can test this app and submit issues during the testing period of the iOS Chart contest.

Install .ipa files via AltStore

Entries with serious issues will not be able to win the contest, but even minor issues might be important for overall results.

Voting

324
by rating

Issues

Vertical scrolling is very sloppy, particularly when all the charts are zoomed out to the maximum time range. Poor to average performance overall.
iPhone 6 Plus, iOS 12.1
50
No percent indication on pie chart, no selection of pie chart parts
iPhone SE / iOS 12
21
Sergey Dikovitsky Apr 17, 2019 at 15:28
Bar chart has gaps between colored segments.
iPhone 5s / iOS 12.2
21
Hiding charts while scrolling or scaling makes the app twitch and disposition UI elements
iPhone 6, iOS 12.1.4
21
Graph gets splitted into separate bars during animation if you select filter and then move selector
iPhone SE / iOS 12
20
Swift Peacock Apr 23, 2019 at 21:42
Right, there is a number of visual/animation issues if you do multiple things at the same time. Should have just set `view.exclusiveTouch = false` for simplicity :)
Unable to start scrolling the table when scroll starts inside the range selector
iPhone SE / iOS 12
20
Swift Peacock Apr 23, 2019 at 21:48
This is intentional to allow pan gesture on the range selector to start immediately. Otherwise vertical scroll's pan conflicts with the it the default system behaviour is to wait ~10 initial pixels of a gesture to decide which pan should win. I felt like the vertical scroll is just a temporary UI here for the purpose of the contest and therefore range pan is much more important and it's better to have it respond immediately. In production application there likely won't be a vertical scroll at all.
Swift Peacock Apr 23, 2019 at 22:01
Added extra space for the line width, forgot about the point width – good catch
Holding down a touch to show annotation and scrolling the trimmer results in lags and Y axis values disposition.
iPhone 6, iOS 12.1.4
11
Lags selection bars
IPhone 6s, iOS 12.2
10
Swift Peacock Apr 23, 2019 at 22:03
Not sure what you mean by lagging here
Swift Peacock Apr 23, 2019 at 22:05
Just noticed it on the designs, seems weird to have it there outside of the chart area. It will intersect the 'Zoom out' button during transition – not good. Anyway – good catch
Scaling chart with the trimmer and scrolling the chart area with the finger at the same time results in immense lags and bugs.
iPhone 6, iOS 12.1.4
10
Swift Peacock Apr 23, 2019 at 22:07
There is a number of visual glitches when you do multiple things at the same time – didn't have to time even check these scenarios. I guess simple `view.exclusiveTouches = true` would be a nice short-term fix
Grabbing the trimmer on the left side results in attempt to hide the view controller.
iPhone 6, iOS 12.1.4
10
Swift Peacock Apr 23, 2019 at 22:14
I'd say it's not really relevant for the contest because the back gesture is only part of this temporary UI for the contest. In real app depending on how chart is presented this can be resolved. Still an issue though
D
Deleted Account Apr 18, 2019 at 08:19
Not sure what this blue bar above the zero line is supposed to do.
10
Swift Peacock Apr 23, 2019 at 22:19
Unintended consequence of a hack fixing shape layer animations in some edge cases :)
Лейсан Apr 19, 2019 at 09:17
3 chart. When you move finger the values view moves but the highlighting of bar does not
IPhoneX iOS12
10
Swift Peacock Apr 23, 2019 at 22:23
Right, reproducible in zoomed-in state only, that's why I missed it…
Sergey Dikovitsky Apr 17, 2019 at 15:21
Poor scrolling performance.
iPhone 5s / iOS 12.2
1
Swift Peacock Apr 23, 2019 at 21:54
Some details would be helpful – there is a lot of 'scrolling' in the app. The worst device I have is 6 Plus and I see a visibly worse perf in 3rd chart in 'zoomed out' state only. Please share if you noticed other cases.
Sergey Dikovitsky Apr 17, 2019 at 15:27
Charts do not animate lines, plot is just changing dependent on position. On top of that, lowest plot line is placed not on bottom.
iPhone 5s / iOS 12.2
1
Swift Peacock Apr 17, 2019 at 17:38
> Charts do not animate lines, plot is just changing dependent on position
That's a feature – synchronous y-scaling with x-movement. To my taste makes scrolling feel faster and more pleasant to use. I consider having multiple out-of-phase animations – when y-scaling always catches x-position with some delay – a bad UX.

> On top of that, lowest plot line is placed not on bottom
On the screenshot it is? Or what is a 'plot line'?
Values add up to 101 percent instead of 100
iPhone SE / iOS 12
Swift Peacock Apr 17, 2019 at 17:26
I see the only way to resolve this is to use incorrect rounding for some (at least one) of the values. What is worse – displaying incorrect value for one item or having an incorrect sum – is a great question. I chose later because it's less misleading to the user – you can always attribute incorrect sum to rounding when you see it. Contrary when the sum is fixed to 100 you never know which value is incorrect and by how much.
Sergey Dikovitsky Apr 17, 2019 at 15:30
It's possible to hide all lines on chart #2, but lines hiding here shouldn't be possible at all.
iPhone 5s / iOS 12.2
Swift Peacock Apr 17, 2019 at 17:39
I don't understand, why it shouldn't be possible?
Swift Peacock Apr 23, 2019 at 22:05
Hard indeed :)
Value on the Y axes are sometimes clipped.
iPhone 6, iOS 12.1.4
Swift Peacock Apr 17, 2019 at 18:35
Y labels and lines follow chart surface not the viewport. They also follow strict logic for when to appear – with enough zoom new values can appear only between existing values. The initial interval is selected to display ‘nicest looking’ numbers . All this ensures value displayed on individual label/line never changes.
With that algorithm clipping is inevitable, but when it occurs y lines and labels disappear with fade out animation.
I like this implementation of labels the most, took some time to implement originally and extend for use in the 2nd chart. Thanks for noticing :)
Changing the theme makes the app ignore user interaction and is slow.
iPhone 6, iOS 12.1.4
Swift Peacock Apr 17, 2019 at 21:30
If by slow you mean having an animation then I guess it's a feature…
Going back from zoomed chart while touching down makes the tooltip on the main chart not display the disclosure indicator
iPhone 6, iOS 12.1.4
Wrong design of 4th chart and bugs
iPhone 6, iOS 12.1.4
Percents are not always 100% on 5th chart
iPhone 6, iOS 12.1.4
Swift Peacock Apr 17, 2019 at 21:35
Is having an incorrectly rounded value(s) any better than having a sum not matching 100?
> If by slow you mean having an animation then I guess it's a feature…

Turns out it is slow because the zoomed in chart drops frames.

Overall i like your app though :) all the issues are basically summing up to one issue with processing of touch events and frame rate drop while zooming in. Transitions are really cool! :)
iPhone 6, iOS 12.1.4
D
Deleted Account Apr 18, 2019 at 08:02
The header displays April 7th, while the data is for April 5, 6 and 30th.
iPhone SE, iOS12
Swift Peacock Apr 18, 2019 at 09:48
Time zone on your device is something with GMT+8. You are looking at 6th April chart, but the data there is for UTC. Tail end of this data (8 hours) in your time zone is April 7th.
D
Deleted Account Apr 18, 2019 at 08:06
Selection info sometimes displays wrong number of lines.
Swift Peacock Apr 23, 2019 at 22:15
Curious on how to repro this
D
Deleted Account Apr 18, 2019 at 08:16
Selection info has wrong size if you display it after enabling some filters.
D
Deleted Account Apr 18, 2019 at 08:28
Selection zooms in into a range (23-24 March) instead of a single day.
Swift Peacock Apr 23, 2019 at 22:22
The date range displayed is correct because the initial zoomed interval includes 0:00 of the next day (which is technically a 'next day'). Should have made it to zoom into 0:00 – 23:00 range I think
D
Deleted Account Apr 18, 2019 at 08:32
Isn’t there supposed to be a starting grid line at the minimum? On the other hand, there’s an extra grid line without a label on the top.
Swift Peacock Apr 18, 2019 at 10:05
This depends on the y-label/grid lines logic. I already described mine above. With it there's no 'starting grid line' for a viewport and the the top label will appear once there's enough space for it above the line.
D
Deleted Account Apr 18, 2019 at 08:48
Stacked chart does not display selection after zooming in. After that the selected bar is colored incorrectly.
Swift Peacock Apr 18, 2019 at 10:11
Preserving selection when zooming is a requirement you came up with. Video samples don't have it and I don't think it makes much sense given values have different meanings and scale in overview and zoomed data. Selection in the zoomed state is a valid issue though.
Scrolling has visible frame drops even on iPhone X
iPhone X 12.2
Лейсан Apr 19, 2019 at 09:24
You can still see chunks of graphs that are not supposed to be visible, when changing filters. Overall changing of visibility looks buggy
IPhoneX iOS 12
Swift Peacock Apr 23, 2019 at 22:26
This is the same problem as above – in zoomed-in bars selection doesn't update and when you toggle filters you still see the same original selected bar. Or you see any other issues here?
D
Deleted Account Apr 21, 2019 at 05:39
# All charts
- Small number of y lines, only 3 that have values, by design you should always have 6 (1.jpeg).
- Charts do not always start at min value line they are supposed to, which leads to a lot of unused screen real estate (2.jpeg)
- The table sometimes loses frames dramatically on scrolling between charts. (stutter.MP4) (has been reported before, here is video from iphone SE)

# Chart 2
- When graphs are right under y values, it makes reading those values pretty hard at times. (3.jpeg)
- The value 750 200 should be directly on or slighlty above the 750k line, on the screenshot it is slighly below (4.PNG)
iPhone SE / iOS 12
Swift Peacock Apr 23, 2019 at 23:21
Reply is too long to post here, link: https://pastebin.com/F2YUbXW1
Does not support iOS 8. Telegram does.
Swift Peacock Apr 23, 2019 at 23:32
Telegram also supports:
• iPad
• landscape orientation
• Dynamic Type
• many languages
• RTL languages


Does your app support all (any) of this?

I mean I also don't like lack of clarity for the min iOS version required – I feel like some ppl using iOS 11 or something have some advantage. But I guess since they don't have this requirement stated explicitly you can't call using any min iOS version 'an issue'.
maxY on chart has to be on the same position as y-coordinate of the highest y-value by design
Swift Peacock Apr 23, 2019 at 23:34
I'm not sure I understand exactly what you mean. But I'm sure there are no exact requirements on y-labelling logic. I described mine above and see no issue here.
Critical: 15 fps on iPhone 5 during 1st chart scaling, 22 fps on iPhone 6+. For more details read my comments about performance of entry213.
Swift Peacock Apr 23, 2019 at 23:38
I used 6 Plus, noticed degraded perf in 3rd chart in zoomed-out state only. Curious what you use for FPS measurement, if it's 'Core Animation' Instruments.app then I have bad news for you. Won't go into details here but a hint is look at this instrument FPS output number when you don't touch/move anything at all ;)
Major: Bars flicker during slow scaling. Looks like this contestant use only integer values for bars. Not only the UX is suffering, but also it gives this contestant a major advantage in performance over other participants.
Swift Peacock Apr 23, 2019 at 23:51
I guess this flickering on the edges is caused by the way Core Animation does antialiasing for not-pixel-aligned shape edges.

The 'integers theory' is interesting though. Sorry for all the suffering – will sacrifice everything for this sweet sweet integer performance :)
But still, 14 fps during bar scaling on iPhone 6+
Nobody added any issues yet...