New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

J5 Collaborator Summit at JSConf US #1463

Open
dtex opened this Issue Apr 21, 2018 · 79 comments

Comments

Projects
None yet
@dtex
Collaborator

dtex commented Apr 21, 2018

Date/Time

Monday, 8/20 10am - 5pm
Friday, 8/24 1pm - 6pm

Location

Poolside Cabana - Exact location TBD

Agenda

8/20

  • Languishing Issues and PR's
  • Zombie platforms
    • Galileo
    • Nino
  • Breaking changes
    • Refactor freq constructor option
    • Standard event object
    • Add missing error args in callbacks
  • io plugin feature parity
    • Evolving out of firmata coupling for IO plugins (is current interface too bound to firmata behaviors)
  • SPI Support in io-plugins
    • Start discussing next steps for getting it into the non-firmata plugins and to think about timeframes and logistics.
  • Board scriptable behavior, eg running a set of actions on a clock (thinking node pixel here mostly)
  • IMU/Multi organization

8/24

  • PWM support for platforms with > 8-bit resolution and migration from 0.0 - 1.0
  • ES6 J5 status / supported node versions
  • ES6 IO classes with an official Board.IO superclass
  • Alternative transports beyond serial (and serial over radio replacements) and what that means for messages etc (eg ble, mqtt, network)
  • Web-based J5 patterns using (webbluetooth, webusb, midi, audio, network connections, etc)
  • Shutdown/Restart J5 in the same process

Attendees

@rwaldron, @lyzadanger, @nebrius, @noopkat, @monteslu, @dtex, @ajfisher, @lynnaloo, @sandeepmistry, @HipsterBrown, @reconbot, and Fleet Admiral Nathan!

@dtex dtex added the Discussion label Apr 21, 2018

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Apr 21, 2018

Collaborator

Hi Everyone,

It looks like we are going to have a lot of J5 contributors at JSConf US this year so @nebrius proposed that we have a J5 Collaborator Summit which is, of course, a great idea.

I'm opening this issue to help us organize a time, place, attendees, and agenda for the meeting(s).

I've added a few seed items on the Agenda and listed the attendees that I believe will be there.

If you plan on attending or have an agenda item to add, just add a comment here. I'll keep that first comment updated so we can see at a glance what the plan is.

Collaborator

dtex commented Apr 21, 2018

Hi Everyone,

It looks like we are going to have a lot of J5 contributors at JSConf US this year so @nebrius proposed that we have a J5 Collaborator Summit which is, of course, a great idea.

I'm opening this issue to help us organize a time, place, attendees, and agenda for the meeting(s).

I've added a few seed items on the Agenda and listed the attendees that I believe will be there.

If you plan on attending or have an agenda item to add, just add a comment here. I'll keep that first comment updated so we can see at a glance what the plan is.

@nebrius

This comment has been minimized.

Show comment
Hide comment
@nebrius

nebrius Apr 21, 2018

Contributor

It's entirely possible I missed this conversation earlier, but is there any updates on getting SPI support into Firmata? If so, maybe this could be a good time to start laying out plans to add support to IO plugins.

Contributor

nebrius commented Apr 21, 2018

It's entirely possible I missed this conversation earlier, but is there any updates on getting SPI support into Firmata? If so, maybe this could be a good time to start laying out plans to add support to IO plugins.

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Apr 21, 2018

Collaborator

@nebrius There's this: firmata/arduino#245

I'll add an agenda item

Collaborator

dtex commented Apr 21, 2018

@nebrius There's this: firmata/arduino#245

I'll add an agenda item

@noopkat

This comment has been minimized.

Show comment
Hide comment
@noopkat

noopkat Apr 24, 2018

noopkat commented Apr 24, 2018

@monteslu

This comment has been minimized.

Show comment
Hide comment
@monteslu

monteslu Apr 26, 2018

Contributor

Same. Looking forward to hanging with all of you!

Contributor

monteslu commented Apr 26, 2018

Same. Looking forward to hanging with all of you!

@monteslu

This comment has been minimized.

Show comment
Hide comment
@monteslu

monteslu Apr 28, 2018

Contributor

a few more potential agenda items:

  • ES6 J5 status / supported node versions
  • ES6 IO classes with an official Board.IO superclass
  • Web based J5 patterns using (webbluetooth, webusb, midi, audio, network connections, etc)
  • Shutdown/Restart J5 in same process
Contributor

monteslu commented Apr 28, 2018

a few more potential agenda items:

  • ES6 J5 status / supported node versions
  • ES6 IO classes with an official Board.IO superclass
  • Web based J5 patterns using (webbluetooth, webusb, midi, audio, network connections, etc)
  • Shutdown/Restart J5 in same process
@nebrius

This comment has been minimized.

Show comment
Hide comment
@nebrius

nebrius Apr 29, 2018

Contributor

Oh I really like the ES6 Board.IO superclass idea. We could even look into creating other "intermediate" derived classes based on linux-io and raspi-core-io (which contrary to the name is not Raspberry Pi specific...I should really rename it).

Contributor

nebrius commented Apr 29, 2018

Oh I really like the ES6 Board.IO superclass idea. We could even look into creating other "intermediate" derived classes based on linux-io and raspi-core-io (which contrary to the name is not Raspberry Pi specific...I should really rename it).

