ShelbyTV / shelby-gt-web

the new shelby web front end for rolls <over />
shelby.tv
3 stars 0 forks source link

shared short link to vid on roll doesn't show vids more recently shared #493

Open reecepacheco opened 12 years ago

reecepacheco commented 12 years ago

i copied this short link a while back http://shl.by/kg when i click it now, i'm taken to my "reece" roll where it originated, but i am not able to see any of the videos i've rolled since then

desired UX: the link should take me to this video as it does, but allow me to scroll up in my roll

View page source View screenshot Url: http://shelby.tv/roll/4f900d56b415cc6614056681/frame/50046888b415cc32b5004b9c?awesm=shl.by_kg

spinosa commented 12 years ago

this is fixable now that we use since_id, think there may be a dupe issue somewhere as well

iceberg901 commented 12 years ago

@spinosa How does since_id make this any more do-able than when we used skip? Can we give the new metal implementation of the frame routes a negative limit? We can't just increment the BSON ID by 10, they're obviously not continuous. I think Shelby is definitely ready for this feature but I don't see how switching from skip to since_id helps.

spinosa commented 12 years ago

[Let's say a roll contains videos with the letters of the alphabet as their ids, in alphabetical order]

If you shortlink to T you will end up loading videos TUVWXYZ. You then ask the api for videos since_id=T you should get back JKLMNOPQRS. You can then ask for since_id=J and get back ABCDEFGHI. At this point, asking for since_id=A will return nothing and you know you've got em all.

spinosa commented 12 years ago

Or have we implemented since_id backward? That is, it's behaving like after_id?

If so, we need to be able to reverse the sort of the query

iceberg901 commented 12 years ago

Well since we load frames and dashboard entries from most recent to least recent it gives you items of the requested ID and lower because IDs go down as you move into the past. There's no way that I know of currently to tell the API to reverse the sort order. We started having this discussion a long time ago, about whether we would use a negative limit to specify reverse sort order but that was way before we even got the fast/metal implementations.

OK, so I think we're on the same page now - since_id in and of itself doesn't give us the ability to do the queries in reverse sort order.

But I think it is getting to be time for Shelby to take this step - maybe a good mini project for post-launch.

spinosa commented 12 years ago

The word "since" implies going forward in time. So our implementation is backward.

What would it take to support reverse ordering in the C API @markerrj ?

markerrj commented 12 years ago

i don't think it would take that long, @spinosa, but i'm not sure i agree that the UX of being dumped in the middle of a roll and scrolling upwards to see newer stuff is the right approach.

can we discuss the UX options first before deciding whether to add this to the API? usually my experience is that by providing a more limited API, you get more consistent applications / UX / etc.

spinosa commented 12 years ago

yeah let's chat about the UX, this issue is actually a good place for that.

Are you still a proponent of showing the linked-to vid in isolation with the roll loading like normal (ie. roll loads newest vids)? Conceptually like this from my example above: [T]ABCDEF...

markerrj commented 12 years ago

yeah, i guess i prefer the linked-to-vid in isolation with rest of roll normal.

for a recent link, it probably doesn't make difference.

but if a link gets clicked from 3 months ago, it seems like there's a lot of upward scrolling to do to get to current time with the scroll-upward alternative.

reecepacheco commented 12 years ago

could make the Roll name take you to the top of the roll

markerrj commented 12 years ago

i guess i think things like clicking roll name aren't immediately obvious/intuitive...

this will be the first thing most twitter/FB-clickers see when they come to Shelby, even for logged-out users, right?

seems like we should just show you the vid, and then show you the other most recent vids from that roll, no clicking required.

spinosa commented 12 years ago

So there are two situations: 1) When the deep-linked video is within the first 10 videos of the roll 2) When the deep-linked video is outside of the initial load of the roll

The way #1 works today is very nice, and I don't want to break or change that.

Allow me to try and illustrate the solution to #2 that @markerrj and I have been considering. It's an elegant way to handle the situation where the user doesn't have to do any scrolling, any clicking or anything different:

visually separating T (ie. calling out that it's out-of-order) allows the UX to stay pretty much the same no matter the case while the user still gets to see the video they desired. Who cares if they can't easily see it in it's proper place.