The Intention Economy

“Doc Searls On Becoming Part of The Intention Economy,” Fast Company, May 3, 2012.

When my mom was starting her busy protoyuppy family, back in the 60s, one thing was easier. She had relationships with saleswomen at a few downtown department stores. “I could call one up and say, I need some back to school clothes, and she’d just put together a couple of outfits for you guys. And that was it, we’d just go down, take a look at them, buy the best option and I was finished.”

Think of all the time we spend now, comparison shopping, and all the energy and money that goes into convincing consumers that they have some kind of special relationship with a brand.

Imagine if the web could bring about a mass return to the kind of economy where customers had real sustained relationships with sellers. That’s a possibility put forth by Doc Searls in a book I started reading last week. The Intention Economy grew out of an article he wrote for Linux Journal back in 2006. Much has changed since then, but the kernel of his argument seems to be even more possible. What if the current trend of vendors, using technology to track and prompt buyers, shifted instead towards encouraging buyers to simply state their buying intentions up front. What if this brought about a more direct, open and respectful relationship between buyers and sellers. Wouldn’t almost everyone profit?

For instance, imagine you have an app that enables you to list the things you intend to buy in the near future. On this app you put the things you want to buy: a new car, a reconditioned Ipad for the kids, a coffee table that would match the living room you posted on pinterest, a grocery list that you don’t have the time to check with the latest flyers. Let’s say this app has enabled you to form a network of trusted vendors. Over the next days you receive bids, offers, helpful information from various vendors, a calculation of what your groceries would cost at three different stores. Some of these vendors have sold to you before, so they’re willing to cut you a better deal as a trusted, known customer. Let’s add some bonus features, like a terms of service contract  overseen by a good consumer protection group. A contract that the VENDOR clicks the agreement button on. And a seriously well insured way for the buyer to pay that doesn’t make her vulnerable to identity theft, or credit card hacking.

Imagine the money saved on advertising and marketing for the smart vendors who adopt this early. In a couple of years small to medium sized businesses could build a steady web of reliable clients in a stable, sustainable economy.

Everything is moving towards mobile technology, but I have yet to come across a market evaluation that doesn’t predict mobile technology is going to be even tougher to monetize than the web.

Unless it’s not. Unless vendors use it as a way to bypass the high cost of adverstising, marketting and branding altogether. Unless buyers (and yes I’m talking to you women, whose brains are fried from the responsibility of making most of the small purchasing decision in your household) start using mobile technology to find new ways to recover the authentic power they once had.

Imagine that.  Or better, why don’t we start forming a collective intention to make that happen.

Advertisement

Montreal Mini Maker Faire

The best  thing I did at the inaugural Montreal Mini Maker Faire last weekend was solder my very own LED  pin.  Ben didn’t want to go anywhere near that soldering iron, and I’m glad I didn’t cajole him into it.  He has wonky fine motor skills and I burned myself at least once.  A simple little flashing pin took me half an hour, after I’d fixed up all the goopy metal.  And even then I kind of got it wrong (I slotted one of the conductors backwards). Still, getting a concrete sense of the labor that goes into making stuff we throw away without thinking, has really been an eye opener. As was  sitting around a table with a group of first world mothers and their daughters, and thinking of all the families around the world that actually do this all day for a living.

A sobering thought.  Good thing there was a bar right next to the soldering tent.

Kidding.  I don’t drink and solder.  But there was a bar.  Our Montreal Maker Faire was an afternoon event that preceded a music festival at the Olympic Stadium.  We overlapped by a couple of hours.

The main tent had some very cool exhibits. Videogames hacked in all kinds of bizarro ways, hooked up to playdough, skin sensors and voice sensors. There was the usual array of 3D printers, eggbots, steampunk, robots and innovative DIY toys. I liked tweletype, an old fashioned teletype machine hooked up to twitter.

On the upper level there were quadracopters, camera obscura, home made bikes,  and the Concordia women’s engineering department reconstructed a replica of the brooklyn bridge out of K’Nex.

But Ben’s favourite event was the Quidditch workshop, overseen by the McGill Quidditch team (current national champions!).  Here’s the golden snitch, giving the kids a pre game rundown:


The game ends when someone grabs the tennis ball from his tail.

Good times!

Happiness Engineer

This weekend I went to WordCamp here in  Montreal.  I didn’t go to both days because Saturday was Ben’s birthday.

It had occurred to me, when I first heard about this gathering of the wordpress community, to see if I could  sneak off in the afternoon.  But then, over at SkillCrush, I read these wise words  from an experienced lady programmer: nothing is ever important enough to miss your child’s birthday.

