Introducing TIDraw – simplest possible digital whiteboards

It’s not a SPLOT per se, because it’s intended for use in face-to-face learning rather than online. SPLF2FT?

At the Taylor Institute, we have a bunch of active learning classrooms – we call them “learning studios”. They’re designed to enable active group collaboration, through the design of the rooms, to the furniture available, and the technology provided. There are 50″ touch-enabled “collaboration carts”1 that can run almost any web-based tool.

One of the more common uses of the displays involves digital whiteboards. Each display has an actual physical whiteboard beside it, but the digital whiteboard integrates with the AV systems that run the room. Which means we can do things like say “hey – group 1 is doing some cool stuff. check it out!” and push their display to the projector (or even to all other displays in the room) for everyone to see. Much harder to do with traditional whiteboards.

So, when Limnu closed down at the end of 2017, we were stuck. It was by far the best digital whiteboard tool, and we were without that functionality for a while. We switched to AWWBoard, which is good, but seemed to have issues with our touch displays2. We were about to license an AWWBoard account for each collaboration cart (there are 37 of these on the main floor, plus a few more upstairs), so this would have become a pretty significant annual expense.

I was off for a couple of days this week, and between appointments for myself and for my parents I decided to try cobbling something together that could be self-hosted. I didn’t want one of the main tools that we rely on to be at risk of a company pivoting (ala Limnu) or charging more than I’m comfortable committing funds for every year (ala AWWBoard).

And so TIDraw was born. I used the really great (and lightweight) LiterallyCanvas library to turn a simple HTML5 <canvas> element into a whiteboard. That part worked in about 5 minutes. Then, I had to build a way to save snapshots of whiteboards as needed. Which took… longer… because of my rusty googling-and-coding skills. But I eventually got it to do what I had in mind. Anyone can use TIDraw, and if they hit “Save”, it converts the <canvas> to a .png file and uploads it to the server, where it’s available on a “Saved Whiteboards” page. Images are displayed in reverse-chronological order, and are automatically deleted after 7 days.

It’s the Simplest Possible Face-To-Face Tool for digital whiteboards. No logins. No chat or audio or video calls built-in. Because it’s a whiteboard, there isn’t a bunch of security around it.

Part of the draw of Limnu and AWWBoard (which is a really good whiteboard tool – don’t get me wrong!) was the possibility for collaborative drawing – having people draw on their iPads/laptops/phones while sharing a whiteboard on The Big Screen™. And, the infinite canvas – zoom and pan on and on and on as needed. Both features really never got used though – they demo well, but in practice, people just used the collaboration cart touch display without additional whiteboard drawers connected, and very rarely strayed beyond the limits of the screen that is shown initially. (and the infinite whiteboard and multitouch zoom/pan caused endless problems as people accidentally brushed against the display and sent their drawing into 1% scale or caused some other unintentional weirdness). TIDraw is simple, but that’s a strength. There’s less to go wrong, there’s less to learn. And for what 99% of people use the digital whiteboards, it does it perfectly.

It seems to work well pretty much anywhere – mac/win/ios/(probably android?). Works great on an iPad with a pencil stylus. Works on the TI Collaboration Carts using the felt stylus or finger. Perfect.

I’ve got a few things I want to tweak – most notably, a way to display the saved whiteboards better on Chrome and Firefox. They are .png files with transparent backgrounds, and Chrome kind of freaks out and doesn’t display the image over a white background, so the whiteboard image looks pretty crappy. Firefox uses a grey background to display .png files, which also looks crappy with a transparent drawing on top.(fixed, thanks to a tip from Tom Woodward)

I also want to add a bit more security around the image-saving code, to prevent bad hombres from doing things like hand crafting an “image” file that could then be executed on the server somehow…

  1. this was a working name for the stations, intended to be replaced with something more creative/meaningful, but here we are over 2 years later and it’s still “collaboration carts”. so… []
  2. the touch is sent over the network via a USB-Ethernet extender, up to the IT room upstairs, where it’s converted back to USB and passed to the Arrive Facepoint PC for processing, then the HD signal is sent over the LAN back downstairs to be displayed on the appropriate display. This design provides a whole bunch of flexibility – but also inserts a pretty noticeable latency when using applications that involve direct manipulation of on-screen content – like, say, a digital whiteboard… []

