23

WordPress Timeline JS Plugin

Background I like Timeline JS. It’s a nice way to create multimedia timelines. I’d previously done some work that would take WordPress JSON API data and insert it into the Timeline JS view.1 It was nice for creating alternate and standardized views of blogs that might be useful for different reasons. It didn’t serve some other needs and while doing it through a generic URL was handy for many reasons it was odd in other scenarios. As a result I decided to make a new version as a plugin. If you don’t like reading stuff there’s a quick video of how it works below. Plugin Goals First, I wanted this to be a plugin rather than a theme. That adds a bit of complexity because you don’t have control of the whole scenario but it makes it much more portable and more likely to be used as it doesn’t require people to change themes or spin up an additional site. I wanted people to be able to use WordPress rather than a spreadsheet to create the content for Timeline JS. Doing that has a few advantages- the WYSIWYG editor, the ability to upload images directly in WordPress, the ability to use posts you’ve already written, etc. etc. I also wanted people to be able to choose what posts ended up […]

06

Considering Making Digital Sociology Tools

First off, I believe that websites that help you think are tools. Websites that help you author media are also tools. So when I say “tools” that’s what I mean. I will also likely call them sites. That’s also what I mean. I like to start off posts like these establishing the fact that I’m not going to try very hard to make sense to you but at least I’m explicit about it. I’ve had a couple of conversations recently that have me close to building these with or without a faculty/course attached. #metoo Movies This started when I was watching one of the original Star Wars movies with my kids. I’d never really watched them closely as an adult. It really seemed like Han Solo was a textbook example of a person acting out some pretty specific examples of sexual harassment. Repeatedly Leia tells him to stop touching her and he ignores her etc. I ended up talking to some friends at a school function about it and the conversation expanded into the idea of a database of clips like this that both act as a lens on that time/space/movie and as examples of particular patterns that might be of interest more broadly. For example here’s Han being creepy . . . In order to write this post, I’ve […]

29

Census Reporter API Exploration

We’re trying out a new site idea for the online digital sociology program. Once again, Matt came up with an idea that really got me excited and I started wandering around trying to figure out how to make it work. At some point I found CensusReporter.org. This is a pretty amazing site that is a Knight1 News Challenge-funded project. What we want to do is figure out roughly where the viewer/visitor is geographically and give them a glimpse of that area through some data. Nothing too deep, just a taste of the interesting ways technology, data, and visualization can blend together to do interesting things. We don’t want the exact address for a few reasons. One, we don’t want to be too creepy. Two, getting a rough location through the IP address doesn’t trigger the browser approval request that more exact location data requires. My goal is not to subvert the approving/denying of location data but I worry too many people will miss that approval prompt and we’re not keeping this data. Get Location To get local data I have to figure out where the person is. To do that, I’m just grabbing the IP address and getting a location bounced back. There are a few ways to do this. I went with freegeoip.net and the following function would give […]

Full size view of the timeline .

Timeline Sketch #2

I am still kicking around ideas for a timeline of my work history. You can see some of the other stuff in this post. This version is a Bootstrap version that I think can end up working pretty well even in a mobile view with a bit more work. You can see it full size here. It’s set up so that there are two col-sm-6 containers that hold ten columns each making for a total of 20 covered years. I didn’t realize Bootstrap would let you just do col-1 and make it more than 12 columns. So I have two rows of 10 columns within the 6 column ‘halves’ of the page. That lets them break nicely on mobile views into two rows that stack. I set up some JSON to represent the jobs. I only did three so far but there are enough to see it’s functional. If you click on one of the first three job titles, you’ll see the data below the timeline changes. I haven’t really worked through the colors. I’m letting it marinate to see if I want to take it to fruition. See the Pen bootstrap timeline test by Tom (@twwoodward) on CodePen.

Portfolio Timeline

