Blog · GitLab (User) Created at 2018-2-18 15:59:46 Updated at 2018-4-23 13:48:49 Tomáš Hübelbauer
Split into the split screen mode for easy testing

QR Channel

A set of packages for using QR codes for exchanging data between two devices in line of sight.

Installing

Running

Remotely

QR Channel demos

Locally

Check out the protocol and scenario demos.

Deploying

The site with demos lives on Dokku.

wsl
git push dokku master

Contributing

Changes (181)
2018-4-23 13:48:49 Tomáš Hübelbauer
Split into the split screen mode for easy testing
2018-4-23 13:37:50 Tomáš Hübelbauer
Capitulate to chunking SDP and cycling it in with read receipts
2018-4-23 13:37:32 Tomáš Hübelbauer
Convert the WebRTC scenario demo to use PetitDOM for UI
2018-4-23 13:07:26 Tomáš Hübelbauer
Clarify finding todos to contribute a resolution for
2018-4-23 13:05:59 Tomáš Hübelbauer
Document efforts in naming channels
2018-4-23 12:38:59 Tomáš Hübelbauer
Plan naming the channels more appropriately
2018-4-17 17:49:51 Tomáš Hübelbauer
Fix some minor stuff up leaving only unimplemented branches
2018-4-17 12:50:24 Tomáš Hübelbauer
Delete TestPeer.ts
2018-4-17 12:50:05 Tomáš Hübelbauer
Delete TestChannel.ts
2018-4-17 12:49:45 Tomáš Hübelbauer
Delete test.ts
2018-4-17 12:48:50 Tomáš Hübelbauer
Mark old test stuff for deletion and update peer to not touch DOM
2018-4-17 12:38:50 Tomáš Hübelbauer
Remove completed task
2018-4-17 12:38:13 Tomáš Hübelbauer
Restructure the test to switches over event IDs
2018-4-16 20:08:11 Tomáš Hübelbauer
Redo the spike in the new way I thought of
2018-4-15 20:09:56 Tomáš Hübelbauer
Play around with "minimizing" the SDP for the QR code
2018-4-15 19:26:53 Tomáš Hübelbauer
Do some work meh
2018-4-15 18:55:30 Tomáš Hübelbauer
Move spike to the related demo
2018-4-12 20:00:53 Tomáš Hübelbauer
Add the spike code
2018-4-10 19:51:13 Tomáš Hübelbauer
Provide a build command
2018-4-8 16:15:10 Tomáš Hübelbauer
Condense the formatting
2018-4-8 16:10:48 Tomáš Hübelbauer
Merge flow generator prototype with the WebRTC demo
2018-4-8 16:00:37 Tomáš Hübelbauer
Generalize the code so far to multiple peers
2018-4-8 10:22:24 Tomáš Hübelbauer
Start coding the exhaustive flow path search algorithm
2018-4-7 13:46:49 Tomáš Hübelbauer
Plan combinatorically generating test scenarios
2018-4-7 13:35:04 Tomáš Hübelbauer
Build a flow test rig into the new WebRTC demo
2018-4-7 10:12:59 Tomáš Hübelbauer
Fix index.html being ignored
2018-4-7 09:52:21 Tomáš Hübelbauer
Prototype the new WebRTC demo
2018-4-7 08:23:48 Tomáš Hübelbauer
Link to the demos on Dokku
2018-4-7 08:23:34 Tomáš Hübelbauer
Serve first to see builds progress
2018-4-7 08:04:05 Tomáš Hübelbauer
Expose demos as a site on Dokku
2018-4-4 11:52:55 Tomáš Hübelbauer
Remove completed task
2018-4-1 12:32:00 Tomáš Hübelbauer
Put down some basic thoughts on chunked undirected channel
2018-4-1 11:06:28 Tomáš Hübelbauer
Plan updating the scenario demos
2018-4-1 11:05:21 Tomáš Hübelbauer
Draft demo for the undirected ordered unchunked QR channel
2018-4-1 10:56:28 Tomáš Hübelbauer
Link to the respective demo
2018-4-1 10:55:38 Tomáš Hübelbauer
Fix and finish the QR channel demo
2018-4-1 10:48:01 Tomáš Hübelbauer
Change decorated class to non-abstract (forgot)
2018-3-31 21:47:35 Tomáš Hübelbauer
Start work on demo package
2018-3-31 21:38:20 Tomáš Hübelbauer
Finalize exposing the packages correctly and groom todos
2018-3-31 21:09:22 Tomáš Hübelbauer
Progress on bundling channels hitting brick wall at exposing {} only
2018-3-31 18:11:24 Tomáš Hübelbauer
Bump versions with the SystemJS build
2018-3-31 18:09:02 Tomáš Hübelbauer
Bump version before release
2018-3-31 18:08:47 Tomáš Hübelbauer
Attempt to compile to a module with TSC only
2018-3-31 14:43:43 Tomáš Hübelbauer
Plan figuring out bundling
2018-3-31 14:36:08 Tomáš Hübelbauer
Redo bundling to use WebPack
2018-3-31 13:26:46 Tomáš Hübelbauer
Draft the unordered variant of the first channel
2018-3-31 13:16:24 Tomáš Hübelbauer
Restructure towards the goal of multiple packages
2018-3-31 13:07:22 Tomáš Hübelbauer
Groom todos based on the emerging design
2018-3-31 12:30:53 Tomáš Hübelbauer
Split demos into protocol and scenario demos
2018-3-31 12:23:37 Tomáš Hübelbauer
Note down protocol list as they progress
2018-3-31 12:22:15 Tomáš Hübelbauer
Move legacy code to legacy directory
2018-3-31 12:21:46 Tomáš Hübelbauer
Develop a proof of concept for the undirected ordered unchunked channel
2018-3-31 10:16:54 Tomáš Hübelbauer
Develop some of the ideas for protocols
2018-3-31 09:52:27 Tomáš Hübelbauer
Remove unused Node scripts
2018-3-31 09:52:17 Tomáš Hübelbauer
Plan developing pluggable protocols
2018-3-4 09:53:44 Tomáš Hübelbauer
Document read receipt approach for further pondering
2018-3-4 09:16:20 Tomáš Hübelbauer
Implement DOM EventTarget for Channel and Peer
2018-3-3 19:15:02 Tomáš Hübelbauer
Introduce the chunking and read receipts rework almost fully
2018-3-1 19:52:21 Tomáš Hübelbauer
Plan a utility class for message parsing
2018-3-1 19:48:39 Tomáš Hübelbauer
Put some thoughts on proper read receipts down
2018-3-1 16:06:35 Tomáš Hübelbauer
Refactor scan to not call itself and reorder methods
2018-3-1 16:06:07 Tomáš Hübelbauer
Add commands for running demos
2018-3-1 15:11:11 Tomáš Hübelbauer
Plan rebuilding demos on pre-commit
2018-3-1 14:59:32 Tomáš Hübelbauer
Rebuild the demos
2018-3-1 14:59:24 Tomáš Hübelbauer
Make the QR code fit itself within the canvas centered
2018-3-1 14:58:51 Tomáš Hübelbauer
Add a command for building all demos
2018-3-1 14:34:57 Tomáš Hübelbauer
Separate out the QR code drawing function and add better types
2018-3-1 13:34:49 Tomáš Hübelbauer
Move todos for demos to their own directories
2018-2-28 11:37:30 Tomáš Hübelbauer
Plan adaptive payload size determination
2018-2-28 11:25:38 Tomáš Hübelbauer
Build demos and contribute the WebRTC demo
2018-2-28 11:19:22 Tomáš Hübelbauer
Store the data channel on window
2018-2-28 11:14:47 Tomáš Hübelbauer
Handle data channel events
2018-2-28 11:10:06 Tomáš Hübelbauer
Handle the data channel event
2018-2-28 11:07:22 Tomáš Hübelbauer
Handle offer and answer
2018-2-28 11:04:17 Tomáš Hübelbauer
Differentiate offer and answer codes
2018-2-28 10:19:49 Tomáš Hübelbauer
Rename scanning methods and add missing access modifiers
2018-2-28 10:17:10 Tomáš Hübelbauer
Migrate to push mode advance
2018-2-28 10:10:53 Tomáš Hübelbauer
Split to dev and dist directories to not track watch builds
2018-2-28 09:59:37 Tomáš Hübelbauer
Fix dependencies
2018-2-28 09:51:19 Tomáš Hübelbauer
Start work on the WebRTC data channel demo
2018-2-28 08:20:37 Tomáš Hübelbauer
Add contributing rebasing guide
2018-2-28 08:18:11 Tomáš Hübelbauer
Link through to Bloggo for demos
2018-2-28 08:15:48 Tomáš Hübelbauer
Merge in the Parcel work
2018-2-28 08:13:17 Tomáš Hübelbauer
Rebase on top of master
2018-2-28 07:55:14 Tomáš Hübelbauer
Document the shape detection API proposal
2018-2-27 22:00:15 Tomáš Hübelbauer
Split notes and tasks to doc and todo directories
2018-2-27 21:59:35 Tomáš Hübelbauer
Plan fixing Parcel regenerator issue in branch
2018-2-27 11:43:11 Tomáš Hübelbauer
Plan developing a simpler WebRTC demo before the more complex one
2018-2-26 08:03:49 Tomáš Hübelbauer
Confirm usage with a phone (autoplay, scnaner quality)
2018-2-26 08:02:22 Tomáš Hübelbauer
Use the autoplay video in the throughput demo as well
2018-2-26 07:58:44 Tomáš Hübelbauer
Remove the fallback play button with working video
2018-2-26 07:57:29 Tomáš Hübelbauer
Try a faster interval for the fallback timeout
2018-2-26 07:50:32 Tomáš Hübelbauer
Fix playsinline attribute name
2018-2-26 07:49:18 Tomáš Hübelbauer
Try some more tricks for iOS Safari video
2018-2-26 07:47:57 Tomáš Hübelbauer
Attempt to play the video inline
2018-2-26 07:43:22 Tomáš Hübelbauer
Return the play button for mobile gesture capture
2018-2-26 07:22:50 Tomáš Hübelbauer
Call play on viewfinder video for mobile from button (user gesture)
2018-2-26 07:17:04 Tomáš Hübelbauer
Implement a mobile layout
2018-2-26 06:58:32 Tomáš Hübelbauer
Merge resolve conflict
2018-2-25 20:35:18 Tomas Hubelbauer
Handle failure to autoplay and defer to user gesture
2018-2-25 10:09:33 Tomáš Hübelbauer
Fallback to
2018-2-25 08:48:55 Tomáš Hübelbauer
Pla rewriting in TypeScript and bundling with WebPack
2018-2-25 08:11:55 Tomáš Hübelbauer
Plan working on the new API branch
2018-2-24 22:18:26 Tomáš Hübelbauer
Plan WebRTC demo and a phone-laptop combo demo
2018-2-24 22:13:21 Tomáš Hübelbauer
Add a changelog
2018-2-24 22:12:12 Tomáš Hübelbauer
Bump version and document the rest of the API
2018-2-24 22:10:41 Tomáš Hübelbauer
Describe the API in the README
2018-2-24 22:07:07 Tomáš Hübelbauer
Plan improvements
2018-2-24 22:05:19 Tomáš Hübelbauer
Fix extension
2018-2-24 21:55:39 Tomáš Hübelbauer
Fix first timestamp assignment to not override it
2018-2-24 21:52:49 Tomáš Hübelbauer
Improve accuracy of the DTR calculation
2018-2-24 21:51:04 Tomáš Hübelbauer
Fix percent display and round rate number
2018-2-24 21:48:49 Tomáš Hübelbauer
Improve progress display UI
2018-2-24 21:46:38 Tomáš Hübelbauer
Display transfer rate
2018-2-24 21:43:33 Tomáš Hübelbauer
Close the progress tag properly
2018-2-24 21:42:36 Tomáš Hübelbauer
Plan sending file metadata
2018-2-24 21:42:13 Tomáš Hübelbauer
Display progress in sender
2018-2-24 21:33:54 Tomáš Hübelbauer
Plan showing progress
2018-2-24 21:33:48 Tomáš Hübelbauer
Download after finishing
2018-2-24 21:30:01 Tomáš Hübelbauer
Do not clear code, would prevent peer from seeing last
2018-2-24 21:28:24 Tomáš Hübelbauer
Clear code canvas upon stop as well and fix condition
2018-2-24 21:26:40 Tomáš Hübelbauer
Implement stopping scanning
2018-2-24 21:16:44 Tomáš Hübelbauer
Update peer counter with each message
2018-2-24 21:11:33 Tomáš Hübelbauer
Log messages
2018-2-24 21:10:45 Tomas Hubelbauer
Do not log header errors
2018-2-24 20:59:10 Tomáš Hübelbauer
Fix error in advancing recipient parsing
2018-2-24 20:41:01 Tomáš Hübelbauer
Add state data to errors
2018-2-24 20:32:22 Tomáš Hübelbauer
Make parser more robust and errors more granular
2018-2-24 20:31:52 Tomáš Hübelbauer
Log error as object
2018-2-24 19:26:07 Tomáš Hübelbauer
Implement pushing handshake messages
2018-2-24 19:12:29 Tomáš Hübelbauer
Prevent pushing the same message multiple times
2018-2-24 19:09:29 Tomáš Hübelbauer
Add logging to the transfer demo
2018-2-24 19:04:39 Tomáš Hübelbauer
Migrate to a free text and multiple recipient friendly message format
2018-2-24 18:10:39 Tomáš Hübelbauer
Fix missing message causing trim to collapse the whole thing
2018-2-24 18:06:49 Tomáš Hübelbauer
Add a file transfer demo
2018-2-24 18:06:36 Tomáš Hübelbauer
Switch to byte mode for full range
2018-2-24 17:32:41 Tomáš Hübelbauer
Split to multiple demo directories
2018-2-24 17:27:56 Tomáš Hübelbauer
Fix casing issue
2018-2-24 17:17:10 Tomáš Hübelbauer
Try increasing the payload size
2018-2-24 17:16:57 Tomáš Hübelbauer
Pad the QR code a bit more
2018-2-24 17:14:23 Tomáš Hübelbauer
Redirect to required name
2018-2-24 17:13:15 Tomáš Hübelbauer
Calculate transfer rate from total page time
2018-2-24 17:05:00 Tomáš Hübelbauer
Display peer counter acknowledgement
2018-2-24 17:02:46 Tomáš Hübelbauer
Require name and log errors into the UI as well
2018-2-24 17:02:26 Tomáš Hübelbauer
Make QR code fill parent while staying square
2018-2-24 16:52:34 Tomáš Hübelbauer
Pull out into a library to use separately
2018-2-24 12:33:51 Tomáš Hübelbauer
Remove obsolete tasks
2018-2-24 12:27:20 Tomáš Hübelbauer
Double the payload size
2018-2-24 12:15:18 Tomáš Hübelbauer
Display approximate data transfer rate
2018-2-24 12:04:11 Tomáš Hübelbauer
Transfer the acknowledgement algorithm over from the barcode spike and delete it
2018-2-24 10:48:51 Tomáš Hübelbauer
Round the last reception ms ago number
2018-2-24 10:45:05 Tomáš Hübelbauer
Migrate from LazarSoft's JsQrCode to Cozmo's jsQR
2018-2-23 16:24:48 Tomáš Hübelbauer
Link some libraries for text recognition and own tracking
2018-2-23 16:22:57 Tomáš Hübelbauer
Merge branch 'master' of https://gitlab.com/TomasHubelbauer/qr-channel
2018-2-23 16:07:25 Tomáš Hübelbauer
Plan trying out with text recognition
2018-2-23 16:03:59 Tomáš Hübelbauer
Link to the previous attempts to achieve this
2018-2-20 08:58:41 Tomáš Hübelbauer
Center a smaller barcode
2018-2-20 08:12:33 Tomáš Hübelbauer
Spike using barcodes instead of QR codes
2018-2-19 12:22:45 Tomáš Hübelbauer
Plan fixing the matching issue
2018-2-19 12:20:05 Tomáš Hübelbauer
Increase QR code padding
2018-2-19 12:18:53 Tomáš Hübelbauer
Migrate to alphanumeric from numeric
2018-2-19 12:11:46 Tomáš Hübelbauer
Hoist variables up the scope
2018-2-19 12:11:06 Tomáš Hübelbauer
Remember receive, send and name choices
2018-2-19 12:03:20 Tomáš Hübelbauer
Implement send & receive toggles
2018-2-19 11:46:25 Tomáš Hübelbauer
Fix decoder and cap received message store
2018-2-19 11:27:28 Tomáš Hübelbauer
Try with alphanumeric
2018-2-19 11:24:35 Tomáš Hübelbauer
Increase padding to improve matching finder patterns
2018-2-19 11:22:41 Tomáš Hübelbauer
Use better error encoding for short message
2018-2-19 11:19:08 Tomáš Hübelbauer
Fix name class and unobscure error reporting
2018-2-19 11:09:28 Tomáš Hübelbauer
Fit the available space for the QR code
2018-2-19 11:05:35 Tomáš Hübelbauer
Use layout with bigger QR codes
2018-2-19 10:55:49 Tomáš Hübelbauer
Center the QR code
2018-2-19 10:54:59 Tomáš Hübelbauer
Increase QR code size and padding
2018-2-19 10:51:28 Tomáš Hübelbauer
Replace with better QR code generator and improve layout
2018-2-19 09:32:24 Tomáš Hübelbauer
Decrease error correction level for simpler QR codes
2018-2-19 09:24:15 Tomáš Hübelbauer
Make QR code larger to improve captures
2018-2-19 09:18:31 Tomáš Hübelbauer
Add 'Try it out' Bloggo link
2018-2-18 18:16:06 Tomáš Hübelbauer
Post on Bloggo
2018-2-18 18:14:23 Tomáš Hübelbauer
Attach thumbnail and video
2018-2-18 17:26:21 Tomáš Hübelbauer
Swap code and snapshot for better alignment
2018-2-18 17:22:22 Tomáš Hübelbauer
Put together basic demo
Comments E-mail me!