Skip to content

Commit 2c4892d

Browse files
committed
feat: roadmap
1 parent 5c15d48 commit 2c4892d

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

ROADMAP.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
- Promise Play
2+
In addition to making sure that a Promise is always returned from play(), if Promises are supported or polyfilled, we should be able to shim a play() promise if a promise isn't provided to us natively.
3+
- vjs-fill being first class
4+
vjs-fluid is a first-class option now but vjs-fill is just as useful. We should have a fill() method and option just like fluid
5+
- loadMedia: https://github.com/videojs/video.js/issues/4342
6+
- refocus docs on handwritten docs rather than jsdoc using docusaurus or docz
7+
- turn video.js into a monorepo and break it up into many modules
8+
especially with the addition of VHS, a lot of times you want just a piece of Video.js. We should slice video.js up into pieces and publish them as separate packages. This may make the need for "custom builds" obsolete
9+
For example, `@videojs/core`, `@videojs/tracks`, `@videojs/controls`, `@videojs/utils`.
10+
- Focus ring changes
11+
This may not actually require changes to Video.js and may just be a documentation thing for how to use focus-visible polyfill
12+
https://github.com/videojs/video.js/issues/2993#issuecomment-387626945
13+
- Make framework test pages and test apps
14+
Make react, angular, ember, phonegap test apps
15+
- Custom builds
16+
May not be necessary if we split Video.js into packages. The idea is to make sure that it's possible to compile away pieces that are not wanted by the user.
17+
- Retry after error
18+
This can get pretty involved if you consider any error but I think the MVP here is to retry after a MEDIA_ERR_SRC_NOT_SUPPORTED to basically waterfall the sources
19+
- Menu and control bar usability
20+
lock-showing and whether it should prevent the control bar from hiding. Also, whether using the mouse should cancel lock-showing when exiting the menu or if it should require clicking the button again.
21+
how to do a better and job and make it less frustrating with auto-hiding the control bar. https://github.com/videojs/video.js/issues/5258
22+
- Settings Menu
23+
It's probably time to revisit the settings menu and implement an accessible, good looking, and extensible settings menu for everyone
24+
- Responsive sizing
25+
We already have some support for responsive sizing and we have an "adaptive" stylesheet but we still can do a much better job at handling different player sizing. Especially with the `playerresize` event.
26+
Things we can do:
27+
- make sure captions resize properly in relation to player size
28+
- hide and show control bar buttons as necessary when the player resizes
29+
- change the control bar sizes in relation to player size, for example, in fullscreen make the controls a lot larger
30+
- Audio skin
31+
Currently, we support the audio element but it's feature support for it is confusing. The HTML spec differentiates between video elements and audio elements by whether they have a "canvas" to use for visual information, for things like the poster image, captions, and video. When using an audio element, we should make sure that we have just a control bar and no visual area around it.
32+
However, if audio is played with the video element, we should be smart and keep the poster showing along with the control bar and allow for captions to be shown as well.
33+
- vtt.js updates
34+
- make parsing async: https://github.com/mozilla/vtt.js/pull/373
35+
- upgrade tests so they run in a modern node in a reasonable amount of time
36+
- make it a first class node/bundler citizen
37+
- ClickableComponent
38+
Figure out what is the status of it currently and either mark it for removal and undeprecate it
39+
- vdata errors
40+
We often have issues come up for errors relating to a `vdata12345` error in the console. We should put up a page explaining this issue and then log a warning with a link to it when it happens rather than crashing.
41+
- iOS and multiple controls
42+
It's possible there are still cases where the native control bar shows up under ours in iOS, we should investigate and fix it
43+
- Make our language files work with bundlers
44+
- Investigate `type=module` script support for Video.js

0 commit comments

Comments
 (0)