We had a great day on Saturday, hanging out, playing Little Big Planet and video game shopping. Sunday morning when I headed off to WordCamp, bright and early, I was brimming with healthy ambition.  When  I saw the number of people struggling through hangovers from the Saturday night social, I had no regrets.

Hangovers notwithstanding, the energy at WordPress camp is so warm and nurturing and fun, I vow to make this a yearly ritual. And hopefully next year it won’t conflict with another one.
In the  morning I went to the developer presentations:

  • Responsive Design (how to design your web pages so that they fit mobile devices, as well as desktops).  Lots of technical stuff that I mostly understood and will probably better understand next year. The takeaway: code semantically. i.e. start learning now how to design webpages that are low on marginalia. 100% column widths. Sliding panels. etc.
  • Theme Building. This was my favorite, even though I have zero intention of ever becoming a Word Press theme builder. But Kirk Wight is such an entertaining speaker, I might actually consider it. Either way I was  proud to be one of the people in audience who knew how to write a function.  I feel my work this year has been vindicated. Keep an eye out for Kirk’s presentation on WordCamp TV
  • Child Themes. You don’t actually have to know much CSS to build really cool websites.  There’s basically a separate console that allows you to write just a little CSS and dramatically tweak the core code.  The CSS for the child theme will always override the CSS for the parent theme (not unlike life.)  The takeaway: don’t ever touch the core code!  Use the separate console for child CSS. This could be a really cool project for kids, learning just enough CSS to mash their own cool website designs  from available themes.

At lunch I had a great chat with the developer who has adapted Word Press for Post Media, one of the largest media conglomerates in Canada (National Post, Montreal Gazette). One of the things he pointed out is how little  envy there seemed to be at WordPress camps. Unlike other conferences where  networking always has a kind of edge, there’s so much work these days for developers, the vibe is open and generous.

In the afternoon I went to presentations that were a little more local, content oriented, and French, so I won’t summarize them here.  But at the end of the day I was so impressed with the whole WordPress organization that I found myself  trawling through their job postings.

The one that caught my eye,  Happiness Engineer. What an awesome job title.  If I understand the job correctly, it’s enlightened customer support.  Requirements are good writing skills, a working knowledge of HTML/CSS, and compassion for people grappling with information technology.

Maybe I’ll apply. But in the meantime, I have my own little startup here at familycoding, and the job of Happiness Engineer has just been filled.

Hackasaurus

Yesterday we took a break from python and  had some fun with the “x-ray goggles” at  Mozilla’s Hackasaurus.  This is a great little tool that helps kids learn HTML and CSS by allowing them to mess with what they see in their browser.

X-ray goggles allow you to scan the different sections of the page, see the HTML/CSS code, and change it right there on the page. The first exercise is to download the url for a  “Serious Cat” picture  and change the girl for the cat.



Once you’ve done your first hack, you can drop the goggles into your bookmark bar and  head out onto the web and mess with other websites.

Ben’s first choice was the official webpage of Lady Gaga :

I thought Usher could use a little serious cat treatment.


It was inevitable that Ben would eventually start hacking my websites:

Fortunately only what’s in the browser gets altered.  The actual website is safe.

Imagine a web where  cats could learn to code….that could get serious.

Hello Python!

This week at Codecademy we started Python.

Not that I resent the eight months that I’ve spent mastering the fundamentals of JavaScript, HTML/CSS and JQuery, I’m sure it’ll come in handy some day. But if I’d known about Python, this is where I would have started.  And something is telling me that this may be where I’m going to stay.

First off, where is the crazy making syntax!  Oh, those first weeks of JS, where every rule  was such an affront to my sensibilities as a writer.  Semi-colon over use.  Periods in the middle words. Capitalization of second words.  In the early days,  my brain rejected JS like it was a kidney of the wrong blood type.

Python is made for writers and I’m guessing much better made for families. It’s also made for people with a sense of humour. The name of the language comes from Monty Python, which makes it particularly appropriate for my family. My mother went to Oxford, and was once in a skit with Peter Cook and Dudley Moore. Bragging over. She played the American girl with a nice rack. Still,  British comedy was pretty much a side dish at dinner where I grew up.

Python tutorials are known for their cultish flourishes, and use “spam” and ” eggs” as introductory variables.  Over at Skillcrush, (an exceptional ed tech startup directed particularly at  women),  I recently learned that Python is used for  sites like Youtube, reddit, and Yelp.

