1000 issues is of course a huge number for a single project. Several hundres however not. And if you have multi-project boards 1000 is a number that can be pretty normal. And if you try to fish out a really old issue by sloppy remembering it's title I would still need to create/show it. It basically is not efficient to remove and create lots of (complex and not-absolute positioned) DOM-Elements in real time (like it is needed for real time search). Another way could be to "buffer" a number of elements that then get different content based on the currently visible issues. Maybe the entire canvas-way turns out as inefficient or inoparable, then I'll try to find a way around the problems faced in the prototype before in another way. However for now canvas seems very good and is utterly interesting.
Ondrej Brinkel
@der-On
Okay. After getting deeper into the integration I found out that canvas for now is no option. The initial performance gain gets zeroed out if redraw areas are not highly optimized and getting that done right would mean a lot of effort. I will try to roll the thing up with HTML/CSS again and experiment with other solutions instead. However it was a nice trip to canvas land.
Ondrej Brinkel
@der-On
@StephanHoyer you can now actually call me guilty of PMO. ;)
@der-On with UI virtualization I mean recycling of UI elements. E.g. you have a list of 1000 issues, but only 100 are visible, there are only 100 elements at a time which are being updated
@gngeorgiev thank you. Something like that, is what I had in mind too.
Ondrej Brinkel
@der-On
The new kopa board will feature a random motivating phrase during the loading phase. If you like you can write down a phrase you would like to read from time to time.
An example:
A journey of a thousand miles begins with a single step.
I would be very happy about submissions. Get creative. :sparkles:
@StephanHoyer I just found out that my performance bottleneck was mithrils diffing algorithm, not browser rendering. The browser handles 1000 cards pretty well, but mithrils diff will hickup on it on every "click". I now used { subtree: "retain" } and it's buttersmooth again. Guess I now have to find all the cases, where a redraw is needed.
_
Stephan Hoyer
@StephanHoyer
@der-On Mithril-admin :clap:
Did not watch the code in detail, though
Ondrej Brinkel
@der-On
Thank you. I'll hope to work on it soon again.
I'm still working on the new board. It still has some glitches, that's why I wasn't able to showcase a video demonstration of it yet. It hopefully will be ready next week so I can show.