One of the things I ended up being dissatisfied with on my own portfolio was the timeline of my work history.1 At the time making an interactive multimedia timeline seemed like a good idea. Just the phrase “interactive multimedia timeline” sounds fancy, right? I made it using the KnightLab Timeline JS tool (which is a great tool) but it just doesn’t do what I want. Define the Purpose I hadn’t really thought deeply enough about my audience. If it’s people trying to hire me, and I can’t imagine anyone else caring, then I have to think what I want them to understand at a glance. Paging through the timeline can tell a decent story (if it happens) but the timeline does not allow the viewer to see the big picture at a glance. I also tried to show that while I’ve had a large number of jobs there’s a pattern of, and consistency between, organizations and between higher ed and k12. I tried to make that connection in the Timeline JS version by using the same logo and color pattern in the segments but it requires people to notice that and hold it in their heads. It’s not doing what a good visualization should do which is to offload that cognitive load to the eyes of the viewer. Hand Sketch […]

26

Portfolio // Data Visualization

This is meant to be a general survey of a fairly large swathe of concepts and examples with lots of links for additional specificity. I encourage you to follow links.1 I’ve tried to also mix it with quotes from a variety of designers.2 Those people are also worth exploring and most links will lead you to something that will lead you down an associative trail3 of links/searches.. Portfolio design considerations are grounded in many of the same design decisions that are foundational to good data visualizations. Many portfolios also include, maybe should include, elements that meet the typical definition of data visualizations although usually of small data sets.4 Both portfolios and data visualizations can be thought of as heuristics. You’re helping people think. You’re helping them understand you, a concept, a relationship, etc. Rich content brings meaning to a graphic. Inviting visualization interprets the content and highlights the essence of the information for the reader. Sophisticated execution brings the content and the graphics to life. Dona Wong Have an Audience in Mind5 The audience sets the initial frame for your consideration. Who are you trying to talk to? What are their likely experiences with websites and what do they care about? It’s also worth thinking about what might keep you from being attractive to people that you wouldn’t like. Assuming […]

16

Why I’m Teaching Data Viz for Sociology

I’m teaching a course for VCU’s digital sociology Master’s degree program this semester. One of the things I’ve asked the participants to do is explain why they’re taking this course. I’m hoping that will help me customize what we’re going to do in the course. Since I asked the participants to document why they were taking this course, I figured the least I could do is create a similar post explaining why I agreed to shepherd this course and why I made some of these initial choices. I’m approaching the concept of data visualization pretty broadly. The course is broken into two main components. The first portion is looking at their own portfolio and how they might think it through in terms of data visualization1 and then moving on to broader/deeper applications of data visualization (connected to their personal research). Part of the reason I want to start with the portfolio is that the data is personal and it’s easier to get a feel for how real/accurate any visualizations you make are. We’ll also be able to establish a decent foundation of web literacy, design, accessibility, etc. prior to applying them to more sophisticated visualizations. Essentially, it’s about starting out on more familiar ground before venturing out into increasing complexity. The second section will focus on figuring out a set […]

Bret Victor on the right with a black and white cartoon fish on the left. Under the fish is the statement - This is not a fish.

Data Viz and Dead Fish

3:40 – “I believe that behavior and responsiveness is the essence of the computer as an art medium and what that means is that any time we create art that doesn’t have behavior we’re not living up to the potential of the medium. It’s not native art.” 4:34 – “… what sort of art is possible when both the art and the artist are alive? When the art and the artist are responding to each other and working together to create something beautiful.” 15:00 – “So what you’re seeing here is kind of the interplay between two living and behaving beings. There’s the fish behaving through simulation. There’s me behaving through performance and there’s this wonderful kind of symbiosis with the two of us working together to put on a show. The simulation and the performance are really complementary. So when I was making that little scene with the fish there was always this back and forth between the simulation and the performance. So if there was something I wanted the fish to do but I couldn’t perform it with my hand because it was too complicated, I had to move my hand too fast, there’s too many other things going on with the scene, I take that and put it in the simulation.” 16:02 – “There’s this back and […]

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.