Info

Download .IPA (8.4 MB)

App Link

https://testflight.apple.com/join/7Fvrh5Ci

Testing and Issues

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

Learn how to install .ipa files

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

Voting

5419
by rating

Issues

Some minor issues, but very good speed (almost as good as #71) and nice animations+
iPhone 6 Plus, iOS 12.1
50
Chic Lion Apr 27, 2019 at 15:28
Thank you!
Zoom in on chart 4 randomly throws you to chart 5.
IPhoneX iOS 12.2
25
Chic Lion Apr 24, 2019 at 09:24
Thank you! That is a known issue. It hasn’t been reported earlier, but I was aware of it.

It is a bug on the UITableView side — it does that when i chNge the height of the Chart #4 chart.

In the production I wouldn’t use UITableView and would replace with UICollectionView or own implementation to avoid this type of issues.

Telegram has its own table view implementation which also won’t have this bug.

But thanks for reporting!
Sergey Dikovitsky Apr 18, 2019 at 00:56
Chart line is cut after zoom out transition.
iPhone 5s / iOS 12.2
23
Chic Lion Apr 18, 2019 at 06:02
Wow. That is indeed a bug. Thanks for finding that though!

I went ahead and fixed that too. Please see a slow motion video attached. Alternatively, you can see it here: https://t.me/contest_fixes/6.
C
Incorrect Y axis when zooming 4th chart (With one series it must starts at zero)
iPhone X, iOS 12
23
Chic Lion Apr 19, 2019 at 08:25
That's a very good catch, thank you.

I was unsure what would be the right behavior, hence I did not reply straightaway.

I played around with this and achieved the behavior which I feel makes the most sense. Please find the video attached.

What I do is the following – I keep the "tick" between the Y axis labels and I update Y axis so that the first label starts with zero.
D
Deleted Account Apr 19, 2019 at 10:27
Switching day/night mode causees the list to change scroll potision.
iPhone SE / iOS 12
23
Chic Lion Apr 19, 2019 at 19:46
I would not count it as a bug related to this contest, since the goal was to develop a software for showing charts (a.k.a. a reusable framework).

However, since I am planning to upload this work to Github after the contest ends, I digged into the issue and found the cause.

For those who are interested, it is caused by the fact that during the day mode I have translucent navigation bar, and during night mode – opaque one.

As a consequence, when you scroll and change a theme, the content inset of UITableView get changed and that causes that jump.

I did not want to fight UITableView now, because I know Telegram uses a custom one. I fixed a bug simply by making navigation bar always opaque. Please see a video attached.
D
Deleted Account Apr 19, 2019 at 10:36
Unable to start scrolling the graphs, if the scroll starts inside the range selector.
iPhone SE / iOS 12
23
Chic Lion Apr 19, 2019 at 19:59
That is a good catch. As other folks mentioned, you are doing a great job testing our solutions.

I did some further testing, it also seems to happen when you try to scroll when finger is on the range selector border.

Please see a video with the fix attached.
Gentle Phoenix Apr 17, 2019 at 13:00
Where left date?
IPhone 6s, iOS 12.2
22
Chic Lion Apr 17, 2019 at 19:40
Good catch! There was an issue on my side – I was jumping from the "monthly" scale directly to the "quarterly". As a result, it was showing every third-month label and the label on the left ("Apr" from 2018) wouldn't fit within the screen.

I went ahead and fixed that. Please see a video with the new version attached. I feel that now looks way better.
Gentle Phoenix Apr 17, 2019 at 13:02
Tooltip twitches, and clipping
IPhone 6s, iOS 12.2
21
Chic Lion Apr 17, 2019 at 19:50
Agree, it does not look great. It is caused by the fact that I display full month name instead of the shortened version. I, somehow, haven't noticed that designs require to shorten month names.

I went ahead and fixed that too.

There seems to be a bug with attaching videos to the replies. So I went ahead and created a Telegram Channel where I post videos of the fixes. Here you go: https://t.me/contest_fixes

Thanks!
Sergey Dikovitsky Apr 18, 2019 at 00:48
Laggy pie chart animation. Looks like draw(rect:).
iPhone 5s / iOS 12.2
21
Chic Lion Apr 18, 2019 at 06:03
Agree. There is definitely a space for improvement.

On a side note, that is not a draw(rect:). It is a custom property animation on CALayer with the overwritten display().
Perfect Sheep Apr 18, 2019 at 22:00
The tooltip bugs on the edges so it is not possible to click it while holding other finger.
iphone6 12.1.4
21
Chic Lion Apr 19, 2019 at 07:07
I wouldn't see it as a major UX issue, because in most cases people use device in one hand. However, since the fix is trivial, I went ahead and updated the behavior.
Perfect Sheep Apr 18, 2019 at 22:04
Tool tip disappears when there is only 1 column visible, and u long tap any button that has higher order/index.
iphone 6 12.1.4
20
Chic Lion Apr 19, 2019 at 06:32
That's indeed an inconsistent behavior and a usability issue. Please find a fix attached. Thank you for reporting these!
Mighty Whale Apr 19, 2019 at 17:03
Selected value view is not animated when scroll/scale.

PS. Found issue just to add comment :) That was pretty hard. I think this app should be a winner, bug with x labels is not critical.
iPhone SE
10
Chic Lion Apr 19, 2019 at 20:31
Thank you! I really appreciate that ;)