@soundanalogous

This comment has been minimized.

Show comment
Hide comment
@soundanalogous

soundanalogous Apr 29, 2018

There's this: firmata/arduino#245

I plan to pick this up again over the next month. I'd love to have some more feedback on the proposal, but I may just have to commit to an implementation and put it out there then make a breaking change if it ends up not scaling well. The part where I'm hung up is handling the CS pin in a way that reduces the number of commands that need to be sent over the wire.

soundanalogous commented Apr 29, 2018

There's this: firmata/arduino#245

I plan to pick this up again over the next month. I'd love to have some more feedback on the proposal, but I may just have to commit to an implementation and put it out there then make a breaking change if it ends up not scaling well. The part where I'm hung up is handling the CS pin in a way that reduces the number of commands that need to be sent over the wire.

@soundanalogous

This comment has been minimized.

Show comment
Hide comment
@soundanalogous

soundanalogous May 13, 2018

I did some more thinking about SPI today and came up with some changes to the current proposal: firmata/protocol#26 (comment). I'd appreciate any feedback regarding Option A vs B in that proposal, especially as it relates to how this API may map to non-Arduino architectures like the Raspberry Pi.

soundanalogous commented May 13, 2018

I did some more thinking about SPI today and came up with some changes to the current proposal: firmata/protocol#26 (comment). I'd appreciate any feedback regarding Option A vs B in that proposal, especially as it relates to how this API may map to non-Arduino architectures like the Raspberry Pi.

@monteslu

This comment has been minimized.

Show comment
Hide comment
@monteslu

monteslu May 16, 2018

Contributor

not sure who else is planning on being at jsconf, but thought I'd ping some more nodebot friends in case they missed this thread :)
@ajfisher @rockbot @julianduque @nodebotanist @lynnaloo @KatieK2 @sandeepmistry

Contributor

monteslu commented May 16, 2018

not sure who else is planning on being at jsconf, but thought I'd ping some more nodebot friends in case they missed this thread :)
@ajfisher @rockbot @julianduque @nodebotanist @lynnaloo @KatieK2 @sandeepmistry

@ajfisher

This comment has been minimized.

Show comment
Hide comment
@ajfisher

ajfisher May 17, 2018

Contributor
Contributor

ajfisher commented May 17, 2018

@julianduque

This comment has been minimized.

Show comment
Hide comment
@julianduque

julianduque May 17, 2018

Contributor

I'll not be at JSConf US 😭 - have fun friends!

Contributor

julianduque commented May 17, 2018

I'll not be at JSConf US 😭 - have fun friends!

@lynnaloo

This comment has been minimized.

Show comment
Hide comment
@lynnaloo

lynnaloo May 17, 2018

I will be there!

lynnaloo commented May 17, 2018

I will be there!

@KatieK2

This comment has been minimized.

Show comment
Hide comment
@KatieK2

KatieK2 May 20, 2018

Contributor

Alas, I haven't got a ticket. But I love seeing this. Y'all keep doing awesome! 💖

Contributor

KatieK2 commented May 20, 2018

Alas, I haven't got a ticket. But I love seeing this. Y'all keep doing awesome! 💖

@sandeepmistry

This comment has been minimized.

Show comment
Hide comment
@sandeepmistry

sandeepmistry May 27, 2018

I'll be there as well!

sandeepmistry commented May 27, 2018

I'll be there as well!

@nebrius

This comment has been minimized.

Show comment
Hide comment
@nebrius

nebrius May 28, 2018

Contributor

To get the ball rolling on scheduling, I’d like to make an initial proposal/recommendation:

Let’s hold the collaborator’s summit on Monday August 20th, the day before JSConf US starts. Let’s have it run from, say, 10am to 4pm, perhaps with a breakfast before we get started to catch up and socialize.

Here’s my current thoughts on why:

  • Holding it during the day during the conference doesn’t seem ideal to me
    • We’d need to skip talks on the first and third days (which some of us may be giving!)
    • The second day is definitely out due to NodeBots activities
  • Holding it in the evening doesn’t seem ideal to me either
    • if it’s a conference evening, there would be planned conference events we’d need to skip
    • if we held it on Monday evening we wouldn’t have any conflicts, but I fear ~3 hours wouldn’t be enough time
  • Holding it the day after the conference is a better option, but still doesn’t seem as ideal to me
    • Everyone will probably be worn out from the conference and after parties
    • This may only apply to me, but JSConf US is already alarmingly close to Burning Man and closing the gap another day isn’t feasible for me.

What do you all think?

Contributor

nebrius commented May 28, 2018

To get the ball rolling on scheduling, I’d like to make an initial proposal/recommendation:

Let’s hold the collaborator’s summit on Monday August 20th, the day before JSConf US starts. Let’s have it run from, say, 10am to 4pm, perhaps with a breakfast before we get started to catch up and socialize.