I can’t tell you much more about the language, since I only started learning it yesterday. But in keeping with our theme of comic relief, here’s the funniest thing I’ve seen this week. Yelp reviews read by actors.  Just an example of the joy that Python is bringing to the world:

Image

Revenge of Sith Sculpture

Revenge of Sith

Link

Lego Sci Fi Sculpture gallery

Where’s Eddie Izzard/Darth Vader?

Taking short break from blogging, as I work on Montreal Mini Maker Faire.  Putting up a sci fi Lego sculpture gallery in the meantime

Codecademy scores 10 million and Familycoding gets a nice shout out…

So six months ago Ben and I signed up for Code Year, with Michael Bloomberg and about 400,000 people.  We didn’t even really know what coding was.  Codecademy was just five month old puppy of a Start-up.

And look at us now.   Here’s Codecademy announcing $10 million in their second round of venture funding (a big chunk of that from Richard Branson).  But notice who’s mentioned in the list of accomplished students.  Yes that’s us,  Juliet Waters and her son Ben.

I haven’t been blogging as much lately because I’m deep into Human Computer Interaction, a free five week online course given by Stanford through Coursera, another high quality free education startup.   There I’m designing my first web/app and getting rigorously vetted by my online peers.  But I’m still keeping up with my Code Year.  More than ever, I’m going to need all that JavaScript to get it functional.

If that weren’t keeping me busy enough, last night I went to a first meeting of organizers of  Montreal’s inaugural  Mini Maker Faire, which will be at the Olympic Stadium August 25-26.

One day soon, I will come up for air and do a nice long blog post.

In the meantime here’s MythBuster’s Adam Savage talking about the importance of taking risks….

The Women


Rear Admiral Grace Hopper, surrounded by her team of programmers

One winter Augusta Ada Byron King, Countess of Lovelace, became obsessed with a puzzle that had become popular in the circles of Victorian aristocracy. Peg Solitaire starts with thirty-two pegs arranged on a board in the shape of a cross around a central, empty space. The goal is to jump over adjacent pegs, which are then removed, until only one peg remains.

Ada Lovelace was the only legitimate child of Lord Byron, the rock star poet of the Romantic Movement. A bitter divorce meant that Ada never met her father.  As an eccentric antidote to what her mother, Annabella Millbank, baroness Wentworth, perceived as an insanity rooted in a talent for poetry, it was arranged that Ada be tutored from an early age by some of the era’s great mathematicians and scientists.

At the age of seventeen, she met Charles Babbage, creator of  the first computer prototype. From the questions she asked about his “Thinking Machine,” Babbage could tell Ada was a better mathematician than most of the university graduates he knew. They developed a collaborative correspondence that would last the rest of their lives.

Ada’s winter of peg solitaire produced an inspiration and she wrote to Babbage: “I have done it by trying & observation & can now do it at any time, but I want to know if the problem admits of being put into a mathematical Formula, & solved in this manner …. There must be a definite principle, a compound I imagine of numerical & geometrical properties, on which the solution depends, & which can be put into symbolic language.”

From that point on she put her talent and education towards understanding this symbolic language, and wrote what is now regarded in the history of computer science as the first recursive algorithm.

“The Analytical Engine does not occupy common ground with mere “calculating machines.” It holds a position wholly its own. . . A new, a vast, and a powerful language is developed . . . in which to wield its truths so that these may become of more speedy and accurate practical application for the purposes of mankind than the means hitherto in our possession have rendered possible. Thus not only the mental and the material, but the theoretical and the practical in the mathematical world, are brought into more intimate and effective connexion with each other…We may say most aptly, that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves.”

This is why if you take Stanford’s online course Introduction To Computer Science: Programming Methodology you will learn from its charismatic professor Mehran Sahami that Ada Byron is considered the first computer programmer. If you signed up last week for Stanford’s five week Human Computer Interaction studio course, offered free through Coursera, you would have learned from associate professor Scott Klemmer about Rear Admiral Grace Hopper, the inventor of the first compiler.  Hopper  is not only credited with the word “debugging”, after a moth was discovered in the lab, she conceptualized machine independent languages and oversaw the team that invented COBOL.

If you don’t have time to take a free Stanford course, at least read this digest of Stanford talk by CS historian Nathan Ensmenger. Talking about his book The Computer Boys Take Over: Computer Programmers and the Politics of Technical Expertise, Ensmenger explained how the world of computer programming was once so dominated by women, that it was stereotyped as a female profession. In the early 1940s the University of Pennsylvania hired six women to work its ENIAC machine, generally considered one of the first computers. The “ENIAC girls” are considered the first computer programmers in the U.S.   When Cosmopolitan interviewed Hopper in 1967, she explained why it was such a particularly good career choice. Programming she explained was “just like planning a dinner. You have to plan ahead and schedule everything so that it’s ready when you need it…. Women are ‘naturals’ at computer programming.”