In regards to the issue – I am not sure I fully understand you. If you mean that the selection line doesn't animate along x axis when you start scrolling and simply fades out, then it is the intentional behavior which I aimed for.
Perfect Sheep Apr 20, 2019 at 02:11
hey just a small issue with blinking labels :)

now that ive actually tested almost all the apps - yours is really the best:
- no crashes no glitches
- works fast af
- supports landscape
- all bonuses are implemented with awesome animations
- design is perfect
- you gracefully handle all the issues
- u now 50k richer :D

ggwp
iphone 6 12.1.4
10
Chic Lion Apr 21, 2019 at 19:32
Thank you! :) I really appreciate your feedback.

As always, please find a video with the fix attached. I will be improving X axis in the next following days – I want to animate labels when you tap on the range slider instead of hard-replace.

I've also just created a new TF link with the new build: https://testflight.apple.com/join/5gT9TRL8
D
Deleted Account Apr 19, 2019 at 10:19
Graphs get clipped in the bottom left corner (that was mentioned above, but here it is just when scrolling with selector). Values like 884.2k and 28.9 could be rounded a little nicer (it's actually harder to do, than this naive approach). Also, pretty hard to read numbers that are right above the colored graph, line 722.2K on the left for example.
iPhone SE / iOS 12
3
Chic Lion Apr 19, 2019 at 19:29
> Graphs get clipped in the bottom left corner

That is intentional – I personally believe that it is better to clip it this way, rather than showing the line below the view port.

Alternatively, I could count those points as visible and adjust Y axis. But I also did not like that approach, since those points are technically outside of the view port too.

It is a subjective.

> Values like 884.2k could be rounded a little nicer

I have implemented proper rounding back in stage 1, and I kept it during the first few days of stage 2. After playing with the new charts I did not like the behavior and the feeling. If I round everything nicely to 890K or 900K instead of 884.2K, then Y axis values change a lot.

> Hard to read numbers that are right above the colored graph

I do agree. Back during stage 1 I've implemented labels with the stroke, but removed because it was slowing down the performance on older devices.

There are many approaches on how to solve that.
D
Deleted Account Apr 19, 2019 at 10:42
When selector is in its rightmost position it is very hard to get it out of there.
iPhone SE / iOS 12
3
Chic Lion Apr 19, 2019 at 20:02
I played with that myself and did not face any issues with moving the left border in the same conditions as you showed in the video.

From what I can see on the video, your finger is landing on the right border and you are trying to move it left.

I allowed people to collapse range slider as much as possible, so that they can focus on as few points as possible.

However, when two borders are close to each other, you have to be more precise in your touch gestures and try to touch the right border.
D
Deleted Account Apr 23, 2019 at 07:58
When turning on battery saving mode, 4th chart becomes really laggy. Most other fast apps do not display such behaviour, in video I open Fluffy Ram's app (as example) right after yours in the same conditions and it works as fast as without battery saver mode on. Since the battery saver mode is usually turned on when battery is below 20%, there is a pretty good chance, that people will see your app in that state. 

So please, do not consider this to be an edge case, but rather a pretty common use case.
iPhone SE / iOS 12
3
Chic Lion Apr 23, 2019 at 12:21
I haven't said that having battery saver mode is an edge case.

What I see in this video definitely looks like a bug which I will have to fix. I have a few ideas of what could have caused that – most likely it is related to some tricks which I do with Core Animation.

UPDATE:
I've done initial testing. Seems that Fluffy Ram (and many other apps) update chart without animations. As a result, it has some twitches when moving range slider. Please see first video attached. Moreover, this app has another chart related issue – please see the second video.

It is in not a counter-blaming, neither it is a self defense. I am simply sharing my findings – it might be interesting to other engineers here.

I thought about that, and I believe that it makes sense to disable all animation when user is in low power mode, so that we do not do redundant CPU/GPU iterations.

However, I am still aiming to fight Core Animation and fix it without an easy fix which I mentioned above.
D
Deleted Account Apr 19, 2019 at 10:48
In the chart number 4, you are not supposed to show the range selector when zoomed in. You could argue that you left it there intentionally, but leaving it there is easier than removing it as the design requires.
iPhone SE / iOS 12
2
Chic Lion Apr 19, 2019 at 20:06
You are right – I left it intentionally.

I am not here to argue.

However, I do not see how leaving it there is easier than removing. It is similar amount of work as removing the columns control view – a couple of minutes. I spent significant amount of time playing with the animation to make UITableViewCell expand nicely and transition from one chart height to another. It would be much easier to simply replace slider with the columns control view.
D
Deleted Account Apr 23, 2019 at 12:28
Sometimes Y labels text does not fit causing labels to truncate it.
iPhone SE / iOS 12
2
Chic Lion Apr 24, 2019 at 07:29
Thanks for reporting that! Very stupid mistake. Happens 🤷‍♂️

Please find a video with the fix attached.
D
Deleted Account Apr 19, 2019 at 11:37
A pretty minor issue, but still. the graph part that is parallel to x axis is not center aligned with the "170" line, it is lower. But this is inconsistent, if you look at the line at 0 on next screenshot, it is higher, and still not centered. Plus the round red circle is clipped. Probably some rounding issues there.
iPhone SE / iOS 12
1
Chic Lion Apr 19, 2019 at 20:23
Agree, it is a minor issue. However, I want everything to look great. I went ahead and fixed that. Please find a screenshot attached.

However, now it feels like the issue is a bit inverse – the line is slightly above Y axis. I will have to play more with that. There are two possible issues – I do weird rounding, or, OS fails to draw at the given coordinate and rounds it to pixels.

Later this week I will publish a TF link to the new build with the improvements to my Telegram channel: https://t.me/contest_fixes
Crazy jumps
1
Chic Lion Apr 23, 2019 at 05:31
There is a thoughtful optimization in place — on a devices with the A8 or newer processors, I update Y axis in real time. For older devices, I update Y axis only when velocity of the scroll drops, meaning you are done with the scroll, or when you release the finger. 
Perfect Sheep Apr 18, 2019 at 21:51
Incorrect y values when no data is in range
iphone 6 12.1.4
Chic Lion Apr 19, 2019 at 06:36
I wouldn't say it's incorrect, since the correct behavior in this case is subjective. I saw that some people chose the approach of having 0 on each label on Y axis. However, my personal opinion is that not updating Y axis looks better from UX perspective.
D
Deleted Account Apr 19, 2019 at 10:12
Weird screen title animation on app start
iPhone SE / iOS 12
Chic Lion Apr 19, 2019 at 19:19
That is caused by the fact that I persist the theme between session and load the theme when you open the application. By mistake, I made it to update the theme animated instead of by simply changing colors. And that has caused this weird UINavigationBar behavior.

That's not justification thought. I went ahead and fixed that too. Please see a video attached.
D
Deleted Account Apr 19, 2019 at 10:53
At times the points on selected line get under the values view, small issue, but it still is.
iPhone SE / iOS 12
Chic Lion Apr 19, 2019 at 20:10
The behavior I have in code is the following:
1. If I can show the info view above the selection (centered), then show it above the selection.
2. If I cannot, because it will cover the selection, then I try to show on the left.
3. If it doesn't fit on the left, then I try to show on the right.
4. If it doesn't fit on the right, then I fall back to showing it above (centered).

The video you posted would be harder to reproduce if I wouldn't have made a mistake in the date formatting for the info view – I used full month names instead of the shortened. Having short month names would make info view narrower and it would fit on the left or on the right.

I fixed that as a part of the "info view twitches" issue which was reported above.
Does not support iOS 8. Telegram does.
Chic Lion Apr 23, 2019 at 05:15
There was no requirements in regards to the iOS version. However, making it work for iOS 8 is not a big deal, since I do not use latest APIs.
Major issue: 40-45 fps during 1st chart scaling on iPhone 6+, 30 fps on iPhone 5. For more details read my comments about performance of entry213.
Chic Lion Apr 23, 2019 at 05:51
Could you please attach a video? I tested on iPhone 5, 6 and 6+. It is indeed not as smooth as on newer devices. But Xcode showed higher numbers, averaging at 45/50 FPS on iPhone 5, and 50 on iPhone 6+ and 55 on 6. 

As contestant #213 mentioned, you might have had power saving mode enabled or measured incorrectly. 
Laggy filter toggle animation on line charts on iPhone 6+ (around 20 fps).
Chic Lion Apr 23, 2019 at 05:51
Could you please attach a video? I tested on iPhone 5, 6 and 6+. It is indeed not as smooth as on newer devices. But Xcode showed higher numbers, averaging at 45/50 FPS on iPhone 5, and 50 on iPhone 6+ and 55 on 6. 

As contestant #213 mentioned, you might have had power saving mode enabled or measured incorrectly. 
Major issue: when you increase the window dates show only months. Not only the UX is suffering, but also it gives this contestant a major advantage in performance over other participants (it's pretty easy to cache month titles as static images).
iPhone 6+, iOS 11.2
Chic Lion Apr 23, 2019 at 05:22
I do not see it being an issue. I did it on purpose and I see it is an UX improvement, IMHO. I did not like the approach of showing “7 Apr”, “6 Dec”, etc. You need X axis to understand the scale. When you look at the 6+ month scale, labels such as “7 Apr” don’t give you more valuable information than “Apr”.
Can't apply new filter until the animation of previous one is finished.
Chic Lion Apr 23, 2019 at 05:26
Could you please attach a video next time when you report an issue?

I just downloaded the TF build, which is attached to this submission, and tested — you can change the status of multiple filters/columns at the same.

You cannot tap fast on the same column to enable/disable it until the animation is finished.

It is not a bug. Byt there is indeed a space for a minor improvement. And I improved that already. If you are interested to see that, please follow this link: https://testflight.apple.com/join/5gT9TRL8
Laggy scrolling
iPhone 5, iOS 10.3
Chic Lion Apr 23, 2019 at 15:53
Could you please attach a video showcasing that?

Performance on iPhone 5 is indeed not as smooth as it is on iPhone 6. But it was relatively ok — FPS was around 45/50 during fast scroll on any chart.
Night/day mode switching is not consistent.
iPhone 5, iOS 10.3
Chic Lion Apr 23, 2019 at 05:43
Could you please be more specific? From the video you attached I cannot see anything but a nice animated change of the theme.
D
Deleted Account Apr 24, 2019 at 08:12
Dates are cut off
iPhone Xs, iOS 12.2
Chic Lion Apr 24, 2019 at 08:41
I kept the X axis from the Stage 1 designs. I plan to improve it. I will update this comment with the video of the fix attached.

UPDATE:
Please find a video with the fix attached.
D
Deleted Account Apr 24, 2019 at 08:13
Dates hide on x-axis
iPhone Xs, iOS 12.2
Chic Lion Apr 24, 2019 at 08:22
Yes, it is intential and I see value in that. I do not see any value in showing “6 Apr, 6 Jul, 6 Oct”. I prefer “Apr, Jul, Oct”.
D
Deleted Account Apr 24, 2019 at 08:18
Charts must have exactly 7 dates on x-axis always
iPhone Xs, iOS 12.2
Chic Lion Apr 24, 2019 at 08:20
It was not a requirement. My X axis adjusts to the current scale of the graph.
D
Deleted Account Apr 24, 2019 at 08:19
Percentage chart must have 25% step
iPhone Xs, iOS 12.2
Chic Lion Apr 24, 2019 at 08:25
I kept the consistency across all charts — 6 axis. It is a single variable change. However, I see no value in that.
D
Deleted Account Apr 24, 2019 at 08:20
Wrong line position
iPhone Xs, iOS 12.2
Chic Lion Apr 24, 2019 at 08:34
Sorry, but I disagree.

The behavior is the following:
- We try to position view above the selection. If selection is close to the edges of the graph (left or right), then we center it, and then adjust position so that it doesn't go outside of the graph view.
- If we cannot position the view above the selection, then we try to move view to the left of the selection
- If view doesn't fit on the left, we try to move it to the right
- If we cannot move to the right, it remains centered (see first bullet point)
D
Deleted Account Apr 24, 2019 at 08:24
Zoomed chart must have only time
iPhone Xs, iOS 12.2
Chic Lion Apr 24, 2019 at 08:30
Sorry, but I totally disagree.

We did not have screenshots of the zoomed in chart with the expanded range selector. In the context on 1-3 days it makes sense to display only time. However, when you have more days selected, it becomes hard to understand X axis if it has only times. Hence, I decided to go an extra mile and switch between date formatters depending on the range selected.
Swift Peacock Apr 25, 2019 at 10:57
Design/visual issues:
• range selection slider should have light border in 'filled' chart types in day mode
• wrong disclosure indicator color in selected values table in night mode
• (not a requirement) highlighted state of selected values table is barely noticeable especially in night mode
• (not a requirement) column selection buttons don't have highlighted state
Chic Lion Apr 25, 2019 at 11:26
1. It is not true. Please see a iOS_1.png attached. It is from the designs which were provided. Half of the screenshots had that border and half did not. I presumed, that it is the choice which engineer can make.
2. I just double checked – iOS_1_Night.png screenshot has color (76, 84, 96), and iOS_4_Night.png has color (44, 53, 65), which I ended up using in the code. I picked colors myself from screenshots before the design documentation was provided, then I compared 2-3 colors to confirm that my picked colors are correct, but I was not checking all 10+ colors, I assumed screenshots have correct values.
3. Agree, it could be improved. There were no colors provided, so I just generate 10% darker color.
4. Agree, that could be improved. Please find a video with the fix attached.
Swift Peacock Apr 25, 2019 at 11:02
Device locale is not respected in:
• Dates formatting (everywhere)
• Numbers formatting (decimal grouping and separator in selected values table)
• Percent numbers formatting (5th chart)

Also device time zone is not respected – all dates/times are displayed in UTC instead of local device time
Chic Lion Apr 25, 2019 at 11:35
1. Could you please attach the screenshot? I, indeed, haven't tested other locales, but I assumed basic formats, such as "dd MMM" will work on all locales. I'd appreciate if you could provide the screenshot, otherwise I will check it myself later today.
2. I am not sure what exactly you mean. I double checked, my value formatting is aligned with the one on the screenshots.
3. I am not sure what exactly you mean. Could you please clarify?

I made mistake in regards to the date format in the info view – I used MMMM instead of MMM, and that caused some issues with the info view moving a lot. However, it was reported earlier and I fixed that.

In regards to UTC – yes, I time zone to GMT on purpose, so that charts look better and are aligned with the screenshots. Without that, in some locales the JSON data would start from 6 AM. I presumed that when they launch it in production, backend will be providing localized timestamp. And even if not, it will still work perfectly.
Swift Peacock Apr 25, 2019 at 11:18
Sometimes 'points avoiding logic' for selected values table doesn't work properly (see video). Seems to be caused by the width of the table, but that in turn is issue with date formatting in the title which is different from what was suggested in mocks.

Subjectively, I also don't like this avoidance logic – displaying table centered for selection and moving it left/right when it obscures selected points. For certain types of charts it causes table to frequently change position even when you pan slowly through the selection (2nd video).
Chic Lion Apr 25, 2019 at 11:39
It is a duplicated issue – it was mentioned above already and I fixed date formatting to MMM instead of MMMM. By changing to MMM it reduced flickering a lot. With MMMM the width of the info view kept changing a lot – May vs December – almost 3x length difference. 

The behavior I have in code is the following (hasn't change since submission):
1. If I can show the info view above the selection (centered), then show it above the selection.
2. If I cannot, because it will cover the selection, then I try to show on the left.
3. If it doesn't fit on the left, then I try to show on the right.
4. If it doesn't fit on the right, then I fall back to showing it above (centered).

Please try the new TF build with the fixed format – https://testflight.apple.com/join/5gT9TRL8.

I'd appreciate if you could go through all past issues and responses before reporting new issues, so that we both don't waste our time. Thank you!
Swift Peacock Apr 25, 2019 at 11:41
Issues with date/time labels on the X axis:
• 4th chart in zoomed-in state displays times not aligned to hour bounds (screenshot 1)
• Hours picked for display are no so 'nice numbers' compared to what mocks use – 5, 11, 17 vs. 0, 8, 12 (screenshot 2)
• There is a nice behavior when during scaling new labels appear a) only between visible labels b) with animation. This behavior breaks on higher zoom scales (video)

PS: the dynamic switching between hours/days/months during is scaling is a cool feature 👍
Chic Lion Apr 25, 2019 at 11:48
1. Agree, that could be improved. The logic I have is the following – I take the last hour and then go back by 1/2/4 and so on hours. Since the last date in the JSON was 23:55, all other dates were in XX:55 format.
2. I take the last hour data point from the JSON, which had 23:00 and step back by 1/2/4/8 and so on hours depending on the scale. I don't think it's an issue and I believe that it is the right behavior. (P.S. If the last data point in JSON had 00:00 (as it designs), then X axis would be aligned with the designs too.)
3. Agree, I made a mistake and added one or two scale options which are not the 2 in power of N. If I had 1/2/4/8/16/32/64/128, etc, then I'd not have that issue.
Nobody added any issues yet...