[Thali-talk] Thali daily status - 6/25/2015

Yaron Goland yarong at microsoft.com
Thu Jun 25 12:33:45 EDT 2015


The good news is that yesterday I did manage to successfully run the basic Android -1 test I wrote! I was able to get my two phones to discover each other via node although I only got the Samsung to replicate to the Nexus 7. The Samsung S4 running Jelly Bean couldn't be connected to via Bluetooth from the Nexus 7. That isn't terribly surprising. It's an old phone running old code. But I treat that as a bug. The point is that the fundamental infrastructure of doing Wi-Fi Direct discovery, piping the result to node, then having node ask for and receive a Bluetooth connection and moving data over that connection actually does work!

We are still behind on getting to this same point with iOS because David has to start from scratch in learning iOS. He is making great progress (see his progress report below) but it's still going to take time.

Matt - He finished the basic replication layer but will have to make changes based on the proposal I sent out to simplify the native layer. Mostly this means putting in support for calling disconnect. He is going to work a bit with Sreejumon to do some testing using mocks.

Srikanth - He is waiting for Oguz to get his code integrated at which point he can then test end to end that he can do all of our crypto from Node.js. He worked with Sreejumon yesterday and mastered the basics of the postcard app and got it running on the desktop. He ran into some issues on Android that he will work with Sreejumon on.

Sreejumon - He ran down all the issues that were preventing us from using "stock" versions of our NPM dependencies on JXCore on Android. And Oguz already fixed all the issues! So today Sreejumon will test to see if he can now "just run" all of the postcard app code on Android JXCore just like on the desktop. He will also work with Matt on testing and help out Srikanth as necessary.

Brian - Still in England.

David - Lost ½ a day of productivity because Apple decided to push out an update that broke XCode on Cordova. He found a work around and will spend the rest of the day studying JXCore.

Jukka - He did a ton of research on exact length of data we can send over Wi-Fi Direct discovery and it isn't enough for our needs. He was using mDNS so now he'll try UPnP. Tomorrow he will update his native binding code based on the new interface proposal.

Oguz - Instantly fixed both of the issues we found in JXCore that kept us from running NPM modules properly. Other than that he is dealing with the usual backlog of JXCore issues.

Yaron - Successfully tested Jukka's Android -1 code!!!!!!!! This required a while because I had to make some changes in order to work with Jukka's code. I ran into some of the same issues that Sreejumon ran into so I filed those with Oguz. I then sent out two proposals for how to change the native API. Today I will need to figure out how we do framing on the P2P transports so we can handle things like TCP/IP disconnects and I need to update the API proposal based on today's phone call. I also need to run Android -1 with a larger data set.

From: Yaron Goland
Sent: Wednesday, June 24, 2015 9:57 AM
To: 'thali-talk at thaliproject.org'
Subject: Thali daily status - 6/24/2015

Matt - Finished up definitions for Node.js/Native layer calls and spent most of the day working on the replication layer and writing tests and the mock (that I mentioned yesterday) for it. Today he will continue with testing. He is going to work with Sreejumon to split the testing load for both the discovery and replication layers. We will then use their tests to test the native code on both Android and iOS.

Srikanth - He made some changes to the code he is submitting to JXCore for the crypto APIs to add in some features and fix some bugs. He is going to work with Sreejumon before he goes on vacation next week to get up to speed fully on the Postcard app so he can drive it while Sreejumon is out.

Sreejumon - He got the post card app fully running using a custom version of leveldown-mobile but he can't use standard leveldown-mobile from NPM yet because Oguz hasn't had a chance to update it. Once Oguz updates it then Sreejumon should be able to see if the Postcard app (again, not using our native layer) will "just run". Which really means that Express-PouchDB "just runs" on mobile without any special features. He will also work with Matt on tests and help Srikanth get up to speed on the Postcard app enough to drive it while Sreejumon is out.

Brian - Still in England

David - He spent yesterday getting Cordova running and seeing how plugins and such work. Today he is going to work on getting up to speed on JXCore's native API call outs using Brian's existing code as a template. Hopefully this will create a situation that by Friday his time he can start on the TCP relays for Story -1.

Jukka - He has finished his deliverables as he understands them for Story -1. I will test his code today to see if it passes and if it does then we will declare Android Story -1 shipped. Meanwhile Jukka will respond to any bugs we find and otherwise is trying to understand how DNS advertising works over Wi-Fi Direct via mDNS so we can advertise the information we need for discovery for future stories.

Oguz - Sorry, I screwed up and somehow dropped him from the status! EEEEK! Oguz is currently working on getting the new version of leveldown-mobile out to npm and helping Srikanth get the crypto code checked into JXCore but otherwise he is just driving the usual bugs and such to get JXCore to production quality.

