Analyzing velocity-vs-timer-reading graphs

Update 2013-06-07: These are some notes I wrote over a month ago but never published. Since this work got me thinking about a how to align my instruction with SBG objectives and a later post I’m about to publish, it seemed like now or never.

In trying to get better at teaching graphical representations of uniformly accelerated motion, I tried something similar to Kelly O’Shea’s paradigm laboratory for the Constant Acceleration Particle Model (CAPM). Being not so brilliant at teaching myself, I think I injected a little too much of myself into it, but it was clear from a “pre-test” (review of Constant Velocity Particle Model graphs going into this unit) that students were confusing velocity and position, didn’t remember much about how to analyze velocity-vs-timer-reading graphs, so we needed to do some review. Part of this is the insanely long time between CVPM and CAPM, since we went ETM⟶CVPM⟶MTM⟶BFPM⟶CAPM⟶UBFPM. If I do this again, I will need to include more model-based reasoning problems that incorporate CVPM throughout the previous units. Thus, I found myself trying to come up with a list for us to make to summarize our large number of different scenarios in the CAPM paradigm (class) lab. For instance, in one of my periods, we had (among other things):

Velocity-vs-timer-reading graph for a cart on a ramp

Velocity-vs-timer-reading graph for a cart on a ramp

I had the students annotate each segment of each graph with how the speed was changing (“v↑” or “speeding up”, “v↓” or “slowing down”), which direction it was going (“↑r” or “up the ramp”, “↓r” or “down the ramp”), and what was going on (“” for nothing, “pushed”, “stopped”, etc.). We made important notes besides the graphs that students drew in their lab notebooks, such as “☆The mass doesn’t seem to affect the graph very much.” Then we tried to summarize what we could tell with a table like:

Student-driven exploration of the velocity-vs-timer-reading representation
Feature of the \vec{\boldsymbol v}\text{-}t graph Feature of the motion
point on the graph given by a pair (t,\vec{\boldsymbol v}) a data point, i.e. snapshot, of an object moving with a velocity \vec{\boldsymbol v} at a timer reading t
horizontal position of a point on the graph timer reading t
vertical position of a point on the graph velocity \vec{\boldsymbol v}
vertical distance of a point from the timer reading (t) axis (the \vec{\boldsymbol v}=\vec0 line) how fast it is moving (speed v)
position of a point above(+)/on(0)/below(-) the timer reading (t) axis (the \vec{\boldsymbol v}=\vec0 line) which direction it is going
steepness of the \vec{\boldsymbol v}\text{-}t graph’s slope in the neighborhood of a point how fast the velocity changes
sign of the \vec{\boldsymbol v}\text{-}t graph’s slope in the neighborhood of a point which direction the velocity is changing (somewhat artificial)
the \vec{\boldsymbol v}\text{-}t graph’s slope in the neighborhood of a point is moving [away from (+), parallel to (0), or toward (-)] the timer reading (t) axis (the \vec{\boldsymbol v}=\vec0 line) speeding up (+), maintaining a constant velocity (0), or slowing down (-)
point on the timer reading (t) axis (the \vec{\boldsymbol v}=\vec0 line) where the slope crosses the axis from negative to positive or vice versa. changing direction
? ?

Some classes were able to come up with their own entries. In others, I had to debase myself by suggestion them. In one class, it worked rather well to express my frustration that no one was saying anything, put a student in charge, and tell them that I would be silent while they figured it out. They put much wrong on the board, but they were jumping back to correct things they realized were wrong when trying to identify how to tell some of the other kinematic features; then the bell rang! I tried a similar approach in another class but didn’t give them enough awkward silence before going into silent mode myself. That class didn’t bother checking whether they hypothesized connections actually worked and weren’t given enough time to find out. I jumped into it with a few minutes to go and proceeded to ask them questions to test their statements, destroying all of them. I felt like rain on their parade. I had a hard time even convincing them that their statements were wrong because they could not tell me, given two points on the graph, which was moving faster. I intend to ask more questions like this next year during CVPM. I wanted to cry for them, and I was angry at all (including partly myself) who failed teaching them how to read a graph. Every year we say, “These are smart kids. They should be doing better on the science part of the ACT.” Now we know why. (Thus, I added the first three lines of the table above.)

I know this can’t be the best way to teach this. Engagement was low, and the whole paradigm lab had a demonstrative feel.