Here’s my current thoughts on why:

  • Holding it during the day during the conference doesn’t seem ideal to me
    • We’d need to skip talks on the first and third days (which some of us may be giving!)
    • The second day is definitely out due to NodeBots activities
  • Holding it in the evening doesn’t seem ideal to me either
    • if it’s a conference evening, there would be planned conference events we’d need to skip
    • if we held it on Monday evening we wouldn’t have any conflicts, but I fear ~3 hours wouldn’t be enough time
  • Holding it the day after the conference is a better option, but still doesn’t seem as ideal to me
    • Everyone will probably be worn out from the conference and after parties
    • This may only apply to me, but JSConf US is already alarmingly close to Burning Man and closing the gap another day isn’t feasible for me.

What do you all think?

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex May 28, 2018

Collaborator

Pinging @opheliasdaisies and @HipsterBrown in case they missed the thread and want to be there

Collaborator

dtex commented May 28, 2018

Pinging @opheliasdaisies and @HipsterBrown in case they missed the thread and want to be there

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex May 28, 2018

Collaborator

@nebrius I'm traveling that day, but am willing to change my flight for this.

Collaborator

dtex commented May 28, 2018

@nebrius I'm traveling that day, but am willing to change my flight for this.

@nebrius

This comment has been minimized.

Show comment
Hide comment
@nebrius

nebrius May 28, 2018

Contributor

That’s a good point to bring up @dtex. How many folks have already booked their travel? And perhaps another related question, would it be difficult for any of you to stay an extra day (work conflict, extra travel costs, etc)?

Contributor

nebrius commented May 28, 2018

That’s a good point to bring up @dtex. How many folks have already booked their travel? And perhaps another related question, would it be difficult for any of you to stay an extra day (work conflict, extra travel costs, etc)?

@nebrius

This comment has been minimized.

Show comment
Hide comment
@nebrius

nebrius May 28, 2018

Contributor

For the record, I haven’t booked anything yet because I’m still figuring out my plans for the conference.

I wasn’t invited to speak or help with any workshops this time, so I’m thinking about maybe only going for the first half or something to help ease my schedule. It depends on timing of this summit (which is now my top priority at JSConf)

Contributor

nebrius commented May 28, 2018

For the record, I haven’t booked anything yet because I’m still figuring out my plans for the conference.

I wasn’t invited to speak or help with any workshops this time, so I’m thinking about maybe only going for the first half or something to help ease my schedule. It depends on timing of this summit (which is now my top priority at JSConf)

@monteslu

This comment has been minimized.

Show comment
Hide comment
@monteslu

monteslu May 28, 2018

Contributor

Would be a bit easier for me to do a post-conf summit, but totally understand the thoughts you listed.

One thing to keep in mind though is a few years ago we had a little mini summit in the lobby the morning after jsconf until about 2pm( or as people headed out to their flights). About 5 or 6 people showed up, but the result was @ajfisher 's backpacks, some j5 bug fixes, some changes to IO classes and firmata and a few other things I can't remember. I was a bit newer to the scene, but even more psyched for nodebots after the conf than I was at the start :)

Contributor

monteslu commented May 28, 2018

Would be a bit easier for me to do a post-conf summit, but totally understand the thoughts you listed.

One thing to keep in mind though is a few years ago we had a little mini summit in the lobby the morning after jsconf until about 2pm( or as people headed out to their flights). About 5 or 6 people showed up, but the result was @ajfisher 's backpacks, some j5 bug fixes, some changes to IO classes and firmata and a few other things I can't remember. I was a bit newer to the scene, but even more psyched for nodebots after the conf than I was at the start :)

@HipsterBrown

This comment has been minimized.

Show comment
Hide comment
@HipsterBrown

HipsterBrown May 29, 2018

@dtex Thanks for pinging me. 😄 I've been watching this thread and looking forward to seeing folks in August.

HipsterBrown commented May 29, 2018

@dtex Thanks for pinging me. 😄 I've been watching this thread and looking forward to seeing folks in August.

@rwaldron

This comment has been minimized.

Show comment
Hide comment
@rwaldron

rwaldron Jun 5, 2018

Owner

I'm not sure if my travel is booked yet, maybe @dlindahl knows?

Owner

rwaldron commented Jun 5, 2018

I'm not sure if my travel is booked yet, maybe @dlindahl knows?

@nebrius

This comment has been minimized.

Show comment
Hide comment
@nebrius

nebrius Jun 5, 2018

Contributor

Let's get something of a poll going to figure out availability, since as @rwaldron mentioned, travel constraints are a thing.

I'm going to post a series of follow up posts with options to vote on both what days you can/cannot make it and which day you prefer. Hopefully that'll help us figure out details and get a date solidified and we can all finalize our travel :)

Contributor

nebrius commented Jun 5, 2018

Let's get something of a poll going to figure out availability, since as @rwaldron mentioned, travel constraints are a thing.

I'm going to post a series of follow up posts with options to vote on both what days you can/cannot make it and which day you prefer. Hopefully that'll help us figure out details and get a date solidified and we can all finalize our travel :)

@nebrius

This comment has been minimized.

Show comment
Hide comment
@nebrius

nebrius Jun 5, 2018

Contributor

Are you available to attend on August 20th, the day before the conference? Please react to this message with 👍 for "yes," 👎 for "no."

Contributor

nebrius commented Jun 5, 2018

Are you available to attend on August 20th, the day before the conference? Please react to this message with 👍 for "yes," 👎 for "no."

@nebrius

