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
-~----------~----~----~----~------~----~------~--~---

Reply via email to