Tuesday, June 23, 2020

eLearning stats

Here are our stats for our eLearning period from April 1 to June 12:
50 teaching days.
1,484,152 minutes in Zoom (JS).
495 hours in Zoom per day (JS).
56,036 Seesaw posts from students and teachers (JK-4).
27,6681 Seesaw comments (JK-4).
4652 Google Classroom posts (5-7).
We had four days of pro-d from March 26 to March 31 but I tried not to include those. For the 50 teaching days I just used an online calculator to take away the weekends and holidays. The last 10 of those days were actually a combination of our Home Learning and On-Campus Blended Learning.

The Zoom stats are very misleading. The raw stats outputted from the Zoom dashboard seem to multiply the number of meeting minutes. We don't require (or suggest) students to create Zoom accounts but faculty must have a registered account so it's easy to just pull out faculty stats and filter for just the Junior School (JK-Grade 7). However, Zoom seems to include participants into meeting minute totals but it's quite inconsistent. So a teacher hosting a meeting for 10 minutes with two participants may end up with a meeting total of 30 minutes!

I'm a little surprised that Chromebooks are not represented higher in the OS breakdown. This might be because this chart comes from client information so only tracks participants using the packaged Zoom app. I still strongly recommend Chromebooks in our BYOD years and we have maybe 25% representation in the school so I would have expected a greater percentage here.

The Seesaw stats were pulled from the admin dashboard and needed a bit of calculation. Total posts were found by subtracting our June 12 total from the April 1 total. Seesaw also provides a "weekly item" analytic but it's confusing. It would imply that each week thousands of posts were being added which would greatly skew our "total posts" analytic. I suspect this "weekly item" total also includes comments and attachments:

Google Classroom stats were pulled from the GSuite Admin dashboard. There are ways to pull this data out using the GSuite API or tools like GAM or littleSIS and I'd like to dig a little deeper into this in the fall. One such use of this data is to pull post titles or rubric info out of assignments so teachers have an easy way of tracking assessable student content. 

Monday, June 22, 2020

Running apps and tech

I finished my first virtual marathon last week and have been riding a runner's high since. I thought I would compile some tech I use to track my runs and some of the options runners can use to track their metrics because, well, data good!

I've been using the Nike Run Club app for about a year. I typically run pretty minimalist since I don't like wearing a running belt or pack, so just have the pockets in my shorts. I use an old tiny Android phone that's quite light and small so I can slip it into a pocket. Nike runs just fine on it, though it can take a few minutes to get a GPS lock -- I feel this is an app issue rather than a phone issue because Runkeeper locks very quickly.

I manually download MP3s on it, a mix of songs and podcasts. Up until recently I was able to use the FM radio since I use wired headphones. I now use a cheap Bluetooth pair which work great, but lose the FM antenna. The advantage of FM radio was battery savings: using the FM radio barely registered any battery usage compared to the stock Music app. To create playlists, I use Playlist Creator since it allows import of folders and individual MP3 files no matter where they are stored. These playlists then get picked up the stock Music app.

Nike Run Club is great for it's content. It has podcasts that are synced to your run, either in distance or time so it's nice to hear encouragement and training tips offered at the right times. I always need reminding to start slow and finish strong! There are great guest speakers from Olympic athletes to celebrities to amateurs. The variety is nice to stave off boredom. The guided runs also have lots of choice in their distance or time or focus. There are short runs, long ones, "easy win" runs and stress reliever runs.

The biggest reason I went with Nike was the training programs. I has customizable plans for the typical runs, like 10K, half and full marathons. You input your weight, age, time commitment and how many weeks until your event and it spits out a unique plan. Or so I thought, it seems the plans are minor tweaks to the publicly available Nike plans. Similar to other runners, I didn't notice that much of a difference or changes to the plan according to my results or the "baseline" run. I will say that the plan was very doable, so maybe the tweaks were there and enabled my completion!

There are a few disadvantages to the Nike app. First is the GPS issues; I've constantly had issues with GPS lock and wildly incorrect waypoint logging. Distances also tend to be inaccurate which leads to either incredible records or dismal failure. I had the crash maybe three or four times when saving a run which forces you to manually enter the stats (if you can remember them).

Perhaps the biggest issue of the Nike app is it's walled garden. It's painfully difficult to export or import stats. You need to rely on third-party hacks since Nike has shut down it's API. I use Rungap to export activities and highly recommend it. It's very smooth and simple and offers quite a lot in its free tier, even backing up to Dropbox. It converts the Nike info into a proprietary JSON format but since it's all text readable there are a handful of converters available. I opted to just purchase an upgrade for a few dollars and let Rungap convert all my activities to GPX format, the universal standard for activity tracking. It can also concert to FIT and TCX if you need those filetypes.

Another big reason to upgrade Rungap was to simply import these activities into another fitness tracker. I've decided to switch to Runkeeper, an app I used before Nike, just to see if the GPS tracking was better. Rungap handled importing all my activities (about 130 of them) flawlessly and in just a few minutes.

