khan / khan-mobile Goto Github PK
View Code? Open in Web Editor NEWYou’re probably looking for www.github.com/khan/mobile
You’re probably looking for www.github.com/khan/mobile
Occasionally, if you select a valid video after viewing a video that does not yet have an MP4 URL, the player is left in a "stuck" state. Only the white spinner and a black background is visible. Waiting never shows the video player.
We need to either fake the point count when offline (in which case coordination is needed with the tablet app) or to gray it out in some fashion to indicate that it's not available. May need coordination with Jason.
If seek is ready immediately seekfn is never called.
We're attaching a new video tracking object every time a new video is loaded but aren't unloading the old tracker, we need to fix this.
Figure out why we're getting malformed subtitle timestamps from upstream (see Issue 39) and fix it.
When the border is added to an active
When the device rotates, make sure that we don't end up with an incorrect scroll state (e.g. last row half-way up on the scrollview) which can happen currently.
This is probably on the TODO list, but we need a loading indicator and an error message indicator.
If download_error is specified in download_status, then the video download failed when it was most recently tried.
Currently the "Download" button is disabled in this state. Please enable it.
It's not necessary to display the error message as the native app takes care of that.
It is quite frequent for me to notice that the point count doesn't update. I don't have a more specific repro, but I'm definitely logged in.
Can you insert some logging to figure out what's going on? Either using the existing "log" function with the div, or a khan:// update url with log= param.
Older 4x3 videos will be letterboxed.
I can only tap on the text directly, not anywhere on the row (blank space on the right). For some reason my personal instinct is to avoid "covering" the text with my hand so I tap on the blank space.
We may want to seek to last_second_watched when you open a video you've already partially watched.
Adding the following to the subtitles.find("a").bind("click", function( e ) {
(line 583) half-works:
if ( $(player).is(":hidden") ) {
hideReplay();
$(player).show();
}
The video remains paused – seekFn
isn't called, because isSeekable
returns false for some reason. (Why is seekFn
a global-ish and not a callback to seek
?)
This can happen if e.g. Sal moves a video from one playlist to another, which he has done.
Currently if that video was selected, you get a blank screen.
The best we can do in this case is load a different video in the same playlist.
(Or change iPad code to attempt to auto-correct the selection, but that seems ugly.)
Just tested the version on Youtube and it waits 30 seconds before scrolling back to your current position. I think that make sense. If you are scrolling around you are either
a) bored and want to scroll something or
b) probably trying to find something in the transcript which can actually take some time
In iOS 5, we need to adopt the new "-webkit-overflow-scrolling: touch;" method. I tried to do this naively, but was unsuccessful. I did a test and UIWebView does support the property--there's some other interaction going on here.
If the video subtitle is too long, it runs right off the end of the page. See "Authors@Google" in Talks & Interviews.
I think we need to give the transcript content something to scroll under at the top and bottom so that it's more clear what's going on.
Maybe (maybe!) we should resume autoscroll if you scroll back to where the timestamp is now. What does Youtube do?
Visually jarring to lose the last frame, so can we investigate options to keep the video tag visible?
This would probably mean not actually having our own replay button, instead relying on the webview's built-in one, and pushing the "next video" button down below that button (about 75% top)
Seems repro'able: http://i.imgur.com/yinvu.png
Right now data is persisted in a flat storage, it needs to be broken up.
can we upgrade the app to latest jquery mobile version ie. beta 2.
Need to listen to more than just 3 events in playerStateChange.
I think it can disappear, but it's hard to tell where you are in the scroll area.
It doesn't seem to accept the click (it goes through to the video player's play button instead) and then doesn't disappear when playing beings.
Catch errors and display appropriate error text overlaid on top of the video player. (Perhaps hide the video player.)
It's hard to tell exactly what's going on here, but I am consistently getting into states where points seem to accumulate at random intervals or not at all. I think we have a bug as well as a need to increase the frequency with which we update the UI.
Not sure why this is the case, need to look into it. Perhaps my playlist data is malformed/missing.
The last_second_watched sync code is reading from the wrong variable:
pendingSeek = storage.seek[ id ] || status.last_second_watched || null;
That should be status.user_video.last_second_watched
. However this means more checks in case status.user_video is null; I'll let someone else handle doing that in a clean way.
Add in an overlay that allows the viewer to replay the video or navigate to next/prev video.
Right now the code is using two separate offsets--14px and 45px--and on the device the bottom margin is frequently incorrect.
Split view UI flickers in honeycomb during page transitions
We need to clear out temp data on logout.
Even when I then login it doesn't work. If I close the app (logged in) then open it again, it works.
When playing a video, the subtitles scroll correctly (at first).
However if you scroll with your finger to the bottom of the subtitle list while playing, the scroll view will subsequently scroll all the way to the top and then stay there. Even if you scroll back to where the proper playing area is, autoscroll is erratic and scrolls you to seemingly random parts of the transcript.
Right now khan-mobile is sending native code the entire results of the videolog post.
I just want to receive the "action_results" key.
Also please use "action_results" not "action_result" for consistency (note s on end).
Since "Downloading…" is no longer present, it seems that it is safe (and indeed desirable) to remove the parens.
Including saving offline viewing progress and submitting when online again.
Scroll the subtitle list with enough inertia to have it continue scrolling after you lift your finger. Then tap to stop the scrolling. The subtitle row under the finger is selected and the video seeks to that position; it should not be.
Right now it only has title, description, and videos - youtube_id is important for performing quick lookups against playlists.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.