HI Matt,
Rekindling this thread.. We were chatting today about bringing some of your
improvements back to the Simile version of Timeline. Namely, some of the
performance improvements and the removal of the dependence on SimileAjax,
which is a vestige of the days when jQuery didn't exist yet.
Do you have an idea of how easy some of these changes might be to port back
into our codebase? (Ideally without requiring a complete rewrite).
Thanks a lot for all your work on this!
Ted Benson
On Sunday, July 7, 2013 8:47:33 PM UTC-4, Matt Denman wrote:
>
> 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.