Non-Standard Shapes- Another Odd WP JSON Display

It’s better to see this in the full page view but it grabs a WP JSON feed and makes up non-standard polygon shapes based on the posts using the featured image as the background. Try reloading the page and the shapes will change. If you hover over them they’ll behave in very odd ways as well. That’s all easier to see on the full page view. It’s a strange proof of concept but one I’ll be putting to work for an odd art site in the future. I’ll tame it a bit as I’ve made a number of completely odd decisions just to see what would happen. It could be I’ll end up using data from the posts to influence the shapes more intentionally. That opens up a whole world of strange dataviz possibilities. That is one of the things I love about doing this kind of WordPress interaction. It’s light enough that I’ll run down a path like this and just try it out. I probably wouldn’t have bothered if it required a full child-theme or page template. It’s a low threshold with a high ceiling and now I have another example of something people don’t think WordPress could do for my NMC presentation next week. See the Pen socially engaged artists – jquery by Tom (@twwoodward) on CodePen.

timeline of last 50 posts

WP JSON to Timeline JS

As part of some thoughts on building out a series of reflective views for student portfolio blogs, I thought seeing your WordPress posts in the TimelineJS view might be a useful way to look back over your progress. I intend to wrap this into a custom spreadsheet template and/or a plugin1 but figured I’d sketch out how it works so far in case anyone was interested. The WP Rest API makes it pretty easy to write the data via Google Script. I just want to cut out chunks of the data and put it in the right fields. The following script does that and writes it to a page named “wp.” 1 Or maybe just a page where you throw in a blog URL and get a bunch of alternate view/data options.

Audio Annotation POC Using WaveSurfer.JS

