 OK, today is February 1st, 2021. This is the DevSync. We are mid-sprint on 19, focused on third-party skill development at the environment for doing that and delivering three DevKits to our rollover partner. So let's check in and see how we're doing. Chris Bear's got his work up there, so let's check in with Chris and his dogs. And my dogs. So yeah, I got working on the first part of the Pantakor API, which is passing the new config value that Chris added to the config using passing that to Selene at paring time and storing that and then later using that to get the device ID and activation time. So that's what these three tickets are all about. They're separated out into smaller tickets, but they're all kind of related. So yeah, I've been working on that. The coding is ready. I'm running some tests now. And once I'm done testing, I'll move on to the next endpoint. That's what I've been doing today. All right. Sounds like what we expected. And Derek. Hey, y'all. See, today I was mostly working on the SJ240 feedback that Josh has been giving me. And my goal, actually, I have one board. G5 board here that is not being used. So my goal is, as I'm printing this one out, is maybe to get this one to Chris or somebody when I'm done with it. Mine is totally functional. This one will be as well. But there's just slight iterations, mostly around printing to avoid printing issues and failures. So not so much functionality wise. So anyway, hopefully I have another fully buttoned up SJ240 design. Actually, we should start using the new terms that Michael put together, I think, because it's like NYC DK3 or something. Or the SDK2. The SJ240 is still the valid part number. That's just the part number for the. Right. Well, that's just the housing, though. This would be a full list. OK, so anyway, I'll have one of those here and there, too, to distribute to somebody. And then I'll be out of, I won't have any more SJ240 ones. So let's see. Going to have a review with Gaz tomorrow on the postcard and disclaimer sheet. And we can be done with that, hopefully. Although I expect a little bit of revision. And yeah, that's about what I've been up to. OK. Oh, actually, there's something I do want to mention. I was trying to do a video for Gaz with one of the dev kits assembled. And I had to flash a Pi 4. And it was giving me this interesting behavior where I would test it with the Pi OS, Raspberry Pi OS, and it would boot from USB. But I could not get it to boot with our image, our Panticore image from USB. And I swapped it in and out with the one that was known working. And the known working one worked fine. The known working Pi 4 worked fine with both images. So I'm not sure what happened that it would accept the Raspberry Pi OS via USB, but not our build via USB. And Gaz has mentioned some other radio syncrises around USB boot that we might want to keep our eyes on. The firmware that you flashed the eProm up to, they're releasing at a pretty rapid clip. So they're releasing once every two or three months. The Raspberry Pi Foundation is pushing new eProm firmware. You may have two different versions of the upgraded firmware between the two PIs. So one of them that you flashed a while back might be like a November version. And the one you flashed just now might be like December, January. Is that possible? Yeah, that's certainly possible, because I grabbed a fresh version of the eProm tool recently. And I ran into an issue with one of these PIs that it flat would not bring the Wi-Fi up, but I marked the Pi bad because it's the only time I've seen it. But yeah, we might want to validate that when we are upgrading the eProm, that we're not just grabbing the top of the heap and loading whatever's the latest and greatest that we have an actual, like this is the supported version of the eProm. Yeah, right. OK, well, we need to sort that out then. It seems like there could be an issue with the latest. OK. And can you take it for that? On the one that doesn't work, can you load Raspbian? And then I don't remember the command. You should be able to find it with Google really, really quick. It's a quick command that'll dump the eProm version to the CLI and just send me the version. Yeah, yeah, I can do that. Yeah, we don't. Let's not dig into it. I'll talk to you about it after, Derek. Josh. I'm building Mark IIs as quickly as I can possibly build them with the parts I have available. And then providing feedback to Derek on the places where we can improve things from both an assembly and a printing perspective. As soon as these last, there's like 15 audio chambers to go. I'll start printing these enclosures in bulk. So it looks like we can crank out at least two a day here. But with all six printers running, we might be able to get three or as many as four per day of the full SJ240 kits. And then we'll be bidding out or going out to get bids to see if we can find a print farm that's willing to do them at a reasonable price as well. And then finally, we'll probably be helping Derek to interface with Steve Michon so we can actually get the injection molded parts rolling. Oh, and then the other thing that we're working on is getting in touch with the vendors for components and starting to line up mass production type numbers with a goal of pushing 2,000 units in month one, which is targeted either June or July, and then scaling up at 10% per month from there. Hopefully, to meet demand, we're still in a situation where we sold more than we can build. I'm looking forward to having the opposite problem. Well, that doesn't sound like any fun, but OK. Excuse me. All right. Who's next? Kevin. Well, Kevin's not here. Let's see what I can say about what Kevin's working on. Did you ask him about 207? Oh, yeah. I thought I closed that one. I'll close it now. And the other ones are all in progress. 257, 259, he's started to work on those. Test jig is, it's all basically going to be part of the test jig system. Ken, I have a quick question about MakerFab. If we send them, so we're sourcing the, Hey, Chris, come talk real quick. So we're sourcing the speakers in China, yeah? No. The speaker drivers are coming from either PartsExpress or Madison. But they're coming from China originally. They're coming from China. Derek would be able to answer that one a little bit better. Derek, is your original? Yeah, in Shenzhen. OK, so we're getting all the stuff from China to bring it into the States for assembly at the moment. Do we want to start looking at seeing if we can get MakerFab to work with the local plastics place and actually turn out either them or an integrator somewhere in Shenzhen, get them to start turning out complete speakers and boxes? Yeah, we can talk to them about that. OK. Yeah, they do offer that service. We also, have we mentioned that to Seed Studio too? We talked to their head of ops in the US. And Seed Studio package, we can give it to both of them and whoever else and just say, yeah, let's look at this. OK, we had run into some issues, Derek, about supply, which is why we have two different suppliers for speaker drivers. And PartsExpress was going to get us a development unit for their version of the Tempani driver. Have they shipped that yet? Have you received it? Yes, I have, but I've not had a chance to test it. You haven't had a chance to ring it. OK, and it's not a direct replacement. The dimensions and the holes and stuff are different. OK, that's not good. Because the second issue is just that there's a challenge getting those company drivers. Like, they're just not, the supply is not. Yeah. I don't think we can get 2,000. The supply issue, I think, won't resolve itself, but it'll become much easier to resolve when we have a predictable order and predictable quantities and just say, hey, this is how many we need here, here, here, here, here. Yeah, there's a possibility. Well, OK, this is not the right time for this. Yeah, it's definitely an issue that we're aware of. And in fact, it's on my list of things to do here. Um, all right, who's next? Yes. I think that's me. Yeah, so I, class, the user story is done. There's not too many of them, but, you know, it feels like they cover everything. I had a look at Lingua Franca yesterday. That's all, did one more little fix. But it's all working. The thing is, it was an unintentional incompatibility with Python 3.5. So I think the easiest thing is just going to be to release it with 2102 and jump straight to Lingua Franca 0.4, which just adds more languages and stuff. Um, the, I haven't done any more on the, on the documentation yet, but we've been, we've had a few of the kids get out to key developers and been helping them get their setup. So that's a good way of testing any assumptions that I have of knowing the system. And, yeah, just started compiling the new port audio with some changes that can sent through. So we'll see how that improves the listener experience. And I've also been getting back to some other community hours to try and push those through the pipeline until people have seen the chatter and dev with some frustrations about how long it takes us to review things, which is very valid. And then, you know, we do need to stay focused on the mark, too. We also need to make sure that we're respecting the time that they will put into contributing to Microsoft. Yeah, spending some time on that as well. Yeah, that's very important. And hopefully a lot of those people will have mark twos on their desks very shortly. And so this will kind of all come together. Guys, did you see my diatribe I posted earlier today? Uh-oh. I haven't, I haven't, I haven't checked this morning yet. It was, it was calm. But really, one thing I'm concerned about is adding a bunch of new functionality to a complex system that is not fully tested yet. You know, we're trying to get this mark two out. And, you know, if we add a bunch of new stuff that destabilizes, you know, and this is going to be in people's hands, I was a little concerned about that and moist that. The good, the good thing came out of that, though, is I got a community member, pink to me, directly after they read my diatribe and asked me how they could help with some of the testing and some of the VK stuff, some directions. And also, there was somebody who responded directly in the dev channel about asking how they can help with VK. So. Yeah, both of them. Good response. I was just curious, you know, what people thought about, you know, how much new functionality we've been pushing in the core right now with all the mark two stuff we got going on and trying to get that stabilized. You know, generate new stuff that we have to worry about. Anyway. Well, at the moment, you know, the market is building off that feature branch, so it's not getting any of the updates that are going into mainline core, which is, yeah, we do need to address at some point. I thought you were downmerging occasionally. I went to do that yesterday and there's a whole bunch of conflicts. Need to dress. The next one is going to be a little bit painful. But, yeah, we do need to do that. I should make a ticket to that, actually. So, yeah, like, we do need to get the testing up, because, you know, it's still like, you know, when you, it was a wake-up call when you did that cover all, the new coverage thing the other day and, you know, it showed 50% coverage, which I know it's just a number. You can't use that to determine, you know, the quality of the testing, but it's not a high number. Do we have any standards for PRs and with respect to, you know, their incremental, you know, changes to the coverage? Like, so for example, can people submit a PR with no tests and therefore just decrease the coverage? We get a lot of PRs to do tests. I strongly encourage people to add tests. It's harder than that. Like, it depends what sort of changes about how easy it is to test that part of the system as well. I mean, I've toyed with the idea of, like, mandatings that, you know, if we don't have a test for it, we can't measure it. That's where I was going. I think it's a great idea, especially, you know, the closer we get to putting this in the hands of more people than just, you know, our community developers and, you know, we start generating a bunch of mark twos and people start, you know, when we have a PR that breaks because no tests were added, that's going to be bad. Yeah, I mean, in my experience, it's just been, if you don't test it, it just doesn't work, no matter how simple the feature is. You forgot something and it will break. And a lot of that will be exposed to a proper unit test. But a lot of it won't and will be only exposed in, you know, a system test like the VK tests. So. And even if it works right now, it may not work when someone else touches the code, you know, in a week time. And, yeah, you can blame someone else for it, but like, there was nothing to tell them that what they did was breaking your thing. So. Short of having QA monkey, you know, little QA monkeys running through absolutely every possibility. Every time we make code change and test it's really the number one way. Yeah. I mean, yeah, so where we are right now is really just the bare minimum of what we can get away with, right? Yeah. You know, we did a big push last year on an implementing a test framework and system, you know. But we didn't really focus on like trying to get a particular code coverage or anything like that, right? And we know that we actually, we've only implemented one out of the three phases of the VK system. So we know there's lots of core that just aren't being tested in the VK system, right? Because we don't cover the speech to text and text to speech and, you know, those things. Yeah. So yeah, I mean, we really need, you know, the community to help us out with that. You know, it's great to get new features, but, you know, we've got our hands full with getting stuff working as it is. You know, asking us to write more tests is really not something we're excited about right now. So. Yeah, and that was one of my points was, you know, if, you know, we really want to make sure, I think we fell into this trap early in the company's history was, you know, had new features, had new features, had new features, but, you know, what you've got doesn't work. You probably shouldn't be adding to it. Right. Yeah. And if the voice assistant can't wake up, respond to a query and update itself reliably, then, you know. Features are kind of working, right? Yeah, exactly. All right, so enough on that. All right. So yeah, I mean, guys, we'll, you know, I trust you to handle, you know, the community appropriately. You've been doing a great job with that. But I would fully support if you wanted to start, you know, putting in some requirements on, you know, submitting tests with PRs and that sort of thing. I mean, we will get there eventually. I mean, I don't want it to be a shock to the community, but, you know, eventually that's where we have to go. Well, no, I mean, I'm surprised that's not already a requirement. Like, yeah, if somebody, like, for example, I talked to the folks out at Neon on a regular basis, they said last week that they have some PRs in that are significant. But yeah, if it doesn't come with comprehensive test cover, you know, first we need to dock our test procedure and make it available. If we've done that, any PR that shows up without proper text coverage gets bounced for test coverage. And if they want the PR included in the stack, you know, they need to provide test coverage. Our guys aren't getting paid to provide test coverage for features that we didn't develop. And as Veer said, you know, we, yeah, we, if we can't get the basic stuff working because we're having trouble with failures and so on and so forth, lumping in a bunch of additional features isn't going to be helpful. I know that we had been down this path a couple of years back, but it sounds like it has, it fell by the wayside either immediately or sometime in the interim. All right. Who's next? You. Me. Oh, okay. Right. So let's see. I'm going to be working with Kevin this week on getting the final firmware buttoned up and start working on all those issues with respect to lead times on devices that kind of came up earlier in the call. I've been basically, I've been working on investment business type stuff this week. So not a lot of work on the fun parts today. So, but we do have, I did, we were talking with the FAB for the SJ201s over the weekend, and we got them to confirm or commit to a plan to get everything shipped before the Chinese New Year, and actually get them out of the country before the Chinese New Year really starts to take hold, because if they ship them on the last day and then the shipping company shuts down, that's no good. So I am expecting that we will have our, a shipment of a couple hundred boards in here, probably on Monday is my, well, maybe Tuesday, we'll see. And then we'll go through and do all the QA process and flashing firmware and all that kind of stuff here before we send them on to Joe. So that's exciting. And yeah, that's about it. So that's everyone. Great. Ken's not here today. He's taking a personal day. He'll be back tomorrow. And we'll get his update then. Anything else that people want to bring up outside of the sprint? Nope. Nope. All right. Well, it looks like we're making good progress. The focus, again, this week is on getting the developer environment up and running. So we want to make sure that when people get their dev kits, they can actually log in and start building skills and deploying them to their own units and all that. I was taking a look at the schedule and thinking about just using the Mark II that's here on my desk. And I had previously slated the wake word machine learning loop as our next priority. But I really think that we should take a step back. Again, in the vein of not adding more features before we fix the ones we have, I think we should go for a bug fix sprint next. And just not necessarily UX focused, but sort of like even the level below, like a level zero user experience. Just like there's a lot of just really basic stuff that is crashing or not working. And doesn't even necessarily relate to the GUI, which obviously has a lot of problems with it right now. But just the core, the way core is responding to things. I think there's an odd interaction between the echo cancellation and actually disabling the microphone that makes it look like the microphone is not actually disabled, but it is. It's physically disconnected, but it still triggers the system occasionally because of the echo cancellation being applied to no input. So things like that, stuff that will really be get in the way of developing at a basic level. So I don't know what you all think of that. We can think about that. We've still got a few days to decide. I think it's a great idea, because I think one of the things you mentioned last week that I agree with 100% is if we can't get precise working by the time this stuff goes out, let's just, let's get something that does work. And it did, to me, I think it'd be great to have a runway quick listener, but have it work really well, but if we can't get it working really well between now and then, there's other solutions to that. Yeah. All right. Okay, so that's it for today. We'll talk again tomorrow. All right. See you all later.