Position-vs-timer-reading graph for a cart on a ramp

Position-vs-timer-reading graph for a cart on a ramp


Momentum: the little things that trip me up

I realize that I need some help with how to proceed to help students discover the principle of momentum in collisions, but before I can adequately explain my problem, I should start at the beginning.  I’m trying to refine and improve my technique in building models with students through inquiry so that students can grind their gears on problems that matter and not unimportant details.

The experiments

Before our winter break this year, we started building the Momentum Transfer Model, which, at its start, is really about conservation of momentum.  It wasn’t good timing with so little time with which to work.  When students watched me collide Cart A (moving) with Cart B (at rest), which would then stick together with Velcro, they suggested various things I could try that might affect the final motion of the carts.  They quickly settled on the masses of the two carts and the initial velocity of Cart A.  To explore these factors as independent variables, I split students into groups, 1/3 of which were to investigate Cart A’s mass, 1/3 of which were to investigate Cart B’s mass, and 1/3 of which were to investigate Cart A’s initial velocity.  As variables go, changing the masses in such a way to keep the total mass constant would be cleaner, but this is hindsight.  I wanted to give students a feel for how to gain this kind of hindsight.  The groups who experimented with Cart A’s initial velocity had a singularly easy job.  They only had to control the variables of the two carts’ masses, and they just pushed Cart A with various speeds and used a motion detector to measure both initial and final velocities.  Despite this, some groups didn’t pay attention to whether their data made sense.  Some groups had data that showed increasing initial velocities of Cart A but blips where the final velocity of the cars decreased before increasing again.  Some groups did notice it, and they rechecked the results until they got something consistent.  The groups who experimented with Cart A’s mass also had the second easiest assignment.  Despite our shortage of track, they were given an extra piece of track to use as a ramp.  Releasing the cart from the same location on the ramp gave their initial velocities an uncertainty of about 2 cm/s.  However, even though Cart A’s initial velocity was supposed to be a controlled variable, many students didn’t pay very close attention to it or even try to measure it.  Despite this, their data was relatively good.  The worst results came from the groups who experimented with Cart B’s mass.  Since we lacked enough track to make ramps, we used the spring-loaded plunger on one of the carts to achieve a controlled initial velocity that was uncertain at about the 10% level (maybe 5 cm/s).  However, it was easy to have a misfire that would result in a reduced initial velocity.  Very few student groups noticed that Cart A’s initial velocity varied wildly in their data.  The final tally was that in each of my classes only 1/3 to 1/2 of the data was usable.  I would ordinarily send students back to the lab to gather better data.  I still may do it, since understanding how to gather data is a more important skill than deriving conservation of momentum from experimental data.  However, that’s not what I did.

Reflective interlude on data tables

When students gathered data, I had them fill out all six variables below, not just their independent and dependent variables.  This confused them at first but encouraged them to record values and/or measure each of them, which did help them to assess the quality of their data.  Unfortunately, when they went to graph it, they were confused about what mattered and didn’t.  I probably should have just told them to graph something and then we could argue about whether it was useful later and why.  Instead I just grumbled impatiently at students like they were asking me how to breathe.  Not super helpful.  The, even less helpfully, I gave them what they should graph.  Anyway, here’s what they recorded, though I encouraged them to choose the order of the variables that made most sense to them:

A’s mass [cart] B’s mass [cart] A’s initial velocity [cm/s] A’s final velocity [cm/s] B’s initial velocity [cm/s] B’s final velocity [cm/s]
(will be 0 since B’s initially at rest) (will be the same as A’s final velocity)


Interlude on limiting behaviors

The first day that I realized the data was bad, we just looked at the limiting behavior that we would expect for really small and really large masses. We came up with analogies for each situation, and sketched the graphs. This effectively broke the linear models students fit to their data, but they stared blankly because they hadn’t really gotten that far with their terrible data anyway. Was this useful? I don’t know yet.

What I did

I made simulationsbunches of them:

# Modified version of
# -----------------------------------------------------------------------
from __future__ import division
from visual import *
from physutil import *
from visual.graph import *

### Initial conditions:
# -----------------------------------------------------------------------
mA = 1 # cart
mB = 1 # cart
vA = 24 # cm/s
vB = 0 # cm/s

