Search
Close this search box.

WorkFlowy Speedup: 4x Faster Loading

By

May 1, 2014
Image courtesy of Nathan E Photography
Image courtesy of Nathan E Photography

On Monday, a user with approximately 200K items in his WorkFlowy account emailed us a complaint. He said the load time for his account was killing him. We looked into seeing if we could speed things up, and found some major improvements. WorkFlowy now loads around 4 times more quickly . If you’re on a good internet connection and have a large account, you should now have a zippier experience.

0 0 votes
Article Rating
Subscribe
Notify of
guest

17 Comments
Inline Feedbacks
View all comments
Nigel
Nigel
9 years ago

Will marking a node as complete rather than deleting it, slow your experience of using workflowy over time, I.e. When you have 5000 completed nodes?

Robert
Robert
9 years ago
Reply to  Nigel

Is there some way to select all completed items or show only completed items? Then you could delete them or archive them somewhere (like a text document) before deleting them.

Jesse Patel
Jesse Patel
9 years ago
Reply to  Robert

Unfortunately not, sorry!

Robert
Robert
9 years ago
Reply to  Robert

Coincidentally, I noticed today that there is a way to show completed items when my weekly statistics popped up. It included a link to the items I completed in the past 7 days.

In the search field, type in completed:7d and workflowy will show the items completed in the last 7 days. It shows all higher-level items as well, completed or not, but it could be used to find completed items you might want to delete. It also supports hours, such as completed:2h for the past 2 hours.

It can also be combined with a NOT (minus sign) operator:
-completed:2h completed:5d
This would show items completed in the past 5 days minus the ones completed in the past 2 hours.

Malcolm
9 years ago

It’s definitely faster, but it’s still pretty slow. One idea I had for improving it further is that if I’m not loading workflowy.com but I’m loading some specific node in my tree, have it only requires the children of that node in order for the page to load. Then as soon as the page is rendering, request the rest of the data in the background. I can imagine this would be a bit hard to implement because you’d now need a loading thing for if a user tries to go up a level while that hasn’t loaded, but I think it would be worth it.

Jesse Patel
Jesse Patel
9 years ago
Reply to  Malcolm

Yeah, we definitely still need to improve load performance significantly for large account. There are a lot of potential approaches, including just creating an offline desktop app that’s good enough to become our standard application.

Malcolm
9 years ago
Reply to  Jesse Patel

Hmm, yeah.

Although I disprefer that solution because my *other* big feature request (okay, aside from deadlines :P) is real-time collaboration.

Have you guys seen ShareJS? Not directly useful if you don’t use Node, but still worth checking out Operational Transforms. http://sharejs.org/

Joseph
Joseph
9 years ago
Reply to  Jesse Patel

I would LOVE, and pay for, a native Windows desktop app, that works completely offline, with optional sync. I would like it to be able to use a local file that I can sync either via workflowy itself or DIY like dropbox.

I like being able to access from mobile, sure, but 95% of my use is desktop and I want SPEED. 🙂

Nicholas Perry
Nicholas Perry
9 years ago
Reply to  Jesse Patel

Ah, I see that Malcolm has already mentioned Operational Transforms before I tweeted it to you earlier. I wonder if he saw the same HackerNews posts I did.

I’m hoping to expand on that idea a bit.

If you combine the tech/theory behind share.js with a local storage mechanism, you should be able to do some amazing things. – its basically the syncing mechanism behind google wave / realtime google docs editing but applied to arbitrary json objects. I imagine it would work well on reconciling offline edits with servers and also allow for real-time collaboration. There is a post about this exact thing on the google doc’s blog: http://googledocs.blogspot.com/2010/09/whats-different-about-new-google-docs_23.html

You mention a proper desktop app… Why not leverage the advancements in Google chrome/android and implement some of the features they’ve shown in this years Chrome Dev Summit? https://developer.chrome.com/devsummit/sessions/making-web-apps-appy/ (part of a bigger set of talks: http://youtu.be/0b9ZE1V4uRk?t=56m ) This will let your webpage act more like a native app. Service Workers are looking like they’ll fix the offline bits in an effective way and should be comparable to how you managed your chrome app’s offline mode already…

Once you have that kind of integration with android’s chrome, a proper desktop app transition would be less painful. I’m thinking the whole shebang should be able to integrate into a node-webkit package. Based on what greenheart games has done with steam-integration (opensource btw), you should be able to extend the standalone engine to integrate with other parts of the OS. Long term, this would allow for some interesting hooks into stuff like window’s 8’s charms or reaching out to outlook through the same mechanism that OneNote uses.

Granted, this is a rather large “you could”, but I think there are some reasonable milestones and the process would be easily iterate-able while working toward these goals.

Jeff Lobdell
Jeff Lobdell
9 years ago
Reply to  Jesse Patel

I agree w Nicholas Perry, there is no need to build a desktop app, just improve the web version. I would love to also see some features seen in Evernote, like file attachments or embedded images, etc

mizmdk
9 years ago

Excellent! .mom.

On Thu, May 1, 2014 at 9:00 AM, WorkFlowy Blog

Rohan Jayasekera
9 years ago

Yes!!! I’d recently been getting annoyed with the load time (I too have a lot of stuff in WorkFlowy, and am adding more all the time) and I’m very happy with the improvement. Thanks!!!

bedroomfireflys
bedroomfireflys
9 years ago

Oh man, this is faster, thanks!

Andreas
Andreas
9 years ago

Thanks! Is there any chance of caching the contents like the Chrome desktop app does? Shouldn’t this be possible using HTML5 localStorage?

JMV
JMV
9 years ago

This is very happy fun time. Thank you much. I also have a large account and was getting annoyed.

matgardon
matgardon
9 years ago

Great news !
Do you have any technical details as to what were those improvements you did ?
Thanks !

JJ
JJ
9 years ago

Thanks so much! I’m a pathology resident and I have a few books loaded up so I can streamline and annotate them. You guys are so awesome!

Subscribe to the newsletter

We'll email you all our latest posts.

Overwhelmed?

Workflowy replaces your notebooks, stickies and bloated apps with a simple, smooth digital notebook that makes it easy to get organized and be productive.