See the Pen wave surfer – waveform by Tom (@twwoodward) on CodePen. I needed to make a quick proof of concept for the annotation of audio on the web. In this case, it’s meant to provide a visual and auditory way to play through interview segments that represent different categories of responses. I found WaveSurfer.js this morning and just a bit later I had a functional example. I find the ability to highlight track elements visually and access specific segments to be a pretty powerful combination. If we stacked several tracks vertically the visuals would quickly point out content variation in terms of timing and total composition. You could get more and more complex from there. Playing with it gave me all sorts of ideas (including possibly using it as part of of the upcoming Reclaim Your Dance Party // API + Audio = (beats, visuals, internet, participate) session at Domains 17 with Grant and Brian). It’s also looking like I’ll be able to work more with our music department to think through online course on music so possibilities like this will be very useful. This kind of thing would be pretty easy to turn into a plugin . . .

Simple Text Analysis POC

See the Pen text analysis color viz – step 1 by Tom (@twwoodward) on CodePen. Assuming you have sentences, phrases, or words you’d like to categorize . . . you could do something like this to create a visualization. This one is using CSS but it could be done in any basic word processing software. Setting levels of opacity would allow for multiple-overlapping categorizations. See the Pen text analysis color viz – step 2 by Tom (@twwoodward) on CodePen. Playing with font size and the rotation of the paragraph also opens up some doors . . . as does doing different rotations at the sentence level depending on the categorization of the sentence. You could get even more granular with stuff like that using data attributes and CSS. See the Pen text analysis color viz – step 4 by Tom (@twwoodward) on CodePen. A Bit Odder See the Pen text analysis color viz – step 5 by Tom (@twwoodward) on CodePen.

Open Content Creation at VCU

I’m going to hit a few of the things I’ve done with people around open educational resource creation.1 In the discussion, I’m going to ignore some complexities around the term ‘open’ in order to avoiding dragging the whole post down. My personal definition of open is very liberal2 although I can see the value of Wiley’s R framework in a variety of conversations. Once again, I’ll try to move from simpler to more complex options. The Judah Will The Judah Will is a will that was transcribed and annotated in the digital history class this semester. Ryan Smith is the history professor behind the idea and has been more than awesome to work with. Right now the work is all in Google Docs but we’re looking at paths/tools/display options that will better show the research and conversations that occurred. The simple act of transcribing the will is one act of OER creation and active participation in the field of history. The additional research and investigation of the elements of the will constitutes another layer. The majority of students in the class really enjoyed the process and liked the idea that they were adding to the sum of information available to historians. This activity also enabled the professor to model historical research/thought while interacting with the students on a project with […]

WP JSON to Google Sheets – Reflective Data

Image from page 86 of “Refraction and motility of the eye, with chapters on color blindness and the field of vision” (1920) flickr photo by Internet Archive Book Images shared with no copyright restriction (Flickr Commons) Way back in 2015, I wrote a little plugin1 to count URLs, get the word count and do other stuff so I could reflect on my blog posts. Given some (k)new knowledge2, I figured I could make a version that runs in Google Sheets and indeed I can. The reason I like this as an alternative to the plugin is that it works for anyone who has access to Google Sheets even if they can’t install plugins. Google Sheets also offers a lower barrier to messing with your own data once you get start capturing it. You can count the !s, or a variety of emoticons, or how often you use the word “spaces,” or whatever you want- all without the ability to program in php or javascript. I think it starts to open up different doors for students3 to gather their own kind of data for reflection and amusement. It starts to get at the DIY ethos inherent in the quantified self communities. The sheet is here. I’m going to build it out into something a bit more robust and plug/play in the […]

Making Google Scripts & Google Sidebars Talk

flickr photo shared by Internet Archive Book Images with no copyright restriction (Flickr Commons) Sometimes you want a Google Sidebar element to be able to pull variables from a Google Script. The key element is google.script.run.withSuccessHandler. I’m still not entirely sure I have this in my head deeply/correctly but this is functional and might help someone else (even if that someone is just me at a later point in time when I’ve forgotten this). This one sets some default times based on spreadsheet variables stashed elsewhere and then automates some date/time entries using the form sidebar. Sidebar Code Google Script Code The entire sidebar/script setup is below in case anyone cares for some reason. Pick Your Date Start/End Times Start: End: Hide Previous Dates Submit

Interactive Google Sheets Dashboards

It’s pretty easy to put a bunch of data and charts in a spreadsheet and call it a dashboard. It became a more interesting challenge to make those charts change to reflect variables chosen via dropdown cell menus. The key it turns out is using =query. I can do some really powerful things with query and as long at the data bounds (columns/rows) are the same, I can change the content and it’ll replicate in the chart assigned to those columns/rows. For instance, I can have raw data on a sheet called data. I can use query on that data on another sheet with something like =query(data!A1:N,”select B,C,D,E,F,G,H,I,J,K,L,M,N where A=”&”‘”&A2&”‘”) That formula is going to the sheet named data and querying cells A1 through N(whatever the last row is) and selecting columns B through N where the content of cell A matches the text of cell A2 on the local page. As a result we can manipulate the contents of cell A2 and change the data being returned. In this case I did a little data validation drop down to restrict it to the three items for which we have data. Do take note that for numbers I could have just appended the cell reference (&A2 in this case) but because it was a text match I had to staple […]

Spreadsheet Karma

=QUERY({C:C,C:C},”select Col1, count(Col2) where Col1 ” group by Col1″,1) This is just so handy for getting all the unique values from a column and spitting them out with the counts of their occurrences.1 I can’t tell you how many times I’ve done this a much harder way. I saw the function above as an answer after I’d responded to a Stack Overflow question about getting unique word counts. Just another little example of how doing things in the open and being involved in communities ends up benefitting you in unexpected ways. flickr photo shared by New York Public Library with no copyright restriction (Flickr Commons) 1 If you data isn’t in column C, just change it to the right letter.

Email Support Data

I thought it might be interesting to look at my last chunk of emails by what hour they were answered. It does seem to show some patterns. Some that may not be healthy for any real separation between on/off work hours. It is good that I’ve got no email in the 1AM to 5AM zone. It is bad (probably) that I answer a large amount of email around 9PM. I probably also need to think harder about creating some defined email response windows so that email is not interrupting work that requires more focus and concentration. It’s easy to let the busy work drag you down while feeling “productive.” flickr photo shared by Tyne & Wear Archives & Museums with no copyright restriction (Flickr Commons)