re-reclaiming my domains

I’ve moved my webstuff back to Reclaim Hosting – I had been a very very happy customer, but decided I needed to move my sites onto canadian-hosted-and-managed servers out of principle. Since then, Reclaim spun up a Canadian-hosted server (but it’s managed by a US company, so there are still… complications). But, I’ve decided to stop caring so rigidly about that. It’s just my webstuff, and it’s far more important to be a part of the Reclaim family than it is to push back in an invisible way against the insanity that is running their country.

Anyway. I’m happy to be back, wearing my Reclaim Hosting shirt with pride (as always). The migration back to Reclaim was the simplest, fastest process I’ve ever experienced. Thanks Tim & Jim!

There may be some hiccups as DNS propagates. It looks like most places now point to my new home on Reclaim’s DOA server, but some are still pointing to the cached location on my previous server. That’ll work out in the next day or so.

In the meantime, in honour of the DOA Canadian Reclaim Server…

on When Breath Becomes Air

I’d picked up a copy of the book When Breath Becomes Air by Paul Kalanithy after reading a reference to it in a NYTimes article about John McCain, and Grant gave me the nudge to actually start reading it. It’s an amazing read, about a young neurologist/budding neuroscientist, who spends his life learning about the nature of life, and death, by experiencing it.

I’m thankful that the decisions I’m faced with are happening in slow motion compared to his story, but the effects are largely the same. I’m afraid of so many things now – most notably, of leaving J. alone after putting her through the ringer.

And I’m no neurologist. I’m not saving lives. My life’s work has been to help people integrate technology into their teaching and learning. Man, that seems pretty goddamned trivial now.

I held it together until the epilogue, which was written by his wife Lucy after his death.

Some of the highlighted passages I noted as I read:

Severe illness wasn’t life – altering, it was life – shattering. It felt less like an epiphany — a piercing burst of light, illuminating What Really Matters — and more like someone had just firebombed the path forward. Now I would have to work around it.

I began to realize that coming in such close contact with my own mortality had changed both nothing and everything. Before my cancer was diagnosed, I knew that someday I would die, but I didn’t know when. After the diagnosis, I knew that someday I would die, but I didn’t know when. But now I knew it acutely. The problem wasn’t really a scientific one. The fact of death is unsettling. Yet there is no other way to live.

The man who loved hiking, camping, and running, who expressed his love through gigantic hugs, who threw his giggling niece high in the air — that was a man I no longer was. At best, I could aim to be him again.

…but knowing that even if I’m dying, until I actually die, I am still living.

…part of me wanted to be excused from picking up the yoke again.

The tricky part of illness is that, as you go through it, your values are constantly changing. You try to figure out what matters to you, and then you keep figuring it out. It felt like someone had taken away my credit card and I was having to learn how to budget. You may decide you want to spend your time working as a neurosurgeon, but two months later, you may feel differently. Two months after that, you may want to learn to play the saxophone or devote yourself to the church. Death may be a one – time event, but living with terminal illness is a process.

The way forward would seem obvious, if only I knew how many months or years I had left. Tell me three months, I’d spend time with family. Tell me one year, I’d write a book. Give me ten years, I’d get back to treating diseases. The truth that you live one day at a time didn’t help : What was I supposed to do with that day?

Maybe, in the absence of any certainty, we should just assume that we’re going to live a long time. Maybe that’s the only way forward.

Human knowledge is never contained in one person. It grows from the relationships we create between each other and the world, and still it is never complete.

“Okay,” she said. “That’s fine. You can stop neurosurgery if, say, you want to focus on something that matters more to you. But not because you are sick. You aren’t any sicker than you were a week ago.

I hadn’t ever considered that I could release myself from the responsibility of my own medical care. I’d just assumed all patients became experts at their own diseases.

There are, I imagine, two responses to that realization. The most obvious might be an impulse to frantic activity : to “live life to its fullest,” to travel, to dine, to achieve a host of neglected ambitions. Part of the cruelty of cancer, though, is not only that it limits your time ; it also limits your energy, vastly reducing the amount you can squeeze into a day. It is a tired hare who now races. And even if I had the energy, I prefer a more tortoiselike approach. I plod, I ponder. Some days, I simply persist.