class QuantityField:
    def __init__(self, pos=vector(0,0,0), variable='', delimeter=' = ', unit=''):
            self.variable = variable
            self.delimeter = delimeter
            self.unit = unit
            self.label = label(pos=pos, text=(variable+delimeter+'?'+unit), box=False)
        except TypeError as err:
            print('Wrong types passed to QuantityField constructor')
            raise err
    def update(self, q):
            self.label.text = (self.variable+self.delimeter+str(q)+self.unit)
        except TypeError as err:
            print('Wrong type passed to QuantityField update method')
            raise err

# ------------------------------------------------------------------------

scene = display(title="Inelastic collision", width=600, height=400, background =
scene.autoscale = False
scene.range = 2.0

# Define scene objects (units are in meters)
objA = sphere(radius = 0.1*pow(mA,1./3), color =
objB = sphere(radius = 0.1*pow(mB,1./3), color =

# Set up motion map for ball 1
motionMapA = MotionMap(objA, 10, # expected end time in seconds
    10, # number of markers to draw
    labelMarkerOrder = False, markerColor = objA.color, markerScale=0.5, markerType="breadcrumbs")

# Set up motion map for ball 2
motionMapB = MotionMap(objB, 10, # expected end time in seconds
    10, # number of markers to draw
    labelMarkerOrder = False, markerColor = objB.color, markerScale=0.5, markerType="breadcrumbs")

# Set timer in top right of screen
timerDisplay = PhysTimer(0, 1) # timer position (units are in meters)

mADisplay = QuantityField(vector(-1, 0.8, 0), variable="A's mass", unit=' cart')
mBDisplay = QuantityField(vector(1, 0.8, 0), variable="B's mass", unit=' cart')

ivADisplay = QuantityField(vector(-1, 0.6, 0), variable="A's init.vel.", unit=' cm/sec')
ivBDisplay = QuantityField(vector(1, 0.6, 0), variable="B's init.vel.", unit=' cm/sec')

vADisplay = QuantityField(vector(-1, 0.4, 0), variable="A's velocity", unit=' cm/sec')
vBDisplay = QuantityField(vector(1, 0.4, 0), variable="B's velocity", unit=' cm/sec')

# ----------------------------------------------------------------------------------------

# Define parameters

objA.m = mA # mass of ball in kg
objA.pos = vector(-1, 0, 0) # initial position of the ball in(x, y, z) form, units are in meters
objA.v = vector(vA/100, 0, 0) # set the velocity vector

objB.m = mB # mass of ball in kg
objB.pos = vector(1, 0, 0) # initial position of the ball in(x, y, z) form, units are in meters
objB.v = vector(vB/100, 0, 0) # set the velocity vector

# Define time parameters
t = 0 # starting time
dt = 0.01  # time step units are s

def v_from(obj):
    "helper routine to give cm/sec units from the object's velocity"
    return round(obj.v.mag*100, 2)

### CALCULATION LOOP; perform physics updates and drawing
# ------------------------------------------------------------------------------------

while mag(objA.pos) < 2 and mag(objB.pos) < 2 :  # while the balls are within 2 meters of the origin

    # Required to make animation visible / refresh smoothly (keeps program from running faster
    #    than 1000 frames/s)

    # Position update
    objA.pos = objA.pos + objA.v * dt
    objB.pos = objB.pos + objB.v * dt

    # check if the balls collided
    if mag(objA.pos - objB.pos) < ((objA.radius + objB.radius) / 2):
        # calculate the total momentum
        totalMomentum = (objA.m * objA.v) + (objB.m * objB.v)

        # calculate the velocity of the combined ball
        objA.v = objB.v = totalMomentum / (objA.m + objB.m)

    # Update motion map, timer
    motionMapA.update(t)#, objA.v)
    motionMapB.update(t)#, objB.v)
    # Time update
    t = t + dt

# --------------------------------------------------------------------------------------

# Print the final time and the ball's final position
#print(', '.join(map(str,["A's mass", "A's initial velocity", "B's mass", "B's initial velocity", "Final mass together", "Final velocity together"])))
#print(', '.join(map(str,[mA, vA, mB, vB, mA+mB, v_from(objA)])))

#print(','.join(map(str,["A's mass", "A's initial velocity", "A's final velocity", "B's mass", "B's initial velocity", "B's final velocity"])))
#print(','.join(map(str,[mA, vA, v_from(objA), mB, vB, v_from(objB)])))

print(','.join(map(str,["A's mass", "B's mass", "A's initial velocity", "A's final velocity", "B's initial velocity", "B's final velocity"])))
print(','.join(map(str,[mA, mB, vA, v_from(objA), vB, v_from(objB)])))

I also threw together a spreadsheet that would automatically calculate the final velocities given the two masses and Cart A’s initial velocity. Then, we played the Hypothesis Game to get students used to finding patterns. Some of mine were too hard, and some were too easy. I need to keep track of those, but that’s a project for another day. Once they had some success finding patterns, we turned to a class speed-round of the Hypothesis Game (but really more like people just sharing their observations&emdash;more cooperation than competition). We took turns by having each group suggest some data to try. This was much cleaner than student data but not as much fun. We came up with data like this (leaving off the two least useful variables, Cart B’s initial and final velocities):

Not very useful for finding patterns
A’s mass [cart] B’s mass [cart] A’s initial velocity [cm/s] A’s final velocity [cm/s]
75 1 25 24.7
100 27932 1000 3.6
5 2 20 14.3
1 2 3 1.0
20 6 11 8.5
7 9 20 8.8

Hmmm, these kids would play Mastermind by choosing random permutations. I suggested something with equal masses and asked what they noticed. We made a connection to the graphs for those who plotted Cart A’s final velocity versus Cart A’s initial velocity and came up with a slope of about 1/2. I asked what would happen if I doubled the masses. They guessed, and we tried it. Then I told them to pick a combination of masses with a total mass of 5. It looked like this (sorted):

Semi-useful for finding a formula
A’s mass [cart] B’s mass [cart] A’s initial velocity [cm/s] A’s final velocity [cm/s]
0 5 60 0
1 4 60 12
2 3 60 24
3 2 60 36
4 1 60 48
5 0 60 60

The equal mass cases that I suggested were enough to get students to look at the fraction \dfrac{\vec{\boldsymbol{v}}_{Af}}{\vec{\boldsymbol{v}}_{Ai}}, and it wasn’t too long before they realized that this fraction was the same as \dfrac{m_A}{m_A+m_B}, and they made rules that turned out to be \vec{\boldsymbol{v}}_{Af}=\dfrac{m_A}{m_A+m_B}\cdot\vec{\boldsymbol{v}}_{Ai}. We checked it by making predictions and then trying them to see if they were correct. What was nice is that I didn’t have to tell anyone that their formula was wrong. We just tested it.

Here it is, my problem!

Here’s what I don’t get. I can turn the above equation for \vec{\boldsymbol{v}}_{Af} into m_A\,\vec{\boldsymbol{v}}_{Ai}+m_B\,\vec{\boldsymbol{v}}_{Bi}=m_A\,\vec{\boldsymbol{v}}_{Af}+m_B\,\vec{\boldsymbol{v}}_{Bf} by careful mathematical steps. I even tried it with one exceptionally clever class who figured it out a day before my other classes, but I think I might have melted their brains. For kids just out of algebra and now in geometry, manipulating equations with six variables seemed like torture. How do I put the focus on the product of mass and velocity as an interesting conserved quantity? How do I go from the simple equation \vec{\boldsymbol{v}}_{Af}=\dfrac{m_A}{m_A+m_B}\cdot\vec{\boldsymbol{v}}_{Ai} to a deep physical principle?


Based on John’s comment below, I wanted to think about the implicit axioms we use in physics when coming up with formulas.

  1. (symmetry) Noether’s Theorem tells us that whenever we find a symmetry of the action, we can write down conserved charges Q_i=Q_f. Total momentum is such a charge, based on the symmetry that the laws of physics are the same at all points in space (i.e. that the action is translation-independent). However, even if we hadn’t identified the symmetry, we have become used to finding conserved (unchanging in time) quantities, so we insist that our conservation equation have the form

    Doing so ensures that it will be maximally useful: We don’t have to know what’s going on at two different timer readings to calculate our conserved quantity p.

  2. (locality) When we have different objects, we should be able to calculate the conserved quantity one at a time and then combine them somehow. (N.B. Interaction energies might seem to be an exception to this, but once fields are introduced, even energy can be written in a local form.) If we have two objects, O_A and O_B, the functional form of the conserved charge in terms of the properties of the objects shouldn’t depend on what’s going to happen next or on what’s happening very far away. It would be bizarre if we had to calculate it one way if the two objects were going to collide and another way if they weren’t. It would be equally bizarre if we had to calculate it differently depending on whether a star is exploding in another galaxy. Therefore,
    p_{\text{total}}(t)=\sum\limits_{\text{Objects }O}p(O(t)).

    Why does this have to be a sum? The formula has to be well-defined independent of our notion of objects, so considering two different objects to be a single object or a single object to be made of two objects shouldn’t change the answer. There are a limited number of ways of doing this. Actually, one could exponentiate both sides to made it a product instead, or if it’s a product, take the logarithm of both sides to make it a sum.

When dealing with two objects (A and B) colliding, we thus want to ensure that our conservation equation has the form


where p(m,\vec{v}) is a function of the mass and velocity.

I don’t think that this is the way I’d teach it. It might be enough to leave off the second axiom and just look for a functional form


and notice that it has the simple form of the previous equation. When it doesn’t work, what kinds of questions can I ask to focus students on what they are trying?

Post-class update

Something interesting happened while teaching this. My students have one-to-one laptops, which I control strictly. Violate rules on when and how to use them, and you lose all privileges to use laptops until you choose to set up a parent-student-teacher meeting to resolve the issues and decide under what conditions to allow you to use it. This policy has worked well, but that’s a different story. It means, however, that I made a small number of paper copies for those who aren’t currently allowed to use their laptops. I taught the students how to use a spreadsheet to enter a formula and test it to see if their formula using the two mass/velocity pairs was conserved (the same before and after the collision). Presumably, students using paper were partly-ignoring me during this spreadsheet review (difference 1). Entering the spreadsheet formula required four steps (two formulas and two fill-downs), taking up a significant portion of working memory (difference 2). Students working with the spreadsheet tended to focus on different kinds of formulas, whereas students working with the paper copy tended to focus more on the actual numbers and use mental math to see patterns (difference 3). The net result was that of the 5%-10% of my class that found the formula in the 30 minutes I gave them—admittedly low, but I decided to go with the time constraint and have this group explain to the rest—around 2/3 were paper users. I like using spreadsheets, but for a task like this, I think paper wins.

After pointing out that the masses were conserved (individually and together in this case), I did a Think Aloud and looked at the first two rows of data, in which the sum of the velocities was conserved because the object masses were equal. I used this as my idea, which students could immediately see was wrong if they looked at the third data point. This was how I showed them how to enter a formula in the spreadsheet.

Rather than scaffolding with questions, I scaffolded with a series of hints:

  1. Use all four variables m_A, \vec{\boldsymbol{v}}_{A}, m_B, \vec{\boldsymbol{v}}_{B} in the formula.
  2. When adding two quantities, they must have the same units. When multiplying or dividing, it doesn’t matter.
  3. We might expect that since it doesn’t matter which we call “A” or “B”, that the formula will be the same if we switch the “A” and “B” parts.
  4. Since “A” and “B” are separate objects, we might expect the formula to be of the form: (A’s part involving m and \vec{\boldsymbol{v}})+(B’s part involving m and \vec{\boldsymbol{v}})

I would reveal a new hint when I saw flagging spirits. I was proud that almost all of the students were trying things. Even when it became clear that I was adding hints, they didn’t stop to wait for better hints but kept at it. I was also super proud of the pair of students who worked out the conserved quantity \frac{m_A}{m_B}\cdot\vec{\boldsymbol{v}}_{A}+\vec{\boldsymbol{v}}_{B} (which violated hints 3 and 4), and we got to discuss which we liked better (being easier to remember, makes more “sense”), m_A\vec{\boldsymbol{v}}_{A}+m_B\vec{\boldsymbol{v}}_{B} or \frac{m_A}{m_B}\cdot\vec{\boldsymbol{v}}_{A}+\vec{\boldsymbol{v}}_{B}, and what was the connection between them. The extension question was: What do you think would be conserved if there were three objects? four? more?

What works for ghosting dry-erase markers

Or, Why my wife wants to kill me for buying too many cleaning supplies

We whiteboard a lot in my class, and although it has been expensive to try so many things and is labor intensive, I still haven’t spent more on cleaning supplies than what three or four group-size regular dry erase boards would cost.  I’m collecting what I’ve personally tried to remove dry-erase marker stains from shower/panel board (a cheap whiteboard solution with a not totally smooth melamine surface).

Whiteboards were marked and left for a day to test various treatments. Fiducial controls included water and diluted Dawn.


I’ve used mainly Expo markers.  Expo 2 markers (low-odor) ghost quite badly, so I tried to use regular Expo markers.  Red and purple are the worst colors.  I had students use mainly black, blue, brown, green (which leave a haze behind), and red (which ghosts).  When I run out of Expo markers this year, I’m going to get AusPen refillable dry-erase markers.  I’ve tried them on my whiteboards, and in rough order of easy of erasing (high to low) the colors are black, orange, blue, green, red, purple.  I’m going to try black, orange, blue, and green, but orange isn’t the darkest color.

Cleaning rags

I’ve used Expo dry-erase erasers and rags made from cotton T-shirts (ok but they stain forever) and old sheets (modal and high—actually too high—thread count cotton, which stain also).  Our janitor swears by old sheets from hotels, which have a much lower thread count.  Even when stained, rags continue to work well dry.  I have students use one set of “erasers” dry and another set (not actual erasers!, just rags) wet.  Dry rags get most of the dry-erase marker marks, but some colors ghost worse than others.

For my classes, I use my old high-thread count modal sheet rags to replace my aging supply of old Expo dry-erasers, both for dry-erasing.  The Expo dry-erasers can be washed with soap and water, but it’s something I only do about twice per year.  I use my old cotton undershirt rags for wet-erasing.  I wash the whole lot of rags after a week of heavy use or every few weeks of light use.

Everyday cleaners (for cleaning within 2 hours or so)

  • water — It works surprisingly well but not for “bad” colors left on for more than a day.  This is what I use in my classes in small spray bottles.  I have students dry-erase first so that the set of wet rags doesn’t get too stained and smear the colors everywhere.
  • ultra-concentrated Dawn dish-washing detergent and water (in about a 1:5 to 1:20 ratio) — The degreasers are reported to work well, and I concur.  I keep some in a spray bottle for occasional cleaning.
  • Expo cleaner — This is what I used last year.  It smelled, didn’t work much better than Dawn, and seemed to eat away the wax finish quickly.  Further, it seemed to leave a residue that increased ghosting, and the solvents pulled chunks of pigment out of old rags, leaving streaks of color on the “cleaned” whiteboards.

For removing stubborn marks (left on for more than a day)

  • Denatured alcohol — This is my new favorite.  It’s pretty cheap at a hardware store.  I can’t report yet on how fast it takes the finish off the whiteboards, though.
  • De-Solv-it (citrus based) — It works well.
  • Dirty Jobs All-Purpose Heavy-Duty Degreaser — It works well.
  • Dirty Jobs Fresh Citrus Heavy-Duty Multi-Surface — It doesn’t work very well at all.
  • Cleaning Vinegar (6% acidity) — It doesn’t work at all.
  • Diluted Simple Green — It works pretty well.
  • Formula 409 Cleaner — I remember it working pretty well, but I ought to try it again.
  • GMS Surface Tech’s Whiteboard Cleaner — It wouldn’t remove blue and green marks left for a day.  (The red and purple marks just came off with water.)  (Full disclosure: GMS Surface Tech was kind enough to send me a sample bottle to try.)
  • GMS Surface Tech’s HPG™ Odorless Whiteboard Rejuvenator Solution — It works well (minimal polishing) in removing blue and green marks left for a day.  (The red and purple marks just came off with water.)  It did leave a residue that increased ghosting and made it harder to erase.  (Full disclosure: GMS Surface Tech was kind enough to send me a sample bottle to try.)
  • 91% isopropanol (Wal-Mart) — It works OK (heavy polishing) in removing blue and green marks left for a day.  (The red and purple marks just came off with water.)  Diluting it to about 35% resulting in something that didn’t work much better than diluted Dawn but with a more penetrating odor.
  • Mr. Clean Magic Eraser — It works well, though I have found that it only works well by abrading the surface.  Too much elbow grease and you’ll quickly wear holes in the whiteboard suface.
  • Goof Off Heavy Duty Spot Remover & Degreaser — It works well.

Note: Since GMS Surface Tech was kind enough to send me two of their products to try, I should emphasize that my informal tests don’t at all suggest how well their products would work on regular whiteboards, only on fake-whiteboard surfaces like shower boards.

See also the section below on rubbing compound.

And the ones I can’t yet report on because I haven’t tried them yet:

  • Baking soda and water
  • Ammonia
  • Goof Off Heavy Duty Spot Remover & Degreaser
  • Möstenböcker’s Lift Off 3 Graffiti Remover

Whiteboard surface treatments

I’m always looking for that magical treatment that would make my whiteboards pristine, but I haven’t found it yet.  Maybe one day I will try the whiteboard paint on top of one after I sand it down…

  • Nu Finish Cling Instant Detailer (spray bottle) — It makes marks easy to erase, but the dry-erase markers don’t write well on top of it until it wears off a little.
  • Turtle Wax Carnauba Cleaner Wax (yellowish jelly in a tub) — I haven’t used this enough to know if it works well or not.
  • Turtle Wax Super Hard Shell Car Wax (upright bottle; says “hard shell finish”) — I used this all last year, and it seemed to work well.  Right after coating, marker seemed to bead up on the surface, but this effect went away after a few cleanings.  I applied it about once every two or three weeks, but I think the Expo cleaner took it off pretty fast.  Also, I’m noticing this year of not using a wax has resulted in whiteboards that erase much better with only dry erasing.
  • Turtle Wax Express Shine Spray Car Wax (spray bottle; says “hard shell finish”) — I haven’t used this enough to know whether it works well yet.  It seems a little thin, but that doesn’t mean it doesn’t work, I suppose.
  • Turtle Wax Polishing Compound (upright bottle; for light to medium scratches) — I haven’t tried this yet, but it’s cousin below works well.
  • Turtle Wax Rubbing Compound (upright bottle; for medium to heavy scratches) — I tried this last year to fill in scratches in my whiteboards and found that it took off the green ghosting haze on my whiteboards (perhaps by abrasion?).  If you rub too hard, you’ll probably take off the Melamine finish, but it works well for stubborn marks.  I put a layer of the Turtle Wax Super Hard Shell Car Wax on top of it after I’m done.
  • GMS Surface Tech’s HPG™ Odorless Whiteboard Rejuvenator Solution — It works well (minimal polishing) in removing blue and green marks left for a day.  (The red and purple marks just came off with water.)  It did leave a residue that increased ghosting and made it harder to erase.  (Full disclosure: GMS Surface Tech was kind enough to send me a sample bottle to try.)  [Update on 2014-01-29:]  When I tried the GMS Surface Tech Rejuvenator and Whiteboard Cleaner on a much-abused traditional whiteboard in my class, it did a decent job of preventing future ghosting, and although it did not take off all the old stains, it did lighten them a little.

For applying these surface treatments, I use a fine sponge or rag to spread them, rubbing lightly.  I buff them with a microfiber cleaning cloth.

Diffusion and Brownian Motion

I was captivated by a series of tweets and videos from @MR_ABUD in connection with a Modeling Chemistry workshop, in particular:

I considered the contributions of how the drop entered the water and the relative densities of the water and dye to the rate of diffusion.  To eliminate some of the effects of the falling of the drop of dye through the water, I decided to do my own experiment in a shallow bowl.

I couldn’t use the blue food coloring because it contained something oily that quickly spread to cover the surface of the plate.  What I like about this video is that I did the experiment wrong.  I clearly plunged the right Q-tip too hard into the right (cold) plate, as seen by the ring of red.  There was evidently more food coloring in the right plate too.  However, even so you can see how the meager amount of red food coloring in the left (hot) water spread slowly in tendrils and became less concentrated.  I like doing this in the shallow dish, but in the future I will probably use a wick to transfer the food coloring to the center of the plate or maybe a glass tube that I can slowly withdraw.  Still, subtle observations win the day here.  By the way, I used these plates so that I could add approximately the same volume and height of water.

Here are the final pictures of the hot and cold, respectively, plates:

Red food coloring in hot water

Red food coloring in cold water

As another attempt to look at rates of diffusion to build a model of molecular motion, I wonder if wet paper towels would damp out some of the sloshing of the movement from depositing the food coloring but still allow diffusion.  We would have to measure the motion of the food coloring over a longer time, however.