Giter VIP home page Giter VIP logo

Comments (4)

tralves avatar tralves commented on September 27, 2024

@dseeker I need your help to define the overall scope of the project. Please help completing this list:

Plugin platforms:

  • Web (HTML5)
  • iOS (with Swift)
  • Android

Common Plugin API:

Tests

  • Unit tests covering the common API for all platforms (?)
  • Automatic e2e tests with sample apps (?)
  • (other tests?)

What is missing in this list? What should be left out?

from weex-plugin-kdp.

dseeker avatar dseeker commented on September 27, 2024

yes that's mostly right.

Plugin platforms: it would preferable that you dedicate more time on iOS and Android, I know of course weex builds from the html up, but since I can give you a hand with web dev, you can make it as bare bones as needed and assign me more run of the mill, mundane tasks so you can focus on the device specific platforms.

Swift would be great, but I was not aware weex supported it, I thought only Obj-C because thats what comes in the demo. but if it can be done, yes great, if swift components can be used by Obj-C projs thats great.

Common Plugin API:

  • player config; yes, ability to construct with specific player config xml using uid from their server. I ca give you a few configs we're using on realeyz, but they have a few from demos, like with subtitle or chromecast.
  • player controls (play, pause, next, ...): kdp.sendNotification("doSeek", 410); and kdp.sendNotification("pause"); and so on. using strings as commands
  • player events (https://kaltura.github.io/playkit/api/ios/Classes/PlayerEvents.html): yes, add/remove event listeners using the same string events
  • player media information: like kdp.evaluate('{mediaProxy.entry.duration}')
  • change subtitle tracks (?) change audio tracks (?). its good to have the player constructor accept some preference (not sure if this exists at the config level) for default sub lang and audio lang, but methods for changing them programatically are not needed: as long as user has access to change them manually from the player UI
  • Ads API (?): not needed
  • (other APIs?): yes, there is support for a native play stats analytics which gathers information about user media playback usage into kmc, and a more basic google analytics event based support. from my understanding this is just a config setting and both web/devices player work with it out of the box. so probably no api needed but we need to keep in mind this feature needs to be fully functional for all OS

Tests: this is totally up to you. I worked on projects where unit tests were helpful to guaranteeing tye integrity of legacy API but also on others where writting, debugging and changing tests to implement new features took around 30% of dev time. I've found automated integration tests with use case specific "playlist of tasks" were able to be more lean to manage and had higher rate of finding problems. Some coverage is good, but dont worry so much about, use common sense and cap how much time you spend on them

one feature I'd like to have is being able to have a player "freefloating"on the screen where we could animate x/y w/h +opacity property so the player can remain on top of the content. a good exemple is the youtube app that you can drag the video to the bottom while browsing for the next video.

also nice the ability to use poster frame and do basic layout compositing on top (like text) although for this it would probably be more apropriate to do on the realeyz app. but with this you can keep in mind that layer order is important to be adjustable, so the player cannot only have the topmost order

from weex-plugin-kdp.

tralves avatar tralves commented on September 27, 2024

@dseeker Thanks. I think this is enough of a starting point to get the overall scope of the project. We can discuss the final API of the plugin at a later point in time.

About the freefloating, that may be something to be implemented by the realeyz app too. Maye the plugin will have to deal with issues about layering and "z-index". We'll see.

On my part, we can close this issue, unless you have anything else to discuss.

from weex-plugin-kdp.

tralves avatar tralves commented on September 27, 2024

Andreas asked me to write a summary of the scope of the project and define milestones. Here is what I sent him:

Scope of the Project:
The project consists in building a Weex plugin to render the Kaltura Dynamic Player on iOS, Android and Web. This plugin shall abstract a common API for all platforms for configurations, controls and events of the video element. The project shall include documentation and integration tests.

Milestones:

  • Base Project: Nov 20th
  • iOS: Dec 15th
  • Android: Jan 5th
  • Web: Jan 19th
    Final delivery with docs and tests: Jan 21st

Right now, I am almost done with the base plugin structure. The only problem is with the test app in Android because I can't link native plugin code yet. I have already spent some time trying to fix it and now I am hoping for some help from the Weex team (in this thread). Meanwhile, I am working on the iOS side.

from weex-plugin-kdp.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.