webmachinelearning / charter

📜 Web Machine Learning Community Group Charter
https://webmachinelearning.github.io/charter/
12 stars 4 forks source link

Split standard development into phases #5

Open DanielMazurkiewicz opened 5 years ago

DanielMazurkiewicz commented 5 years ago

Hi!

I want to make a proposal of splitting standard development into phases. First phase should be only high level ML API, algorithms well known to work already (I mean ML algorithms, not models - which is low level in terms of use cases described already in doc). This is to make this standard simple to learn, simple to use and quickly available. Also I find making "all at once" standard a very problematic, since machine learning is still itself evolving area - standard can get outdated even before getting shipped to browsers.

I would make first part simple, small, easy to implement, easy to adopt and wait for developers feedback after it gets into browsers before going to second phase of standard development.

In second phase some basic models could be selected to be a standard to ship with browsers.

In 3rd phase ML api could be extended to low "scientific" level.

In my opinion for the first phase API shouldn't be more complicated than this: https://github.com/DanielMazurkiewicz/WebAI https://github.com/BrainJS/brain.js

Cheers!

anssiko commented 5 years ago

Thanks for the feedback. As discussed on the 10 Jan 2019 call, splitting spec work in phases is an option. You can consider our current charter scope to be "Phase 1". Please note that if the group's scope is expanded it requires rechartering using the amendment mechanism.

Since this issue discusses the group's charter, I'll transfer this issue to the charter repo to continue this discussion in the right place.

DanielMazurkiewicz commented 5 years ago

@anssiko Thank you for moving this issue to right place!

@all: Since I've been working a bit on API proposal I have identified more in detail how standard could be phased. The final phasing is of course up to discussion, but these are my thoughts (keeping in mind that in latest API I've introduced "domains" for operation blocks).

Phase 1. MVP:

Phase 2. Common parts

Phase 3. High level use cases

Phase 4. Updating core domains

EDIT clarified my thoughts