Ethan

Making products people love πŸ”₯πŸš€

Overhauled IndexedDB storage to make it way more efficient! It now only updates the necessary fields when data changes, and doesn’t call JSON.stringify anymore :)

Use CSS translate3d instead of top/left when dragging to make it way smoother! It actually puts the email card on a separate GPU render layer which puts much less pressure on the browser to render each frame. Further explanation & demos here β€” https://www.paulirish.com/2012/why-moving-elements-with-translate-is-better-than-posabs-topleft/

Do Gmail partialSync instead of old onlyNewEmails method on page load so everything will be up to date!

Got a bare-minimum version of unsubscribe buttons in KanbanMail working! Will polish it before releasing though.

Went to the third Indie Hackers Sydney meetup! It was quite a bit bigger than last time (and in a better venue) so it was great meeting with a bunch of interesting makers. πŸŽ‰ https://www.meetup.com/Sydney-Indie-Hackers-Monthly-Meetup/events/zntbxqyzhbmb/

Read an article about 60 FPS JavaScript swiping on mobile β€” a lot of it could be applied to KanbanMail's dragging β€” https://medium.com/missive-app/60-fps-javascript-swiping-on-mobile-beb847745a59

Read an A W E S O M E article which gave me lots of inspiration for the KanbanMail mobile app! β€” https://medium.com/missive-app/our-dirty-little-secret-cross-platform-email-client-with-nothing-but-html-aa12fc33bb02

Tested out new frontend-only Stripe Checkout. It's reeeeallly cool but looks like it only supports credit card trials :(

Debounce storeDataObject so it only runs once per second max!!! This will improve performance hugely, since I was doing very costly operations in storeDataObject which was sometimes being called many times per second. πŸ˜…β±οΈ

Made a nice searchContacts function instead of doing it in events.js