Today I've updated TrelloX to version 1.2.
This update focuses on a performance issue that's been in TrelloX for a while: typing in Cards - either updating the Description or adding a Comment - would slow down TrelloX significantly.
This bug is now fixed, and TrelloX should stay fast no matter what you're dong.
The performance problem arose from a dirty hack I implemented just before version 1, and it's to do with the unique way TrelloX works...
Most of the Trello extensions I've seen essentially work by redrawing all of Trello every few hundred milliseconds (i.e. a few times a second). There's a few problems with this technique:
1. It's very expensive... I work on a laptop and often on battery, and my measurements suggested these types of extensions reduce battery time by up to 30%
2. It feels slow... Even if you redraw the Trello screen 3 or 4 times a second, you will still have a lag of part of a second, which feels slow
3. Redraws can collide... In theory on a busy Board, if you try to redraw Trello 3 or 4 times a second, the previous redraw will not have completed by the time the next one starts. This can further reduce battery time
To give you an example, my normal battery time is around 8 hours... With many Trello extensions that constantly redraw, my battery reduced to around 5 ½ hours. That's not good because I often need to work on the road.
So to avoid these issues I designed TrelloX instead to watch any changes to the Trello Board, and only update when Trello has been updated. So if you're not changing anything in Trello, TrelloX does absolutely nothing. This approach reduces battery time by around 1%, instead of up to 30%. That's a big difference. This is also the reason TrelloX feels very snappy - indeed like no extension is installed at all, which was my original goal.
Unfortunately, I haven't been able to observe types of Trello Board changes, so I implemented a hack to ensure TrelloX always stays up-to-date. As with all hacks, they often have downsides that need to be managed, which I didn't realise at the time of launch, and then got busy.
But I'm pleased to say the downside is managed in version 1.2. For now the hack is still there... My next updates I will look more at how I can monitor Trello Boards for all types of changes, so I can remove the hack, as well as fixing some other minor bugs and inconsistencies. My immediate next goal is getting TrelloX to a really robust place, before I start on new features.
Thanks for listening, I hope you enjoy.