Matt,
That's great. Can you push your changes to a github repository so we can take a 
look? I've been doing paging of events with the standard Timeline code, so I'm 
curious to see what changes you made.

--Mike

From: [email protected] [mailto:[email protected]] 
On Behalf Of Matt Denman
Sent: Sunday, July 07, 2013 8:48 PM
To: [email protected]
Subject: [Simile-Widgets] Timeline revisited - updated - streamlined

I started using timeline a while ago and dug in deep.  I love the widget, but I 
really disliked the way it was loading the javascript and how its script block 
needed to be in the head section.  I tore out the timeline code from the 
overall Simile project and removed much of the base code that wasn't needed or 
was just a duplicate of what jquery has.  I've changed the way class methods 
are defined to be more streamlined and the overall result is now one file that 
is 153kb minified and 44k zipped.  This is a significant size difference from 
the Simile version, which loads faster on the iPad.  This code version also has 
tablet touch support as provided in other threads on the web.

I've completely removed all support for doing ajax directly from Timeline as 
its just more mainstream to use something like 
$.load(...).done(function(json){...}).  This is an example of removing stuff 
from timeline that jquery already does.

Another thing removed is the history stuff which forced another query on the 
server and wasn't really used in timeline anyway.

Also, the code no longer tries to load its own version of jquery.  My thinking 
is, if you cant properly setup jquery on the page, you probably aren't ready to 
use timeline.  I think the main developer should be crystal clear on what 
version of jquery is being used in their project.  That code was just bloat.

I've also setup the creation of the timeline as a real jquery plugin.  All 
examples I've converted over work, and my own app which pushes the edges of the 
timeline works with the new code.

I'm not sure if this new code should be setup as a branch to the main project 
or just shared somewhere else.  I want to take timeline further than it is now, 
including support classes in .NET for ASP.NET classic and MVC.  Right now I'm 
thinking I'll just host this version on another site and let it go from there.

I'm adding better event notification to support having other things on the page 
show data related to the events showing on the page.  For example, all 
financial transactions visible on the timeline are summarized in a table below 
the timeline.

I've also added support for event grouping by having bands that dont have to 
have a timeline painter.  Put different events on each band and only have the 
bottom band have the date tic marks.  This groups events well.

I also need to add support for paging events rather than loading all events 
into the timeline at once.  As the user scrolls through time, the timeline 
should be able to have events added and removed dynamically to keep the total # 
of events (and DOM elements) actually rendered down to a minimal.  I worked on 
the Nitobi Grid which did virtual scrolling with data paging via ajax and it 
worked well.  I see it as critical for timeline to support this really well.

-- 
You received this message because you are subscribed to the Google Groups 
"SIMILE Widgets" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/simile-widgets.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to