#1. Switch to CoffeeScript. It will cut the size of the code down considerably and given that it is such a massive file, it would really help readability.
#2. Don't embed so much html into the code. That'll also cut down code and make things easier to read. I suggest something like Handlebars to render things. Yes, another dependency, but a good one.
#3. Do you really need the 'please wait' to render things? It is somewhat jarring when clicking around quickly. If anything, just switch the thing you clicked on into a spinner or display a small spinner somewhere.
#4. A lot of the date math that is going on could probably be done more easily by using momentjs. Again, another dependency, but will save you code in the long run.
#5. Grey out buttons which cannot be clicked further? Like the + and - buttons.
In regards to momentjs and timeline, the reason I chose to develop with jQuery.Gantt was because of its lack of dependencies. I tried jQuery.GanttView and that required Date.js, which got torn to shreds earlier on Hacker News for its poor handling of varying syntaxes.
1) If you are going to suggest such a massive scope of changes, offer to help instead of just dumping a list out there.
2) Check to see if the poster on HN is actually the author of the article. Doesn't look like it in this case, so you may be talking into a vacuum.
3) I love that timeline widget. But it is one of the most un-intuitive and complicated things I have ever seen. I recommend re-coding its functions into a simpler library vs. adding even more complexity to timeline.
4) Dependencies can get evil. Your suggestions add quite a lot of complexity into footprint of plugin. I fear that the end result might look good to a coder, but be a bit of a nightmare to actually use in a production environment.
1) If you look at my github account, you can see that I've contributed quite a lot to open source over a long period of time. I've got a long history of 'helping'. Looking at your github account... oh wait...
2) Good point. Can't argue that.
3) Maybe. Maybe not. It would need to be investigated further.
4) I made those suggestions based on code I've got in production. Other than Timeline, I suggested two libraries, both of which would remove a lot of code duplication in the Gantt plugin.
Serious question that sounds like a sarcastic quip: does anyone actually use Gantt charts, or are they one of those things people say they need and then ignore forever once the programmer has put them in?
I'm seriously curious. They seem so useful, and then whenever I've had an app that had them in it, I never used it. Wondering if that's just me. :)
We use them to manage all of the planning for freight car classification and switching in our train yards - I think we use the ILOG embedded Gantt chart in a .NET application.
MS Project is also very, very popular in businesses - project managers seem to love to graphically see dependencies (even if it's subject to garbage-in/garbage-out).
I am going to try using this for an employee scheduling tool I'm working on. It's nice to see everyone's shifts all at once, to see which shifts overlap, how many people are working at 2pm, etc.
Yes I do, as a high level tool for quickly identifying scope and impact. I have normally worked with enterprise (bulk funded) clients using waterfall process however, so it makes sense in that context. I'm not sure how relevant it would be using different management styles.
every time I see gantt charts, I think of Tufte's long forum thread discussing them and project management graphics in general. I also noticed it hadn't been posted to HN before, so I did.
The Months at the top stay in the middle no matter how far you scroll, as long as some days of the month is visible. I'd rather it try to stay around the 15th (or whatever day is middle of the month), and if the 15th is not visible, just have the name of the month at the side of the chart. This way the month would be a quick summary indicator of how much of the month is currently visible on the chart, because right now you have to look both at the day and the month.
This is very nice, a good jquery gantt chart library is one i've been looking out for quite a while. My favourite charting library is highcharts and i really wished they did a gantt chart, so this is an excellent alternative.
It looks very nice. UX issue: I was confused that the slider widget scrolled the timeline. It doesn't look like a scroller and uses a widget that typically zooms (in most Mac apps) or increases/decreases some value.
The overall design and UX is mostly unchanged, and frankly still a bit lacking. Hopefully if the original author of the plugin (prior to my changes) accepts this pull request then hopefully he will be open to some UX changes.
Some suggestions:
#1. Switch to CoffeeScript. It will cut the size of the code down considerably and given that it is such a massive file, it would really help readability.
#2. Don't embed so much html into the code. That'll also cut down code and make things easier to read. I suggest something like Handlebars to render things. Yes, another dependency, but a good one.
#3. Do you really need the 'please wait' to render things? It is somewhat jarring when clicking around quickly. If anything, just switch the thing you clicked on into a spinner or display a small spinner somewhere.
#4. A lot of the date math that is going on could probably be done more easily by using momentjs. Again, another dependency, but will save you code in the long run.
#5. Grey out buttons which cannot be clicked further? Like the + and - buttons.
#6. Maybe consider integrating or building on top of the Timeline project? http://www.simile-widgets.org/timeline/
Cheers.