This comment has been minimized.

Show comment
Hide comment
@nebrius

nebrius Jun 5, 2018

Contributor

Are you available to attend on August 24th, the day after the conference? Please react to this message with 👍 for "yes," 👎 for "no."

Contributor

nebrius commented Jun 5, 2018

Are you available to attend on August 24th, the day after the conference? Please react to this message with 👍 for "yes," 👎 for "no."

@nebrius

This comment has been minimized.

Show comment
Hide comment
@nebrius

nebrius Jun 5, 2018

Contributor

Would you prefer August 20th or August 24th? Please react to this message with 😄 for August 20th, and 🎉 for August 24th.

Contributor

nebrius commented Jun 5, 2018

Would you prefer August 20th or August 24th? Please react to this message with 😄 for August 20th, and 🎉 for August 24th.

@dlindahl

This comment has been minimized.

Show comment
Hide comment
@dlindahl

dlindahl Jun 6, 2018

@rwaldron While we can book your airfare for you, we prefer to offer reimbursement. Let me know which option you'd like to go with (along with anyone else in this thread)

dlindahl commented Jun 6, 2018

@rwaldron While we can book your airfare for you, we prefer to offer reimbursement. Let me know which option you'd like to go with (along with anyone else in this thread)

@nebrius

This comment has been minimized.

Show comment
Hide comment
@nebrius

nebrius Jun 6, 2018

Contributor

Thanks everyone for voting so far. @noopkat @sandeepmistry @lynnaloo @rwaldron , can you vote in the above comments so we can get scheduling finalized?

Contributor

nebrius commented Jun 6, 2018

Thanks everyone for voting so far. @noopkat @sandeepmistry @lynnaloo @rwaldron , can you vote in the above comments so we can get scheduling finalized?

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Aug 10, 2018

Collaborator

@ghtomcat I'll add ESP8266 and PWM to the agenda but just in case our connectivity is sketchy can you outline the issue for us here? I'm sure someone there can champion it if we can't get you on the line (Hangouts maybe?)

Which day is better for you to try and connect (note we will be at UTC -7)?

Collaborator

dtex commented Aug 10, 2018

@ghtomcat I'll add ESP8266 and PWM to the agenda but just in case our connectivity is sketchy can you outline the issue for us here? I'm sure someone there can champion it if we can't get you on the line (Hangouts maybe?)

Which day is better for you to try and connect (note we will be at UTC -7)?

@monteslu

This comment has been minimized.

Show comment
Hide comment
@monteslu

monteslu Aug 10, 2018

Contributor

I think I have an understanding of the issue: Firmata on esp8266 correctly reports 10-bit PWM resolution, and firmata.js does store it: https://github.com/firmata/firmata.js/blob/master/lib/firmata.js#L233-L236 however that property isn't utilized when actually doing writes from j5.

Contributor

monteslu commented Aug 10, 2018

I think I have an understanding of the issue: Firmata on esp8266 correctly reports 10-bit PWM resolution, and firmata.js does store it: https://github.com/firmata/firmata.js/blob/master/lib/firmata.js#L233-L236 however that property isn't utilized when actually doing writes from j5.

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Aug 10, 2018

Collaborator

Ah yes, I know that issue (firmata and firmata.js have been ready for this for two years). J5 needs to be updated to match, but it's going to be a breaking change. It should be tightly coupled with the migration from 0-255 to 0.0-1.0 but is more important than getting to a v1 so I'm going to break those out from the v1.0.0 topic.

Collaborator

dtex commented Aug 10, 2018

Ah yes, I know that issue (firmata and firmata.js have been ready for this for two years). J5 needs to be updated to match, but it's going to be a breaking change. It should be tightly coupled with the migration from 0-255 to 0.0-1.0 but is more important than getting to a v1 so I'm going to break those out from the v1.0.0 topic.

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Aug 10, 2018

Collaborator

@ghtomcat Thank you for reminding us about that one! It's a really important issue.

Collaborator

dtex commented Aug 10, 2018

@ghtomcat Thank you for reminding us about that one! It's a really important issue.

@ghtomcat

This comment has been minimized.

Show comment
Hide comment
@ghtomcat

ghtomcat Aug 11, 2018

@dtex i can join both days, it will be 7pm-2am on the 20th and 10pm-3am on the 24th .. i prefer the 24th .. since it will be late, a chat based teleconference seems to be the easiest.

ghtomcat commented Aug 11, 2018

@dtex i can join both days, it will be 7pm-2am on the 20th and 10pm-3am on the 24th .. i prefer the 24th .. since it will be late, a chat based teleconference seems to be the easiest.

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Aug 11, 2018

Collaborator

@ghtomcat I've made that issue the first to cover on the 24th. I'm not sure how good/bad the connectivity is where we are having the meeting (literally in a pool-side cabana), but I know that @monteslu and I are both prepared to speak about this issue if things don't work out. I don't think anyone will argue against this, we just need to chart a path to get it done sooner rather than later.

I'll create a Hangouts event. I followed you on Twitter if you want to just DM me with your email address for the invite, or just post here (your call).

Collaborator

dtex commented Aug 11, 2018