Yaron - I managed to spend the entire day yesterday finishing my review, going through a ton of emails and fixing a VPN problem that has kept me out of the corporate network for months now. Today I will test Jukka's code to see if we can finally ship Android Story -1 and then go back to digging out of email.

From: Yaron Goland
Sent: Tuesday, June 23, 2015 12:47 PM
To: 'thali-talk at thaliproject.org'
Subject: Thali daily status - 6/23/2015

Matt - He did a bunch of work to finish and review the Node.js to native API that handles discovery and connectivity. He also reviewed it in detail with both Jukka and myself. He will get to David in a few days to do a similar review. He also wrote up the replication manager for Story 0 and is now doing testing on it. Once that is done he will either create a mock of the native APIs so we can do development on Node.js without having to deploy to a device or he will go back to the ACL work for story 0.0.0. Which he picks depends on how fast I get dug out of email since I would like to do the mock work.

Srikanth - He was actually working on making some changes to the OpenSSL code he wrote that will be contributed to JXCore. But it turns out there was a miscommunication. It turns out that Oguz was already planning on making those changes himself and because they mostly deal with calling JXCore APIs it is faster for Oguz to do them. So Srikanth will stop doing that work and wait for Oguz to send him the finished code and then Srikanth will submit it officially to JXCore. This makes the most sense because 99% of the code was written by Srikanth. Meanwhile Srikanth is going back to finishing learning the web framework we use for the postcard app and making changes in preparation for story 0.0.

Sreejumon - He has gotten Express-PouchDB synchronization working across devices!!!!! This is just using Wi-Fi, not Bluetooth or Multi-peer framework, but is still a big deal because it shows that all the Node.js level machinery on JXCore on Android does work. He will make some cleanups to his code and submit. Today he is planning on removing some custom node.js code that Oguz gave us just to get the lights turned on and instead replacing it with standard code from PouchDB and LevelDown-Mobile. Our expectation is that this will break things and we will need to submit PRs to those projects to get things "unbroken". But once we submit those PRs it means we can use the "off the shelf" code from those projects in Thali rather than trying to ship our own custom versions of the code. Note that these changes are need to ship Story 0.

Brian - He is visiting his new project team in England.

David - His background is iOS so both Cordova and JXCore are new to him. As such right now he is just studying up on the basics such as how to use Cordova and the JXCore native call outs. The good news is that he has Brian's code to refer to which already handles both Cordova and JXCore integration. The even better news is that the work he needs to do for Story -1 is pretty straight forward and is actually a good introduction project for Thali. But the reality is that Story -1 (and hence Story 0) is going to be delayed for at least two weeks on iOS while David gets up to speed. Our only hope for getting this stuff in sooner is if Brian can do some work but he is on other business this whole week.

Jukka - He finished up all the functionality (and more!) needed for story -1 (and by extension, story 0) for Android. He even wrote his own version of the Story -1 exit app. So his remaining work for story -1 is getting his APIs into the shape that Matt specified. He had a long chat with Matt so he should be able to do that work tomorrow. At that point I should be able to take his code and running my story -1 exit test. If it passes then we can officially declare story -1 shipped for Android!!!!!

Yaron - I am still paying the price for being out for a month and then returning and ignoring email while I resolved some pressing issues for the team. I have read through a bunch of emails. Responded to a bunch of threads. I'm currently writing up my performance review. I did manage to at least do a full review of Matt's native API proposal, so it wasn't all overhead. But I expect the rest of today and possibly into tomorrow just being involved in trying to dig my way out of the email pile. Then I'll be back to coding.

From: Yaron Goland
Sent: Monday, June 22, 2015 12:40 PM
To: 'thali-talk at thaliproject.org'
Subject: Thali daily status - 6/22/2015

Warning: This is to the public alias

Matt - He has finished up the code to wrap the native calls. He will write up a description of the formal definitions of the APIs and send to David and Jukka so they can make sure that their native code is compliant. We need this part for Story -1. Matt will then start working on the replication manager for Story 0.

Srikanth - He is working with Oguz on contributing the OpenSSL API work we need for Story 0.0 (and beyond) directly to JXCore. So everyone using JXCore will get to leverage it! He also is continuing to explore and play around with the Postcard app so he can make the changes necessary to support Story 0.0.

Sreejumon - He is our hero for the week! He spent a good chunk of the weekend hacking away at the issues that were keeping us from running Express-PouchDB in JXCore on Android. He has managed to get them resolved. These are mostly minor bugs. At least some of those bugs seem to be due to how JXCore_CordovaPlugin is setup. So he will work with Oguz to get changes made so that the code will "just work". Meanwhile he will also create a tiny "background" replicator to let him test the Postcard app replication data between two Android phones using Wi-Fi. This will tell us that the Postcard app is working as it should.

