Sweater Weather

The weather in sweaters

I just spent 4 years in Maryland that had weather like this:

With the data at hand (temperature) I chose the wrong clothes — I had some frigid mornings and overheated afternoons. I had an information problem.

So I wondered “How might I create the right data point?” A new unit was needed. Not degrees in Fahrenheit, Celsius, or Kelvin — sweaters.

Introducing: Sweater Weather

Why did I do this?

  1. I wanted to learn rudimentary code, javascript, node.js, and hosting it. I knew this wouldn’t solve the archaic pet peeve that people face since the advent of clothes and the changing of the seasons. Instead it provided me a chance to crawl, stumble, trip, and fall until I made something that worked.
  2. My favorite weather? Sweater weather. This kind of day: “It was one of those March days when the sun shines hot and the wind blows cold: when it is summer in the light, and winter in the shade.”
  3. And this from design expert Don Norman’s book Design of Everyday Things:

Norman’s prognosis is that we ought to design around humans. Tools and technology should fit seamlessly into the lives of the user — there is no such thing as human error. (I wrote about tools in this reflection). Two stories Norman told sparked this project. First, why do people check the weather report? Why x5

Theodore Levitt once pointed out, “People don’t want to buy a quarter-inch drill. They want a quarter-inch hole!” Levitt’s example of the drill implying that the goal is really a hole is only partially correct, however. When people go to a store to buy a drill, that is not their real goal. But why would anyone want a quarter-inch hole? Clearly that is an intermediate goal. Perhaps they wanted to hang shelves on the wall. Levitt stopped too soon.

They want to know what to wear. Second, on providing information that’s useful for the user…

It is now 55°F outside my home in California. What temperature is it in Celsius? Quick, do it in your head without using any technology: What is the answer?
I am sure all of you remember the conversion equation: °C = (°F–32) × 5 / 9
Plug in 55 for °F, and ºC = (55–32) × 5 / 9 = 12.8°. But most people can’t do this without pencil and paper because there are too many intermediate numbers to maintain in STM.
Want a simpler way? Try this approximation — you can do it in your head, there is no need for paper or pencil: °C = (°F–30) / 2
Plug in 55 for °F, and ºC = (55–30) / 2 = 12.5º. Is the equation an exact conversion? No, but the approximate answer of 12.5 is close enough to the correct value of 12.8. After all, I simply wanted to know whether I should wear a sweater. Anything within 5ºF of the real value would work for this purpose.

They just want to know if they should wear a sweater.

How I did it…

Trial and error pretty much. The efficacy wasn’t in building a perfect piece of technology that would make Marc Andreessen proud, but to challenge myself, satiate my curiosity, and learn something new by breaking it a few times. (And maybe pick up a few twitter followers). The resources to learn online are as abundant as they are practical. Codeacademy and Stack Overflow offered more than a crutch, they were wheel chairs. Theres also Udacity and Khan Academy.

By the time I got to the point of actually running tests on twitter I ran 238 tests. My guess is the total times I compiled and ran mode code were double that. Closer to 500. 500 failures that all got me ever so slightly closer to making a bot that works.

“Failure sucks but instructs”

In Cowboy Coding Jure Materic reminds us that tech is becoming more accessible then ever. The barriers are bing lowered by the ability to hack pieces together. “…more abstracted, and therefore less complex. We have platforms, frameworks, bootstraps, mixins, generators, environments,services, and other multi-purpose chunks of code. Most are open, free, or cheap. And because developers are opinionated and passionate, there’s a lot of love and hate around all of them, which guarantees they’re always evolving.”

Here is Sweater Weather’s code. If you actually know how to code and want to offer feedback, I would be incredibly grateful and will buy you a burrito.

Next steps

  • Sync with your Calendar to the sweater forecast to incorporate events that require. i.e turtleneck with tie #highfashion
  • Stream twitter feeds and reply to people discussing the weather and sweaters.
  • Make error handling more robust.
  • Find a different medium. Send you an email, create an app that sends a push notification, a simple web landing page.

This project was selfish. I wanted to learn the foundations of code, to find out what I can do and what I can’t do. Finding the constraints in my skills and in the programs was liberating. Being aware of what I can create and what I can learn helps envision my next project. I have come to embrace the coding mindset and have brought it into other projects.

If you made it this far you owe Sweater Weather a tweet. Tweet at @sweaters_today and geotag your tweet or include your zipcode.

“Seek the fashion which truly fits and befits you. You will always be in fashion if you are true to yourself, and only if you are true to yourself. You might, of course, rightly wear that style which is emblazoned on the fashion magazines of the day, or you might not.” -Maya Angelou.