What happened? A job shortage in the 60s resulted in the equivalent of an affirmative action program to make the profession more appealing to men. Newly created professional associations actively discouraged the hiring of women. Computer industry campaigns linked women to error. Programming aptitude tests, the results of which were widely available in fraternities and Elks lodges, were introduced to further advance the prospects of men and set barriers up for women. The ongoing job shortage, however, meant that women continued to be hired. By 1985, women still represented 37% of computer science graduates. That was the year that Radia Perlman invented the spanning-tree (STP) protocol. Because STP is so fundamental to building computer network bridges, Perlman has been called “The Mother Of The Internet.”

Currently women represent 18% of computer science graduates in the United States.

I knew none of this when I signed up for Codecademy’s Code Year challenge, in January. But by June 2, when the New York Times ran an article on a highly publicized sexual harassment case in Silicon Valley, I knew enough to balk at the lede: “MEN invented the Internet. And not just any men. Men with pocket protectors. Men who idolized Mr. Spock and cried when Steve Jobs died. Nerds. Geeks. Give them their due. Without men, we would never know what our friends were doing five minutes ago.”

Fortunately, at least one other woman did more than balk:
“What a steaming turd of an opening line in David Streitfeld’s otherwise serviceable New York Times piece about the Ellen Pao/Kleiner Perkins sexual harassment lawsuit, and gender discrimination in Silicon Valley” Xeni Jardin blogged in Boing, Boing. When she tweeted her post she was s greeted with enough Hell, yeah’s that her  storification of Twitter responses reads like an instant oral history.  A history written not only by women, but by men who had learned programming from their mothers and who proudly traced their programming lineage back to grandmothers who were pioneers in the profession.

Much, perhaps too much is made, about the need to find ways to “attract” women into the field of computer science. How about we re-frame this as a restoration of the place of women in computer science?

Let’s go a step further. Let’s restore it as a place that is welcoming to the average citizen. Nothing against geeks, I consider myself one, and have no shame about that. But it’s time for computer science to stop pretending this is a skill that can only be learned by boy geniuses.

There will always be a place for boy geniuses, and a need for programmers both men and women with advanced math skills. But more natural, user friendly languages and tools are being invented every year to make basic programming skills more accessible to children and adults of any age: from MIT’s ingenious Scratch to last week’s release of Blockly, Google’s first visual programming language.

The time has come for everyone to occupy the world of information science. It doesn’t matter whether people choose that world as a career, a leisure time obsession, for one month, one year, one winter, or hopefully, this summer. It doesn’t matter whether people start it at Stanford, Codecademy, or Code Hero (a role playing video game that aims to teach code literacy under the mentorship of Babbage, Lovelace and Alan Turing.) It doesn’t matter when or why we learn to code. What matters is that a critical mass of people start somewhere so that we can reverse, or at least buffer, a growing trend towards techno-elitism.

To use the three important words that have been used by mother coders since the dawn of time, before the invention of computers, and if all goes well, for millennia to come.

Just try it.

Things Being More Equal Than Others

It will soon be six months since I started my Code Year pledge with codecademy.com. I’m still going strong. I’ve even started beta testing a few courses ahead of time.  But this doesn’t mean that learning to program has been easy.

All my new learning is at the fresh cement stage. If I don’t take stock while I can still see the rocky road behind me, I become useless to the people still on it. So, I’ve decided this would be a good time to write about one of my biggest stumbling blocks coming out of the gate.

It was that damn = sign, and the subtle, but really important ways that this sign is different in imperative programming than it is in arithmetic and algebra.

For those of us who never continued with math beyond high school,  = has a pretty rigid meaning. It means “the same as”.  Things on each side of it evaluate as the same.  Sure, we understand that the value of a variable can change.  If  x = y + 1 in one algebra exercise,  we accept  x = 2y + 1 in the next one.  But essentially, what isn’t supposed to change is that both things on each side of that symbol have the same value.

In JavaScript, however,  = means something more like “attached to”.  Or “associated with” or “same type” or “contains all of these things” or is the same as “for a limited time only!”,  depending on the context in which it is being used.

Much of  coding is  building quickie archives of associations, archives that can just as quickly be dismantled. So programming needs an equal sign to have a much broader, less sticky meaning than it does in math.  In math the equal sign is like glue.  In programming it’s more like a post-it note.