Brian - Is visiting England to work with people from his new project.

David - He is working on the TCP client and server relays we spec'd in Story -1 for iOS and working with Matt to make sure the APIs meet Matt's definition.

Jukka - He's back!!! Jukka just refactored his Android native code to cleanly separate the discovery code from the high bandwidth code and to break the high bandwidth code into a client and a server. Before everything was sort of mixed together. For tomorrow he is going to go get story -1 working since he should actually have all the infrastructure the story requires.

Yaron - I ignored all my piled up email while I was out on leave in order to get us going again on story -1 and story 0. Now that things are moving I get to spend most of today digging out of that accumulated email. I also may throw together a pure node.js version of the TCP/IP client and server bridge from story -1. This will let us do testing on the desktop of our node code with a more "realistic" environment. This is very useful because having to constantly deploy to native devices to do testing is very time consuming.


From: Yaron Goland
Sent: Friday, June 19, 2015 11:24 AM
To: thali-talk at thaliproject.org<mailto:thali-talk at thaliproject.org>
Subject: Thali daily status

Warning: This is to the public alias

I have been sending these daily updates internally but I realized that was silly. There is nothing secret in here. So I'm going to send them to the public alias instead.

Matt - He got back from his plane flight to Norway and is working today on packing up the discovery APIs as Node.js event emitters in Cordova. He has most of the code now but he needs to run tests. Right now he is set up to test on iOS but we need to get him some devices to test on Android. We may disturb Sreejumon to help out here since Sreejumon has Android devices.

Srikanth - He finished packaging up and checking in all the code he wrote for the crypto JXCore add-on so that Oguz can take it and translate it into a plugin. Meanwhile Srikanth is starting to learn the HTML generation framework that Sreejumon used in the Postcard app. It's not difficult but it requires some study so today he will study it with an eye to being able to start making the changes needed for story 0.0 on Monday.

Sreejumon - He is in hand to hand combat with Express-PouchDB trying to run down a bunch of minor bugs that cause things not to work when we run it in JXCore on Android (we haven't even tried it yet on iOS, Matt will be handling that).

Brian - He hopefully will work today on the TCP relay.

David - He is still getting up to speed on the project. There is a lot of code for him to study. We are hoping he will be in a position to start coding later next week.

Oguz - Besides handling the normal backload of issues for JXCore all up, investigating things that Sreejumon finds as he tries to get Express-PouchDB running, Oguz is also going to take the code that Srikanth delivered and change it from an add-on to a plugin. The reason we want to do that is that add-ons have to be compiled into a custom version of JXCore while plugins can be used with the stock JXCore. Nevertheless the work isn't super easy in this case because we depend on being able to talk to OpenSSL in a way that isn't normally exposed in JXCore's plugin interfaces. So Oguz is going to have to make some changes to JXCore to make this work.

Yaron - I spent yesterday just trying to understand Jukka's code and writing my own little baby tests. Today it looks like I need to write a detailed spec for David and Jukka on exactly what we expect for them from story -1. Once I get that done if I have any time left I'll try to continue working on Jukka's code.

Our current dependency tree to ship Story -1:

Node.js based socket client/server app (Yaron)

·        Node.js level Discovery Wrapper as part of Thali_Cordova Plugin (Matt & Sreejumon)

·        Native Discovery API Wrapper

o   Android discovery (Jukka)

o   iOS Discovery (Brian and David)

·        Native High Bandwidth Setup

o   Android (Jukka)

o   iOS (Brian and David)

·        TCP/IP Bridge

o   Android (Jukka)

o   iOS (Brian and David)

Matt has already written the Node.js level discovery wrapper, he just needs to test it. But right now Matt is setup for iOS, not Android. So I've asked Sreejumon to help him out with Android testing.

The Native Discovery API Wrapper actually already exists on both iOS and Android. So if Matt/Sreejumon's test go well then we won't have any work here. But realistically there will be bugs.

The Native High Bandwidth Set up should also be done on Android but it isn't clear if the same is true on iOS. We will have to wait for Brian to provide status.

The TCP/IP Bridge theoretically already exists on Android. But due to issues we were having with Express-PouchDB it wasn't possible to fully test it. That was a big motivation to create story -1 which lets us pull out Express-PouchDB and just use TCP/IP sockets directly. Brian will hopefully get to start working on the TCP/IP Bridge for iOS today.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist10.pair.net/pipermail/thali-talk/attachments/20150625/c34efee1/attachment-0001.html>


More information about the Thali-talk mailing list