On May 15, 8:37 pm, Oveek <[email protected]> wrote: > > What, in your estimation, are things that are gained by sending the > > list of tiddlers at load time? > > As you noted, the tags and timeline are big ones. Both could be > especially important for newcomers unfamiliar with what content is > available on the site. That would then require skinny tiddlers (title > plus field meta data).
This makes sense. > If we're absolutely focused on the fastest possible load, maybe we > could do a hybrid loading process, something like: > * First load the default tiddlers / initial tiddlers Which means we need some way to indicate those initial tiddlers. In a TiddlyWeb environment we could do this by indicating a bag, a set of bags, or some other collection via a filter on the recipe. Another option is to extend the wiki serialization so it takes some additional arguments that allow the declaration of the defaults by some other parameter string. > * Then proceed with background loading: > ** Prefetch tiddlers linked from currently open tiddlers. This step > would repeat each time a new tiddler is opened. This would require adaptation (as you've discovered) of the SyncMachine/ServerAdaptor code. > ** Proceed to download the remaining tiddlers in "skinny" form > allowing the remainder of the timeline and list of tags to be filled > in. Again, in the TiddlyWeb context this would be a matter of getting the JSON list of the tiddlers generated by the recipe being accessed. These results are skinny by default (passing fat=1 includes the text). Making that request and then processing the data would require either a new plugin in TiddlyWiki or adaptations to existing. > >http://tiddlyweb.peermore.com/wiki/recipes/docs/tiddlers.wiki?mselect...[[TiddlyWeb%20Documentation]] > > > If it's working right, what should happen is the tiddlers are loaded > > from the server, as you navigate along them. > > That's awesome! It's working beautifully! I probably find seeing that > in action more exciting than I should. When I first did it I got all excited too :) > Apart from the linked example I tried using the "filter" tiddler as a > starting point which provided a nice avenue for exploration. I kept > Firebug open and watched the latencies of the GET requests. On average > they were below 1 second, most in the range of 600 to 800 ms. My > initial impression is that load times in that range are acceptable, > but I don't know whether that will hold up in the long run. There are a variety of ways in which this could probably be sped up. TiddlyWeb, in its current form, is almost completely non-optimized. For those situations where speed is required there are likely many things that can be done. > Based on the definitions from the initial post this is really a fully > implemented form of load on demand functionality. Contrary to what I > originally thought lazy loading is actually the option that would > require more work, is that right? Seems so, at least in terms of the work required in TiddlyWiki to make things go. > If I'm not mistaken, load on demand is actually the natural mode of > operation for TiddlyWiki's core adaptor mechanism. Yes. > On a related note, I did see one issue. There's no notification when a > tiddler doesn't exist. Upon opening a tiddler it initially appears > with the message "Attempting to retrieve the tiddler..." and even when > the GET returns a 404, the same message continues to display with no > indication that anything happened. Yeah, this is a bug in, I think, the sync machine which is not as savvy about HTTP response codes as it could be. I'll make a ticket. > As far as load on demand is concerned it seems what actually needs > work is how to send just a subset of tiddlers initially (and which > ones to send). Is that accurate? Yes. > For lazy loading it's additionally necessary to add support for > handling skinny tiddlers because the adaptor does not handle or > recognize them by default. Also using the hybrid loading approach I > think the perceived performance of lazy loading could match that of > load on demand. This sounds right too. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/TiddlyWikiDev?hl=en -~----------~----~----~----~------~----~------~--~---