A few more links to using running metrics: there are a number of GPX viewers that let you visualize runs and pull more information out, depending on your waypoint and fitness tracker. I like GPS Visualizer, an online viewer, since it has a number of output options and can pull elevation data (since my phone doesn't have an altimeter). GPSMaster also works well as an offline viewer.

Thursday, June 18, 2020

Broadcasting OBS through Zoom webinar field notes

I experimented with a different setup for our final virtual assembly. I knew the final output would be compressed and distorted by the Zoom webinar codecs anyway but it was a good dry run on possible setups for September.

I ran two different camera inputs: one from the front camera off an iPad Pro using NDI HX. It sent a wireless IPcam signal to my Macbook about 20 feet away. It had great quality video up to 4K, or the limits of your iPad camera, a good amount of HUD-enabled settings like exposure and focus lock, zooming and zero noticeable delay. It has an audio function as well, but we did not use it. Battery power was great, about a 10% drop per hour. This camera was set as the main, or 'A', camera as it had a locked-off shot containing all our stage talent.

The other camera was from a Canon 80D DSLR running Canon's new webcam software. This was hardwired to my Macbook using mini-USB. We had a long lens on this camera for close-ups and it ran as a backup 'B' camera. Unfortunately, it had a noticeable delay and would be visibly out of sync with our audio so I couldn't use it. I wasn't too troubled with this and didn't bother troubleshooting but in a test environment it ran lag-free and had great video quality. It could run for about 90 minutes straight on one battery charge.

Our audio was run by our new AV tech. She ran the stage mics to a mixer than routed the output through an M-Track 2x2 that outputted to USB. My Macbook recognized it as another mic input so I didn't have to adjust any settings, thought I did have iShowU installed and setup on my Macbook just in case.

Everything was routed into OBS except audio. Since we were broadcasting in Zoom webinar I just used the M-Track input as the mic input in Zoom. We were also using screen share so made sure to select the "share computer audio" option so our prerecorded videos could output sound to Zoom as well.

We used screen share instead of using OBS as a camera input in Zoom because I found the video quality to a be a bit better. I assume this is because I selected "optimize for video" when screen sharing which convinced Zoom to ease up on the compression compared to a camera input, even with "HD quality" and "original ratio" selected. Because I was screen sharing, I needed to send the OBS output using the "windowed projector" option. I could capture this projected window using the Zoom screen share.

This posed a few problems with Powerpoint. I usually drop all our slides and recorded video and audio into Powerpoint because it runs locally with no lag, allows for preview of previous and future slides, virtually unlimited transition and animation options, and very easy slide control. I setup the slideshow as "browsed by an individual" so it could present the show in a window. I then captured this window in OBS. Unfortunately, this window had to be the active window anytime an animation or video was playing, or else it would pause. That meant I couldn't click anything in OBS while a video was playing which was annoying, but worked with our presentation. I could imagine times this would be difficult in a live setting.

This kind of setup required a second monitor. I ran the Powerpoint and OBS preview windows, and the Zoom meeting controls on one monitor with OBS on the second for the mixing controls. Everything ran well, though since I had to "hack" OBS and run an unsigned Zoom it was a bit anxious at times waiting for something to crash -- which happened many times in test environments. For example, OBS would crash if I tried to resize the projection window too slowly!

We also experienced heavy compression and lag through Zoom. I'm still not 100% sure why since I was outputting 10,000kps bitrate at 1080 from OBS on a wired gigabit-upload ethernet. My test environment at home has significantly slower upload and image quality was much clearer. I'm thinking we'll have to switch to Youtube or Facebook for fall streaming if we can't fix this.  I also did not configure audio output from OBS which we might need if we had background music or cued audio/video files from OBS. However, most of this can be embedded into Powerpoint. Recording in OBS was also slow and unreliable, though I didn't really check the settings. I suspect I had them on maximum which might have eaten up CPU cycles and hard drive space.

Saturday, June 13, 2020

Creating quick compilations in Premiere

Sports Day was a couple of weeks ago and as part of the festivities I like to edit a compilation video. Due to eLearning, I couldn't get footage of the events as in past years. However, one of the virtual events that our PE team created was a dance party.

Students were invited to submit a video of them dancing in their House colours. The soundtrack didn't matter, as long as they were having fun and submitted a video they were marked as participating. We ended up with 173 videos from JK-Grade 6!

Editing down that many videos can be a logistical and laborious nightmare but here are two tricks that make it a little bit easier in Premiere.

The first is editing to music by setting markers on cut points. Drop your soundtrack into your sequence and lock it by clicking the padlock:

Now play from the beginning and press the 'M' key to set a marker on the timeline wherever you want to cut to a new clip. You can set markers on bass beats, transitions, or pretty much anywhere you think would make a good edit point. With 173 videos in 4 minutes of music I had to set quite a few, and also employ some splitscreens to fit them all in:

Once all your makers are set, drop your clips into a new bin and set the In/Out points to highlight a particularly exciting or interesting few seconds. Hotkeys: 'I' and 'O."

Once you In/Outs are set, select your bin (or a selection of clips) and click Clip > Automate to Sequence: 

Some productive tips: the ordering can be set to "Sort Order" which respects the order in your Project panel. So you can group certain clips together or have some sort of linear progression, like time. The Placement should be "At Unnumbered Markers" to automagically trim your videos to fit your markers!

The second workflow tip is using the Multicam features in Premiere to edit live, almost like a live mixer situation. This is an ideal setup for group collaboration videos, similar to Brady Bunch style music videos, where there are multiple tracks synced to an audio track.

Select the clips you want to edit between -- I've successfully used up to 11 on my not-so-speedy Macbook. Right-click and select "Create Multi-Camera Source Sequence":

then syncronize all your clips by selecting "Audio":

This will line up all your clips according to what Premiere thinks is synced to audio on Track Channel 1. Adjust according to what audio track you think is best. Once you hit okay you'll have a stack of clips in your timeline. Create a new sequence from those clips and you'll have access to the Multicam icon:

With this toggled, Premiere now functions like a video mixer. Press play, and click on each source you want to switch to. Premiere will remember the cuts and when done will show splice points in your new sequence leaving your original clips intact on the timeline!