top | item 1980749

The Tree Slider - GitHub

182 points| sant0sk1 | 15 years ago |github.com | reply

34 comments

order
[+] jfager|15 years ago|reply
Very nice, but what I'd personally rather have is a two-pane navigator: explore the tree in the left pane, see file contents in the right, a la NERDtree, eclipse, and other IDEs.
[+] jdminhbg|15 years ago|reply
This isn't [only] two panes, but it gives you the ability to navigate files while still seeing the directory structure: https://github.com/sr3d/GithubFinder

It's implemented as a bookmarklet that you can activate on any github repo for an advanced view.

[+] compay|15 years ago|reply
I find the animation to be rather annoying.
[+] wmf|15 years ago|reply
It looks like the sliding transition may also mask network latency; clever.
[+] jws|15 years ago|reply
From the Digital Equipment Corporation, VMS Guide to Performance Tuning, from before 40% of the HN readership were born:

  5.3.4.3 Lower the Baud Rate if Terminals Smooth Scroll
    If many of the applications at your site write characters to
    terminals in the smooth scrolling mode … you might consider 
    reducing the baud rate [from 9600 to 4800] …  the decrease in
    the baud rate would be barely perceptible to the users.
VT100 transitions come to the rescue!

(Smooth scrolling was at 6 lines per second. Glassy smooth, especially if you kept the line saturated to the flow control limits. But as a consequence it couldn't accept more than about 4000bps of data on 80 character lines.

That particular hint never made much sense to me because it is about saving interrupts and a screen of data took the same number of interrupts at 4800 or 9600. I think it was more about slowing down the users without them noticing to avoid upgrading the computing resources.)

[+] kellysutton|15 years ago|reply
The best transitions are those that mask loading of something else. Ever think of why icons on the iPhone explode out when opening an app or the app image zooms to the front?
[+] yan|15 years ago|reply
I guess this is a good place to ask, but does anyone know why GitHub opted not to list the file size in the file viewer? Whenever I browse other peoples' code I always want to glance at file sizes to see which files I should peruse first.
[+] cdavid|15 years ago|reply
Maybe because it is difficult to do so efficiently ? It is hard to get per-file information in git, so you would have to be pretty clever to get it working w.r.t. history.

Other bugtrackers which were based on svn had a lot of issues with git because of this.

[+] storborg|15 years ago|reply
I would love it if this widget eager-loaded the directory structure for a couple levels (doesn't even need to load the commit data) so that it made the navigation to a specific file/folder even faster.
[+] tjarratt|15 years ago|reply
Actually I don't think that's necessary - I'd much rather they focus on making individual loads very fast, instead of pre-loading data. 9 times of out 10, I'm not going to peruse the ENTIRE directory structure even one level deep, so it should only get the data I want.

Also, they would need to store that, and I don't necessarily want my browser storing my entire directory structure (and possibly file contents) for any amount of time other than when I'm actually browsing it.

Try it out, it really is very fast without having to eagerly load anything at all.

[+] solutionyogi|15 years ago|reply
When I saw the video, I thought it was 'speeded' up. But the repo browser is as fast as what they show in video.

Try jQuery Mobile repo:

https://github.com/jquery/jquery-mobile

[Obviously, you will need Chrome/Firefox 4/Safari.]

[+] bodhi|15 years ago|reply
And thankfully they didn't screw up the ability to open links in a new tab.
[+] cool-RR|15 years ago|reply
Great! I've been looking forward to this feature for a long time.
[+] marknutter|15 years ago|reply
I wonder if this is better than sammy.js
[+] binaryfinery|15 years ago|reply
A sliding UI is worth #2 HN spot? Wow.
[+] olalonde|15 years ago|reply
If I'm correct, it's interesting because the transition is done without using a URL fragment (http://url/#fragment).