@ghtomcat I've made that issue the first to cover on the 24th. I'm not sure how good/bad the connectivity is where we are having the meeting (literally in a pool-side cabana), but I know that @monteslu and I are both prepared to speak about this issue if things don't work out. I don't think anyone will argue against this, we just need to chart a path to get it done sooner rather than later.

I'll create a Hangouts event. I followed you on Twitter if you want to just DM me with your email address for the invite, or just post here (your call).

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Aug 11, 2018

Collaborator

@ghtomcat I've sent an invite to the Hangout. If anybody else would like to be invited to the Hangout, just let me know and send me your email address.

Collaborator

dtex commented Aug 11, 2018

@ghtomcat I've sent an invite to the Hangout. If anybody else would like to be invited to the Hangout, just let me know and send me your email address.

@reconbot

This comment has been minimized.

Show comment
Hide comment
@reconbot

reconbot Aug 12, 2018

Collaborator
Collaborator

reconbot commented Aug 12, 2018

@ghtomcat

This comment has been minimized.

Show comment
Hide comment
@ghtomcat

ghtomcat Aug 12, 2018

Slightly OT, i made nodeboats last year, based on Sumobots, with paddles and PET Bottles :)
boat2

ghtomcat commented Aug 12, 2018

Slightly OT, i made nodeboats last year, based on Sumobots, with paddles and PET Bottles :)
boat2

@noopkat

This comment has been minimized.

Show comment
Hide comment
@noopkat

noopkat Aug 18, 2018

I might not be able to change my flight on Friday to be able to attend the meeting. So it looks like I cannot attend both meetings I am very sorry 😞I'll keep trying to find something that works.