For instance  x = 0 used in a programming algorithm usually does not really mean x is equal to 0.  It’s a way of saying that x is a number and  it will be starting at 0. So if we put x in a standard programming loop like (x = 0; x < 10; x++)  it means that x’s value is going to increase in numerical value by one, each of the 10  times we run that loop.

If we write x = ”  ” then  what we’re saying is that x is a string, i.e. some kind of phrase,  which usually means x will be used as a container for whatever words or sentences we want to plug into x.

If we want to make x stand for a particular series of actions,  we turn it into a function by writing  x = function (). That series of actions will be repeated every time we write x().

X can also be an array, a list of things, as in x = [1, train, $, 104, poodle].

In programming if you want to convey that something is actually equal  in the way normal people understand equal, you add an extra =, or just to be safe two extra equal signs, x === y.  This gives x what is called a “Boolean” value, i.e.  the variable either is or isn’t exactly this thing. For example:

 if (x === 3) {do this thing};

in this case  x has to be 3  for the action in  between the curly brackets to be executed.

if  (x !==3){do this thing};

means  do this thing only if x isn’t 3.

Write:  if (x=3) {do this thing},  and the computer will spaz out because your definition of  x is too vague, so it doesn’t know what to do.

****

If you learn to program with a bright sixth grader, as I did,  you may find that they grasp this floaty = concept much faster than you do.

Sixth graders don’t have to unlearn the = sign because they’ve just started learning algebra. Their brain has just freshly opened to the fact that an equal sign can be used in more interesting ways than previously known.

If your sixth grader is anything like my sixth grader, he or she  may very well kick your ass in the first twenty hours  of programming, as you stumble again and again  over whether that variable is the “same as “ or “sort of like” something, and hurt your brain further,  trying to figure out why it’s attached to that meaning in one place of the algorithm, but not in another place.

Even when I understood the difference theoretically, my brain kept reading the sign badly again and again. It was like that Stroop Test,  where someone shows you the word BLUE written in green ink.  When they ask you the color of the ink,  you keep saying blue because your brain prioritizes the language definition over the visual.  My brain was clamped on equal being equal, even when I knew it wasn’t.

“But wait!”, you and an unfortunate number of other educators might say.  “If we expose children too early to the more complex and nuanced programming concept of = won’t they get all confused when they learn algebra?  Don’t they need a period of time when the = sign has a more limited scope?”

You may even develop this idea further.  “What if after being exposed to all this = sign confusion, some children end up learning algebra [cue music to soundtrack from Psycho] at a slower rate. What horrible things will this do to their self esteem?  Maybe they’ll give up and refuse to learn algebra all together, in total frustration!”

This is the argument used by those  who think only really, demonstrably super smart kids should be exposed to programming in middle school.  Ideally in expensive summer coding camps reserved just for them.  And this is probably the argument that will solidify the growing gap between the technologically literate, and the now merely language literate, for much longer than it should exist.

It’s also the argument that will keep girls from mastering code as a matter of course, since they don’t tend to sign up for summer coding camp as frequently as boys, and by the time the girls are given the option of learning programming, they’ve developed a misconception about computer science as something only of interest to social isolates (var nerdyGeek = “social isolate”).

This is the same reasoning people use when they bring up studies that show  children raised in bilingual environments exhibit a significant language delay.  (Trilingual environments, they argue are even worse!)

I can only argue against this from anecdotal experience. But I will argue against it, passionately.

I’m a Montrealer, so my son, Ben, learned English at home, but went to daycare in our French speaking neighborhood.  To make matters “worse”,  I had joint custody with his father, who was born in Israel and spoke to him in Hebrew.

Indeed, this created a significant language delay, to the point where, when he was two, we had his hearing tested just to be sure.

But there was no hearing problem.  And not only was there no hearing problem, by the time Ben hit kindergarten he was reading fluently in both French and English, counting to a 1,000 and already starting to grasp a little multiplication.  Because by then, his brain was a language learning machine.

Ben’s not a genius (he’s been WISC tested. Apparently he’s at the high end of average).  He’s just a smart kid whose brain now codes information a little faster than normal kids because he spent his early years in an information rich environment where there was a lot more meaning to sort out.

If your child maintains a coding practice, even if it does cause a little confusion at first,  it’s a good guess he or she will not be falling behind on the math curve for long.  In fact, before you know it they will probably be three times as equal as the other kids.

Or if you want to contemplate a really scary scenario [Psycho refrain] they will probably become three times as equal as you.