and, from the epilogue written by Lucy after Paul’s death:

Paul faced each stage of his illness with grace — not with bravado or a misguided faith that he would “overcome” or “beat” cancer but with an authenticity that allowed him to grieve the loss of the future he had planned and forge a new one.


Slow motion train wreck in progress

Another in a series of really great articles in the Times, about cancer and dying. Fun topics that are kind of relevant.

“The most obvious” response, wrote the neurosurgeon Paul Kalanithi in “When Breath Becomes Air,” his memoir of a brilliant life cut short, “might be an impulse to frantic activity: to live life to the fullest, to travel, to dine, to achieve a host of neglected ambitions.” But cancer limits the energy for compacted living, and a longer view takes hold. “Money, status, all the vanities the preacher of Ecclesiastes described hold so little interest; a chasing after wind, indeed.”

Source: Timothy Egan | As He Lay Dying – The New York Times

I described it recently as watching a train wreck in slow motion. You know exactly what’s happening, what’s going to happen, but it’s surreal because it happens so slowly. I feel mostly fine, except that I don’t. I look mostly fine, except J notices that I’m slowly getting thinner (I disagree, but whatever).

This motivation to make the most of the time that’s left – it’s something we should all do, and not to wait until Something Bad Happens. It’s something I’m trying to do – to be more mindful of who and what is important to me.

But, that has limits. The kind of cancer I have is invisible. It’s inside every single bone, crowding out the cells that make red blood cells. So, although it’s cancer that is the cause, the only noticeable symptom is chronic anemia. Which means I get out of breath walking from my car to the office. Or walking up the stairs to my desk. Or playing ball with our dog in our back yard. Or, sometimes, just standing up. And I’m stuck in a “mental fog” much of the time, with facts, names, words hard or impossible to recall until it passes. In many ways, this would be so much easier if it was the kind of cancer that was operable – just lop off a chunk of me and be done with it. But, it’s not. So it looms there in the background, all the time, colouring every thought I have, every moment.

That kind of gets in the way of “live life to the fullest”, and it’s a pain in the ass. But I’m adapting. I drive to work, after riding my bike daily for over so many years. I walk more slowly now. I rest more. I’ve cut back – putting my PhD program on hold until. Until things get bad enough that I cry “uncle” and do a round of chemo, which will hopefully reboot the cells in my marrow by killing off the useless ones to make room.

Because it’s a cancer-as-slow-motion-train-wreck, I hear “well, if you have to get cancer, at least it was a good one!” and I know what they’re trying to say – that it’s not like I’m dying quickly, like Downie, or McCain, or so many others. But that’s also so many kinds of bullshit, because it’s definitely not “good”.

I kind of obsess about numbers. I created a visualization of some of the key blood test values over time, to make sense of what’s going on. Which then led me to do fun things like extrapolate the trend lines into the future to try to guess when the “uncle” point might be. My hematologist looked at me and said “why are you doing this to yourself? Let’s try without the data for awhile. How you feel is much more important than any of the numbers.” And, although we still run tests every month so we have the data, I’ll only see snapshots every six months when I meet with him, rather than obsessing over it every single month.

It’s a small change, but it’s already helping. Getting out of my head, and being more present. Living life to the fullest, whatever that might mean.

How data-sharing era puts our privacy at risk – The Globe and Mail

A study cited in the paper notes publisher websites utilize an average of 13.5 (and up to 70 in some cases) third parties. A visit to one popular U.S. tabloid triggered a user interaction with some 352 other web servers, according to a 2014 U.S. Senate subcommittee study of the issue.

Many of those interactions were benign; however, some of those third parties may have been using cookies or other technology to compile data on consumers without their explicit consent, according to the study. Data mined by the practice can include users’ interests, browsing history, location, and past-purchase history.

Source: How data-sharing era puts our privacy at risk – The Globe and Mail

Even anonymous data can be de-anonymized with enough data points. The web is broken, in that we think it’s doing one thing (letting people publish content) when it’s actually doing something else (surveilling everyone who comes within 100′ of a website, and using that data with no oversight or visibility).