One thing I'd like to take on this year is to put together a proposal for a friendly component extension API. Happy to chat with anyone at the conference in more detail about this since I'll miss both meetings (and will be on flights during them so the plane wifi probably won't hold up to me attending the meetings remotely).

noopkat commented Aug 18, 2018

I might not be able to change my flight on Friday to be able to attend the meeting. So it looks like I cannot attend both meetings I am very sorry 😞I'll keep trying to find something that works.

One thing I'd like to take on this year is to put together a proposal for a friendly component extension API. Happy to chat with anyone at the conference in more detail about this since I'll miss both meetings (and will be on flights during them so the plane wifi probably won't hold up to me attending the meetings remotely).

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Aug 20, 2018

Collaborator

Hey gang, it looks like our cabana is not available so we are going to meet in Derek’s room, #958. Given the mosquito situation this is probably a good thing.

Collaborator

dtex commented Aug 20, 2018

Hey gang, it looks like our cabana is not available so we are going to meet in Derek’s room, #958. Given the mosquito situation this is probably a good thing.

@ajfisher

This comment has been minimized.

Show comment
Hide comment
@ajfisher

ajfisher Aug 20, 2018

Contributor
Contributor

ajfisher commented Aug 20, 2018

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Aug 20, 2018

Collaborator

@ajfisher 10am

Collaborator

dtex commented Aug 20, 2018

@ajfisher 10am

@ajfisher

This comment has been minimized.

Show comment
Hide comment
@ajfisher

ajfisher Aug 20, 2018

Contributor
Contributor

ajfisher commented Aug 20, 2018

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Aug 21, 2018

Collaborator

Johnny-Five Collaborator Summit Day 1 - Takeaways and ToDo's

  • Languishing Issues and PR's
    • Add Stale to Johnny-Five Repo. Issues that have no activity in the past year will be marked as "Stale". Issues that have been stale for 7 days will be closed. Users can comment while an issue is "Stale" to keep it fresh, and issues can be re-opened once closed. @dtex
    • Tag the existing release of Johnny-Five as v1.0.0. This immediately puts us into "semver mode" and we can start making breaking changes. This will happen Wednesday night, after the workshops. @rwaldron
    • Write a johnny-five.io news post talking about this and our commitment to match support with official node LTS versions. @lyzadanger & @nebrius
  • Zombie platforms
    • Galileo - Reach out to Derek at Sparkfun and ? at Intel and make sure they know they need to lock down on version 0.14.3 in order to ensure compatability for Galileo and Edison (until someone adds support for new Servo methods from c33155e) @rwaldron
    • Nino - Mark Repo and package as not maintained/deprecated @rwaldron
  • Breaking changes - Our new semver approach and tagging as 1.0.0 puts us in place where we can actually make breaking changes so it will be possible to move forward with these changes individually instead of landing everything before we can tag as 1.0.0. This has been a blocking problem for years and is a huge, positive shift for J5.
    • Replace all ocurrences of freq in constructor options with period and update examples and docs @HipsterBrown
    • Remove all ocurrences of this.emit("read") @HipsterBrown
    • Find all the callbacks and add them to a spreadsheet. Include the args passed to the callbacks and wether the callback can be called more than once. We are working towards following node's standard error first pattern, even if we are just passing null for things that will never error @ajfisher
    • Update contributing.md to note that any breaking commits must have a short description that is prefixed with [Breaking] @lyzadanger
    • Update sensor data event to pass an object like { value: scaledValue, raw: ADCValue } where "scaledValue" is [0, 1.0] and "ADCValue" is the raw value which will vary with the ADC bit depth @ajfisher
    • Update all examples to destructure objects passed to event listeners, grabbing only the values needed @ajfisher (Delegate this task by class maybe?)
  • IO plugin feature parity. We clarified the position re: making changes to io-plugins. Rather than a "firmata first" approach where new features were never added to other io-plugins before they were available in firmata.js, we can now add features in io-plugins first. Care must be taken to coordinate with other plug-in maintainers to ensure that we create an API that will work for all. This API spec will be maintained in rwaldron/io-plugins.
    • Revisit rwaldron/io-plugins to make sure it is current and complete and reflects the format we want to use for the "Standard" @rwaldron
    • Create abstract-io @nebrius
    • Open issue on each io-plugin repo informing maintainers of our clarified approach to new features and the new/improved io-plugins repo @dtex
  • SPI Support in io-plugins
  • Board scriptable behavior
    • Draft a scriptable package protocol @ajfisher
    • Test protocol on imp-io @dtex
  • IMU/Multi organization
    • Explore breaking individual multis out to component plugins
  • PWM support for platforms with > 8-bit resolution
    • Just effing do it @dtex
  • ES6 J5 status / supported node versions - We now officially support all Active, Maintenance and Current LTS releases and we drop official support when they hit EOL.

Not everyone could be there today so if you see a ToDo you would be interested in helping with, reach out to the assignee.

Collaborator

dtex commented Aug 21, 2018

Johnny-Five Collaborator Summit Day 1 - Takeaways and ToDo's

  • Languishing Issues and PR's
    • Add Stale to Johnny-Five Repo. Issues that have no activity in the past year will be marked as "Stale". Issues that have been stale for 7 days will be closed. Users can comment while an issue is "Stale" to keep it fresh, and issues can be re-opened once closed. @dtex
    • Tag the existing release of Johnny-Five as v1.0.0. This immediately puts us into "semver mode" and we can start making breaking changes. This will happen Wednesday night, after the workshops. @rwaldron
    • Write a johnny-five.io news post talking about this and our commitment to match support with official node LTS versions. @lyzadanger & @nebrius
  • Zombie platforms
    • Galileo - Reach out to Derek at Sparkfun and ? at Intel and make sure they know they need to lock down on version 0.14.3 in order to ensure compatability for Galileo and Edison (until someone adds support for new Servo methods from c33155e) @rwaldron
    • Nino - Mark Repo and package as not maintained/deprecated @rwaldron
  • Breaking changes - Our new semver approach and tagging as 1.0.0 puts us in place where we can actually make breaking changes so it will be possible to move forward with these changes individually instead of landing everything before we can tag as 1.0.0. This has been a blocking problem for years and is a huge, positive shift for J5.
    • Replace all ocurrences of freq in constructor options with period and update examples and docs @HipsterBrown
    • Remove all ocurrences of this.emit("read") @HipsterBrown
    • Find all the callbacks and add them to a spreadsheet. Include the args passed to the callbacks and wether the callback can be called more than once. We are working towards following node's standard error first pattern, even if we are just passing null for things that will never error @ajfisher
    • Update contributing.md to note that any breaking commits must have a short description that is prefixed with [Breaking] @lyzadanger
    • Update sensor data event to pass an object like { value: scaledValue, raw: ADCValue } where "scaledValue" is [0, 1.0] and "ADCValue" is the raw value which will vary with the ADC bit depth @ajfisher
    • Update all examples to destructure objects passed to event listeners, grabbing only the values needed @ajfisher (Delegate this task by class maybe?)
  • IO plugin feature parity. We clarified the position re: making changes to io-plugins. Rather than a "firmata first" approach where new features were never added to other io-plugins before they were available in firmata.js, we can now add features in io-plugins first. Care must be taken to coordinate with other plug-in maintainers to ensure that we create an API that will work for all. This API spec will be maintained in rwaldron/io-plugins.
    • Revisit rwaldron/io-plugins to make sure it is current and complete and reflects the format we want to use for the "Standard" @rwaldron
    • Create abstract-io @nebrius
    • Open issue on each io-plugin repo informing maintainers of our clarified approach to new features and the new/improved io-plugins repo @dtex
  • SPI Support in io-plugins
  • Board scriptable behavior
    • Draft a scriptable package protocol @ajfisher
    • Test protocol on imp-io @dtex
  • IMU/Multi organization
    • Explore breaking individual multis out to component plugins
  • PWM support for platforms with > 8-bit resolution
    • Just effing do it @dtex
  • ES6 J5 status / supported node versions - We now officially support all Active, Maintenance and Current LTS releases and we drop official support when they hit EOL.

Not everyone could be there today so if you see a ToDo you would be interested in helping with, reach out to the assignee.

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Aug 21, 2018

Collaborator

@ghtomcat We were ahead of schedule so we actually got to the bit-depth issue today and there honestly wasn't anything to discuss or debate. Everyone agreed that this is something that needs to be done sooner rather than later and it was assigned to me so look for something in the next few days. All of the heavy lifting is done already so it should be pretty easy.

Collaborator

dtex commented Aug 21, 2018

@ghtomcat We were ahead of schedule so we actually got to the bit-depth issue today and there honestly wasn't anything to discuss or debate. Everyone agreed that this is something that needs to be done sooner rather than later and it was assigned to me so look for something in the next few days. All of the heavy lifting is done already so it should be pretty easy.

@ghtomcat

This comment has been minimized.

Show comment
Hide comment
@ghtomcat

ghtomcat Aug 21, 2018

@dtex awesome news! my ESP8266 plus DRV8833 is standing by to test :)

ghtomcat commented Aug 21, 2018

@dtex awesome news! my ESP8266 plus DRV8833 is standing by to test :)

