This week we were at half capacity as one of us was traveling to Toronto for a family wedding – luckily no cases of COVID reported from the event, phew!
That in mind, the focus for this week's drop was once again on reliability and performance. We continued building on last week’s progress on time entry and have been polishing it so you can set the time for your events in an intuitive and reliable way (drag/drop, pull to lengthen/shorten, tap to set, and so on). This is a critical feature for any calendar app and we're happy that our decision to forgo the (trusted but boring) “time wheel picker” is starting to pay off. It's always tested really well in usability (when it’s worked!) but we've been nervous about its reliability – well no more, we're not too far from the promise land now!
Also, a huge shoutout to our “sleepy” friend @SamDeane for helping us figure out a number of performance improvements related to the Stream. As with everything in the app, we want the experience to be world class and buttery-smooth-scrolling is a must-have by our standards. Lucky for us, we know Sam, and his expertise was the guidance we needed to polish the (slightly) annoying choppiness.
As always, the rest of our efforts around bug fixes and whatnot are documented below.
Finally, if you're not following us on Twitter yet, check out @timingis_ . We've posted a few "jams" (super short audio clips) you can listen to for a bit more behind the scenes.
- Significant improvements to overall performance, most noticeable in the now buttery smooth scrolling. Rock solid foundations have been re-built for more optimisations to come to make the experience consistently snappy!
- When you scroll into a new week or month, it will highlight how many weeks/months away it’s in.
- Tapping on the handle when in Perspective mode should reset the bar to the default state (and not collapse it).
- Should restore to its default state quicker than before once scrolling stops.
- Selected date on pulldown will preserve their colour intensity indicating busy levels on the day.
- Scrollview will only automatically shift up/down when you’re dragging the new entry card and have reached the top or bottom edges, whereas previously it will perform an unnecessary scroll throughout the drag.
- The auto-scroll works regardless of which handle you’re holding onto, e.g. bottom handle dragged upwards will auto-scroll when it needs to and vice-versa.
- No unnecessary scrolling when you use an accelerator (morning, afternoon etc.) that shifts the time to a period that’s already visible (it’s smart enough to scroll if one of the times isn’t visible though).
- When changing the time — no matter the method — a scale effect should make the time you’re changing to more clear.
- Time selected now uses a similar scaling effect so they are easier to spot compared to other times.
- Dragging by the handles should feel more responsive/intuitive.
- Start time for an entry being added to today should default to the next 15 minute interval (albeit in an inactive state).
- Toggle to switch keyboard state from hourly to numpad should be more difficult to miss.
- Refreshed appearance of numpad keyboard so everything is visible and it animates smoothly when swiping between first and last 12 hours.
- All-day events no longer considered when calculating total scheduled mins for a day.
- Similarly, multi-day events only consider the time that occurs within the day in the total calcultation (as long as they’re not 24 hours in length, in which case they’re also considered all-dayers). We’re currently debating whether a multi-day event that takes place over more than two days (i.e. has at least one full-day occurrence) should effectively be considered a multi-all-day event — if you have any thoughts, let us know!
- Background for bottom row of entries (Lenses) no longer translucent for improved legibility.
- Tasks are now editable on a tap — when it loses (keyboard) focus (or has none in the first place), a long press works to activate its action menu.
- Future dates in split-screen mode will show their start time (and not duration).
- Shorter intervals between events described as breaks, whereas longer as gaps.
- Unscheduled card won’t appear under the Now summary. That said, we’re looking at ways to re-introduce the ability to either fill or block time immediately, except more distinctly in this context compared to further into the day.
- If you’ve set the day to be all-day or for anytime, new entry’s card will always be in a de-activated state.
- Cannot drag handles to a start or end time before midnight on the day or after midnight the next day.
- Time displayed in the completed metadata strip should always match what you’ve set, whether it’s all-day, anytime or a specific time.
- Toggle to switch from hourly keyboard to numpad does not move position on tap.
- Tapping anywhere on the keyboard state toggle will register.
- Changing time on numpad keyboard will show correctly on hourly alternative and vice-versa.
- Editing an all-day event should not have a time activated (i.e. card needs to be pressed to set it to the pre-selected time) when you open the time keyboard.
- Editing the time of an all-day event should not present you the card slot in an active state (incorrectly overriding the all-day nature of the event).
- Should not be able to set an end time that occurs before the start time using the numpad keyboard — regardless of whether you try to make it trip through the end hour or minute.
- All-day events stacked vertically to avoid a squeeze.
- Adding/removing a calendar should not duplicate all of the Lenses available to create Perspectives from.
- Fixed crash when replacing a Lens, such as mornings with afternoons.
- Count on each Lens (you can add to create a Perspective) dynamically updates to consider your existing Lenses. For example, if you’ve selected the afternoon lens that has six events, when you go into any other Lens group, they will be filtered to afternoons, i.e. the count displayed for 30 min events will be for 30 min events in the afternoon.
- Length perspectives are now inclusive of the starting point (ie. 1hr+ includes events that are 1hr AND those that are longer, previously it was only the latter).
- If you have a Perspective set on the Stream, tap a card and then exit back to Stream, the Perspective bolt should still indicate it’s on.
- Removing a Lens from a Perspective should refresh values correctly/consistently.
- Should work correctly when looking at a Perspective or Search results (previously it would stop working when there was more than a day between results).
- Shouldn’t become unresponsive at any point anymore in either direction.
- Shouldn’t get a crash because pre-set Lenses to create a Perspective from were not loaded quickly enough.
- Calendars should not show up empty.
- Scrubber will hide when you are editing tasks in-line.
- Fixed bottom sheet incorrectly auto-collapsing, most noticeable when applying a Lens to create a Perspective. This one was annoying us a lot!
- Shouldn’t launch in an empty state.
- Returning to Stream from a Hero card should not interfere with the scroll position with the correct date displayed on the top left calendar clip.
- Unscheduled card shouldn’t appear for today when there are no events pending in the day.
- All-day events for today stacked vertically to avoid a squeeze.
- When you add your first task for today, you’ll keep focus to add a second (it won’t auto-collapse anymore as soon as you enter the first task).
- Consistent spacing between tasks for today and text field for additional input.
- Alignment of icon on top of your mind when you have no tasks and it’s collapsed is consistent to when you do/it’s expanded.
- Unassigned/blocked cards should be positioned at the appropriate points (previously it would trip up if there was an event occuring during the same hour).
- Fixed an incorrect additional unscheduled card appearing for today when you have multiple events occuring around the same time after a break.
- Wrong times shouldn’t show when approximating length of gaps between events.
- Fixed wrong appearance on today’s card header when it’s the second/last day of the weekend.