For a real eye-opener, try running the Lightbeam Firefox add-on. It builds a visualization of the collusion between websites and data-miners.

Update: Nick Heer pointed out that the Globe and Mail article about privacy-invading trackers had an impressive 18 trackers itself, as reported by Ghostery. Awesome. (It’s showing 9 trackers for me now)

Introducing Hypercardinator

For some reason, I felt like turning my blog into something reminiscent of Hypercard. Maybe it’s nostalgia? Maybe it’s a throwback to an era from before the web? Maybe it’s an ironic attempt to de-emphasize design over content? Maybe all of those.

Anyway. I found this great Chicago-inspired webfont, released under a Creative Commons license by Giles Booth. At first, I just used a local stylesheet to force it to be used on any site, but then I realized I wanted it running on my blog full-time. But I didn’t want to have to create a new theme to do it. So, a plugin!

Hypercardinator was born. It adds a stylesheet to force ChiKareGo to be used for all content and navigation on a site. Which was a great start, but didn’t feel like it went quite far enough. So I added some styles to attempt to non-destructively force all images to render in high contrast black and white (I couldn’t figure out a way to use the more Hypercard-native Atkinson dithering, and didn’t feel like spending more time at the moment to figure it out).

It’s a trivial WordPress plugin. Try it out – if it doesn’t float your boat, just deactivate the plugin without wrecking any of your site’s config or layout.

Not using WordPress? Check out Bryan Ollendyke’s webcomponent that implements the stylesheet and webfont.

Blogging, social media, and ambient humanity

Tim Carmody, posting on, about Dan Cohen’s “Back to the Blog” post.

…blogging either needs its own mechanisms of ambient humanity — which it’s had, in the form of links, trackbacks, conversations, even (gulp) comments, all of which replicated at least a fraction of the buzz that social media has — or it needs a kind of escape velocity to break that gravitational pull. Gravity or speed. Or a hybrid of both.

Source: Blogging, social media, and ambient humanity

We’ve seen another way. It’s possible, and we know that because it worked for years, at internet scale. But the mechanisms of ambient humanity in the Big Silos won because most people really don’t care about the infrastructure. People just want to feel connected to people, and there was less friction in the silos – at the cost of giving up and/or losing control.

There are absolutely parallels in edtech. Instructors and students largely interact with each other online via the institutional learning management system, rather than richer distributed venues designed for each individual context. Or, rather, some courses use those interesting non-sanctioned venues anyway, because they suit their needs, but without the blessing of the institution and at risk – both personal and institutional.

Student data (names, emails, ID numbers, grades, etc) needs to be tightly managed by the institution for very good reasons – we can’t violate the privacy of our students, either through active leaks or from passive breaches due to data becoming siphoned off into other tools without our control. I get that we need to control the data. But we’re also setting up a mirror of the social-media-to-corporate-silo model, which has been shown to be harmful in so many ways.

So. How to support the decentralized needs of an incredibly diverse and interesting ecosystem of communities, while protecting sensitive personal information, without stifling the interesting and creative activities that are possible when students and instructors have more control over their own environments?

Road trip to the end of the world

Arizona is an amazing place. Driving south from Strawberry, we passed through about a dozen distinct biomes, and ended up in a landscape that would be at home in a Wile E. Coyote cartoon.

The drive left some quality time for mobile playlisting…

And winding up in Winslow, arizona, where it appeared as though we formed a Conga line of tourists waiting to be photographed next to a statue commemorating some obscure song by a no-name indie band.

All part of Old Route 66…

And then, back through the Crazy Cavalcade of Ecosystem Biomes on the way back to the northern highlands, through spatterings of snow.

Finally, winding up at THAT Brewery in Strawberry, where Alan is some kind of Internet bigwig or something.

TILT Episode 002 – Richard Zach and Aaron Thomas-Bolduc introduce OERs

As part of Open Education Week at the University of Calgary, Richard Zach and Aaron Thomas-Bolduc gave a presentation to introduce the concept of OERs, where to find them, and how to make them. Lots of love sent to BCCampus’ Open Textbook initiative and Pressbooks.