@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Aug 24, 2018

Collaborator

Johnny-Five Collaborator Summit Day 2 - Takeaways and ToDo's

  • Update examples - Stop using this, use arrow functions where appropriate, spread operators, const on requires, and appropriate variable scoping (let)
    • Update sensor class examples @ajfisher
    • nit new sensor class examples @rwaldron
    • Set plan for updating all the other examples (assign by class) @dtex
  • Component plugin super class
  • Alternative tranports within serialport
    • Add bindings for WebUSB @monteslu @reconbot
    • Based on this add bindings for other transports TBD
  • Handle disconnects gracefully
    • Propose heartbeat feature for firmata that allows users to define a heartbeat interval and a target state for disconnected devices (The OFS) @dtex
    • Ping @sandeepmistry to see if there is a way for the board to know if a serial connection has been lost. See cdc.cpp line state which is currently marked as a to-do. (Note that this is not a panacea as off-board devices will still be connected to serial even if their connection to the host has been lost).

Not everyone could be there today so if you see a ToDo you would be interested in helping with, reach out to the assignee.

Collaborator

dtex commented Aug 24, 2018

Johnny-Five Collaborator Summit Day 2 - Takeaways and ToDo's

  • Update examples - Stop using this, use arrow functions where appropriate, spread operators, const on requires, and appropriate variable scoping (let)
    • Update sensor class examples @ajfisher
    • nit new sensor class examples @rwaldron
    • Set plan for updating all the other examples (assign by class) @dtex
  • Component plugin super class
  • Alternative tranports within serialport
    • Add bindings for WebUSB @monteslu @reconbot
    • Based on this add bindings for other transports TBD
  • Handle disconnects gracefully
    • Propose heartbeat feature for firmata that allows users to define a heartbeat interval and a target state for disconnected devices (The OFS) @dtex
    • Ping @sandeepmistry to see if there is a way for the board to know if a serial connection has been lost. See cdc.cpp line state which is currently marked as a to-do. (Note that this is not a panacea as off-board devices will still be connected to serial even if their connection to the host has been lost).

Not everyone could be there today so if you see a ToDo you would be interested in helping with, reach out to the assignee.

@noopkat

This comment has been minimized.

Show comment
Hide comment
@noopkat

noopkat Aug 25, 2018

thank you @dtex for the amazing note taking, and it was wonderful to see you all this week! ❤️

noopkat commented Aug 25, 2018

thank you @dtex for the amazing note taking, and it was wonderful to see you all this week! ❤️

@reconbot

This comment has been minimized.

Show comment
Hide comment
@reconbot

reconbot Aug 25, 2018

Collaborator

seriously @dtex this is like a roadmap for the next year 👏

Collaborator

reconbot commented Aug 25, 2018

seriously @dtex this is like a roadmap for the next year 👏

@reconbot

This comment has been minimized.

Show comment
Hide comment
@reconbot

reconbot Aug 25, 2018

Collaborator

it wasn't on the roadmap but we did bring this up. I made a nodebots/rfcs for nodebots and larger than core j5 discussions. And I kicked things off with discussion around moving serialport to the nodebots org nodebots/rfcs#1 I'm also moving forward with decommissioning https://github.com/johnny-five-io

Ya'll should watch that repo.

Collaborator

reconbot commented Aug 25, 2018

it wasn't on the roadmap but we did bring this up. I made a nodebots/rfcs for nodebots and larger than core j5 discussions. And I kicked things off with discussion around moving serialport to the nodebots org nodebots/rfcs#1 I'm also moving forward with decommissioning https://github.com/johnny-five-io

Ya'll should watch that repo.

reconbot added a commit to node-serialport/node-serialport that referenced this issue Aug 25, 2018

