README.md 5.24 KB
Newer Older
Jun Matsushita's avatar
Jun Matsushita committed
1
# openwork
Jun Matsushita's avatar
Jun Matsushita committed
2

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
## Overview

Open Work is a project which aims at making open source documentation great and easy.

In our view, the power of the openness of open source can only be realised with much better access to how work is done in open source communities.

## Our vision

We want to make it easy to share exactly what we want, in the less time as possible, with as much (or as little) contextual information that will help others navigate and learn at their own pace.

 - **Capture**: We envision that private rich data about our work day will be available to us (and only us) immediately. 
 - **Curation**: Openwork tools will help us select important moments in our days that we decide are worth sharing because they can help others. 
 - **Distribution**: We'll be able to package and distribute rich context data (video, sound, transcripts, visualisations).

## Challenges
Jun Matsushita's avatar
Jun Matsushita committed
18

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
There are important ethical challenges such as:
 - Recording of personal audio feeds from the workstation need to have new approaches to consent for co-workers and other third parties. For instance phyical interfaces that advertise the recording mode.
 - Surveillance in the workplace is a real concern and this approach needs to be conscious of the real problems caused by peer-pressure or other factors that can promote a culture of surveillance rather than a culture of openness and sharing.
 
## Components

We experiment with approches which associate various components:
 - [Open Broadcaster Software - Free, open source software for live streaming and recording](https://obsproject.com/)
 - Git and git annex or git lfs for storing video data in Git.
 - Video archiving interfaces from the [Interlace and related projects](https://www.youtube.com/watch?v=2Wwa8zewDbc)
 - Metadata stream for the desktop such as with:
   - Terminal session recording: script
   - Time trackers (not open source): rescue time / toggl
 
## Examples

 - https://www.youtube.com/watch?v=sdadJd-blEo
 - https://www.youtube.com/watch?v=gHeM9kfxk1Y


# Notes

 - Approach to scale grounded in open principles: Scaling for us is making our learnings more accessible.
Jun Matsushita's avatar
Jun Matsushita committed
42 43 44 45 46

 - Maybe do it together with a colleague.
 - Make it searchable / indexing


Jun Matsushita's avatar
Jun Matsushita committed
47 48 49
## Setup

 - Screengrabber
50 51 52 53 54 55
 - Disk space. Either:
 	 + record all data to local NAS and use that as workspace due to the huge amounts of data generated every day
 	 	+ privacy concern: should that be in a shared space or should clients be isolated?
 	 + record everything locally, only push to NAS as archive.
		+ In both cases, when a finished release is pushed, it is automatically uploaded to the web (YouTube, Vimeo, and research if there are other alternatives).
 	 
Jun Matsushita's avatar
Jun Matsushita committed
56 57 58
 - Shell session replay: 
     + Script (http://www.linuxnix.com/2013/04/record-terminalshell-session-linux.html)

Jun Matsushita's avatar
Jun Matsushita committed
59
 - Cameras
Shure's avatar
Shure committed
60 61
     + Establishing shot. (long shot head to toe) - for example a central camera in the middle of the office space on a tripod at eye level
     + Mid shot (Upper body) - for the newest MacBooks the integrated HD camera might be sufficient without disturbing the work space.
62
     + Overhead shot (Desk) GoPro in wide angle setting
Shure's avatar
Shure committed
63
     + Close up (Hands) - Is a seperate camera needed or can the overhead cam stream be cropped? ie. recording with 4k in wide angle, then cropping to 1080p
Jun Matsushita's avatar
Jun Matsushita committed
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103

### Procurement

 - GoPro
 - Android Phone


## Always On

 - Activate shell recording.
 - Activating Screen capture 
 - Rescuetime?
 - Toggl?

Index Markers
 - Automatic through rescuetime/toggl - 
 - Shortcut to create Markers 

Clean up as you go of screencap video.
 - Rules for dropping time windows (such as duration of state / amount of change)


 - Human Resources


 - Setup Stock beauty shots for different time of the day, configurations...

 - 

## Pre-capture checklist


 - Introduction sentence. What is the task you're working on. What is problem you encountered. How you solved it. 
 - Rewind to the state where things were at the beginning of task.
 - Progress step by step through the tasks.


 - Layer of explanation / research / ...
 - Description of the task. / Intro scene: Full body / Cut scene : Upper body.
 - Craftmanship / Workflow / Efficiency / Shortcuts / ...
Jun Matsushita's avatar
Jun Matsushita committed
104 105 106 107 108 109


 - Review summary of past work
     + Video Summary: http://readmes.numm.org/interlace3/
     + Text Summary
     + Text transcription?
110
     	+ Transcription of the finished video can be made by YouTube, the quality is mediocre for casual speaking and a mobile phone audio recording but seems sufficient if the audio recording is very good (clip on mic). The transcribed text is served as an XML from YouTube without timestamps. After uploading the footage to YouTube and the encoding finished it takes a few minutes until the subtilte option is available. 
Jun Matsushita's avatar
Jun Matsushita committed
111 112


Jun Matsushita's avatar
Jun Matsushita committed
113
## Capture
Jun Matsushita's avatar
Jun Matsushita committed
114

Jun Matsushita's avatar
Jun Matsushita committed
115
 - Activate Video Recording? Webcam? External Cam?
116
     + Linux GUI screen capture: Vokoscreen (lossy mkv, optional audio, optional webcam PiP) https://github.com/vkohaupt/vokoscreen
Jun Matsushita's avatar
Jun Matsushita committed
117 118
 - View finder or current scene indicator on phone.
 - Shortcuts to change scenes/cameras/angles.
Jun Matsushita's avatar
Jun Matsushita committed
119

Jun Matsushita's avatar
Jun Matsushita committed
120 121 122 123 124 125
 - Dealing with errors on the fly.
     + Rewind between sentences. (Streaming NLP) -> Rob.

## Post

 - Editing
126
     + MKV containers can be split and merged: ffmpeg -ss 00:01:35 -i screencapture-LongFile.mkv -codec copy -t 00:01:00 TrimmedOutput.mkv
Jun Matsushita's avatar
Jun Matsushita committed
127
 - Transcribing
Jun Matsushita's avatar
Jun Matsushita committed
128 129 130

## Review

Jun Matsushita's avatar
Jun Matsushita committed
131

Jun Matsushita's avatar
Jun Matsushita committed
132
## Publish
Jun Matsushita's avatar
Jun Matsushita committed
133 134

 - Video
Alex Shure's avatar
Alex Shure committed
135
 - Index / Text...