chore: drop node 4 and upgrade to node 6 features
Libraries, LTS support and a large enough amount of users have all dropped node 4. As part of this years [J5 summit](rwaldron/johnny-five#1463) we discussed supporting all Active, Maintenance and Current LTS releases only. This will greatly reduce maintenance overhead and make this maintainer a little bit more happy. The last version of serialport to support node 4 will be `serialport@6`.

- remove "use strict;"
- add engines directives to all package.json's
- drop safe-buffer as they're all safe now
- let eslint-plugin-node use the engines directive
- use new language features in a few random places to feel better about this


BREAKING: Dropping support for node 4

reconbot added a commit to node-serialport/node-serialport that referenced this issue Aug 25, 2018

chore: drop node 4 and upgrade to node 6 features
Libraries, LTS support and a large enough amount of users have all dropped node 4. As part of this years [J5 summit](rwaldron/johnny-five#1463) we discussed supporting all Active, Maintenance and Current LTS releases only. This will greatly reduce maintenance overhead and make this maintainer a little bit more happy. The last version of serialport to support node 4 will be `serialport@6`.

- remove "use strict;"
- add engines directives to all package.json's
- drop safe-buffer as they're all safe now
- let eslint-plugin-node use the engines directive
- use new language features in a few random places to feel better about this
- stop including the package-lock.json


BREAKING: Dropping support for node 4

reconbot added a commit to node-serialport/node-serialport that referenced this issue Aug 25, 2018

chore: drop node 4 and upgrade to node 6 features
Libraries, LTS support and a large enough amount of users have all dropped node 4. As part of this years [J5 summit](rwaldron/johnny-five#1463) we discussed supporting all Active, Maintenance and Current LTS releases only. This will greatly reduce maintenance overhead and make this maintainer a little bit more happy. The last version of serialport to support node 4 will be `serialport@6`.

- remove "use strict;"
- add engines directives to all package.json's
- drop safe-buffer as they're all safe now
- let eslint-plugin-node use the engines directive
- use new language features in a few random places to feel better about this
- stop including the package-lock.json
- upgrade a few packages

BREAKING: Dropping support for node 4

reconbot added a commit to node-serialport/node-serialport that referenced this issue Aug 26, 2018

chore: drop node 4 and upgrade to node 6 features (#1633)
Libraries, LTS support and a large enough amount of users have all dropped node 4. As part of this years [J5 summit](rwaldron/johnny-five#1463) we discussed supporting all Active, Maintenance and Current LTS releases only. This will greatly reduce maintenance overhead and make this maintainer a little bit more happy. The last version of serialport to support node 4 will be `serialport@6`.

- remove "use strict;"
- add engines directives to all package.json's
- drop safe-buffer as they're all safe now
- let eslint-plugin-node use the engines directive
- use new language features in a few random places to feel better about this
- stop including the package-lock.json
- upgrade a few packages

BREAKING: Dropping support for node 4
@dtex

This comment has been minimized.

Show comment
Hide comment
@dtex

dtex Aug 26, 2018

Collaborator

@ghtomcat I've got a PR (#1495) for the ESP32 and ESP8266 non-8-bit PWM support. I've only tested with nodeunit. I need to dig up some actual hardware. When you have time can you test with your motor shield. Really important to make sure it runs forward and backward at various speeds. Also if you have time/hardware I had to update the LED and RGB LED classes as well.

Collaborator

dtex commented Aug 26, 2018

@ghtomcat I've got a PR (#1495) for the ESP32 and ESP8266 non-8-bit PWM support. I've only tested with nodeunit. I need to dig up some actual hardware. When you have time can you test with your motor shield. Really important to make sure it runs forward and backward at various speeds. Also if you have time/hardware I had to update the LED and RGB LED classes as well.

@nebrius

This comment has been minimized.

Show comment
Hide comment
@nebrius

nebrius Sep 17, 2018

Contributor

Following up on my TODO items from above:

I created the repo for Abstract IO at https://github.com/nebrius/abstract-io, and I filed an issue to get SPI support into Raspi IO at nebrius/raspi-io#106.

I've decided that I want to reimplement Raspi IO using Abstract IO first before I really call it done and let everyone else start using it, which I cataloged at nebrius/raspi-io#107. I also think integrating SPI into Raspi IO at the IO plugin level should be fully functional before I call it done too.

I've identified a few blockers though to the above tasks, namely nebrius/raspi-io-core#6. I'm cranking away on that one, but I wanted to set expectations with you all that it'll probably be a while.

Contributor

nebrius commented Sep 17, 2018

Following up on my TODO items from above:

I created the repo for Abstract IO at https://github.com/nebrius/abstract-io, and I filed an issue to get SPI support into Raspi IO at nebrius/raspi-io#106.

I've decided that I want to reimplement Raspi IO using Abstract IO first before I really call it done and let everyone else start using it, which I cataloged at nebrius/raspi-io#107. I also think integrating SPI into Raspi IO at the IO plugin level should be fully functional before I call it done too.

I've identified a few blockers though to the above tasks, namely nebrius/raspi-io-core#6. I'm cranking away on that one, but I wanted to set expectations with you all that it'll probably be a while.

@nebrius

This comment has been minimized.

Show comment
Hide comment
@nebrius

nebrius Sep 17, 2018

Contributor

@noopkat, I noticed you're looking into creating a base class for components, which sounds pretty similar in concept to what I'm doing with Abstract IO. Do you think it would be worthwhile to coordinate and try and get our approach/style synchronized?

Contributor

nebrius commented Sep 17, 2018

@noopkat, I noticed you're looking into creating a base class for components, which sounds pretty similar in concept to what I'm doing with Abstract IO. Do you think it would be worthwhile to coordinate and try and get our approach/style synchronized?

@noopkat

This comment has been minimized.

Show comment
Hide comment
@noopkat

noopkat Sep 23, 2018

@nebrius hey, thanks for flagging this! Let's chat, because I'm interested to hear your thoughts on how they can be similar. I'll need to read your Abstract IO design first, but let's talk about this in the next week or so 😄

noopkat commented Sep 23, 2018

@nebrius hey, thanks for flagging this! Let's chat, because I'm interested to hear your thoughts on how they can be similar. I'll need to read your Abstract IO design first, but let's talk about this in the next week or so 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment