Every development team has a Roadmap - the plan for what's being built next, and in what order.  Often it lives only in one person's head; sometimes it's a big graphic that teams meet and fight over for months.  Wherever it lives, it lives.

Why do we keep these things a secret?  Because they're contentious, because they're always changing, because we're not sure we can get it all done, because we don't want to tip our hand.  

Baloney to all that.

Here's the Thumbprint Roadmap as it stands on Friday June 6, 2014.  It may change tomorrow.  We may add, delete, or move things around.  We may not even finish it all.  But for today, at least, it's a plan.

1. Chat
What is it?: A new Thumbprint tab that allows teachers to create chatrooms for each of their classes, and for teachers and students to easily share content with each other by dragging it into and out of the chat window.

2. Worksheets 2.0
What is it?: An improved version of student worksheets that are easy to create and use.  Students answer questions by either typing or drawing their answer in the spaces provided.  Teachers are notified when a worksheet is complete, and can go in to provide marks and comments.  Students are notified and can review teacher feedback, and marks are automatically added to Thumbprint Reports.

3. Drag and Match Quiz Type
What is it?: A new type of quiz where students drag one object (text or image) onto another.  Can be used in a variety of situations, like placing State names on a map, completing a puzzle, or associated synonyms, homonyms or antonyms.  Students are marked automatically based on the number of attempts required to get the correct answers.

4. Reports 2.0
What is it?: A revamp of the Reporting tool to add some highly-requested features, including: a new Report type that shows all activity for a selected Student; date range and timeframe selectors for all reports, improved color palette for easier reading of data.

5. Math Content Object
What is it?: A basic spreadsheet, equation editor and graphing tool to allow students to demonstrate knowledge of mathematical concepts.  Teachers provide, by creating or importing, a template of the assignment, students interact with it, and the marking and feedback process work like they do for Worksheets.

6. Multiple Choice 2.0
What is it?: Adding some highly-requested features to Multiple Choice quizzes, including: adding images to the quiz question block, expanding the maximum question length, adding auto-advance to answered questions on iOS.

7. Enhanced Search/Featured Tab
What is it?: Some new ways to find great content that other users have created.  Includes: a new Featured tab with a curated list of great nodes, authors and collections; refinements to Search that return more relevant and detailed results; incorporation of up- and downvotes into ranking.

8. Nodes 2.0
What is it?: Adding frequently-requested features to Nodes, including: Flagging inappropriate nodes, "Find this author" option, "Revert back to Alias" option for Cloned nodes, user-selected checkbox to mark content objects as Done, progress bar for Nodes indicating percentage of contents marked as Done; upvote and downvote options for rating the node; "Private" flag to hide nodes from Search and Explore view.

9. Dynamic Skins
What is it?: A revamp of the look-and-feel portion of the app, allowing it to look good on a wider range of devices and appeal to a broader range of users.  Includes: dynamic screen detection, user-selected palette and layout, new icon designs, support for visually impaired users.

If you've made it this far, you probably have an opinion, so I encourage you to leave a comment. Thanks for reading.

The Feedback Loop

We've been silent on Facebook for awhile.  Everyone's been focused on getting our most recent batch of pilot schools up and running.  The experience definitely makes my top 5 list of most grueling things ever.  Everyone here put in ridiculous hours under enormous pressure, but the result was worth it - a very smooth set of first days for almost all of our pilot schools.  Huge thanks to everyone involved.  Now get some sleep :)

Of course, record numbers of new teachers and new students means a record volume of customer feedback.  This is something you can think through in advance, but no amount of thinking prepares you for the flood when the dam finally bursts.  I went from 15 hours a day managing our team through setup, content, and double-checking to 15 hours a day answering customer calls and emails - literally overnight.

This is not a complaint.  I LOVE customer feedback, and I love the feedback we've been getting from these particular customers even more.  The scariest thing for a new company is silence.  When my phone battery dies twice a day from overuse, I'm relieved that our customers feel like they can talk to us.

So, what's the most common type of feedback for a new app?  You guessed it: "Can it do ____?"  In other words, "When can I have feature _____?"  In other other words, "Why can't it do _____ yet?  It really should."

The human reflex when hearing comments like this dozens of times per day, every day, is to get defensive.  "All anybody talks about is what we don't have!"  This attitude is pretty unhelpful, and not usually a good representation of what the consumers intend.  As consumers, we don't talk much about what we've got, we talk about what we need and don't yet have.  Indoor plumbing is the Most Important Invention in History, Ever, but we never say "thanks" when it works - we just complain when it doesn't.  Nothing wrong with that.  It's how we're built.

So, once the defensive reflex is quashed, what's left is a very powerful feeling, one I feel over and over again every day.  I AGREE WITH MY CUSTOMERS.  Those features they're asking for?  We SHOULD have those.  The features they're complaining about?  They're NOT good enough.  They should be better.  Very rarely do I see a request from a customer and think "There's no way we're doing that."  Almost every time, it's "I wish I had more people so we could do that faster."

That's a really great position to be in, I think.  Us and our customers: wanting the same things, rowing in the same direction.  Now, who's got some more feedback?

Mind The Gap


Let's imagine we have a time machine and a laptop.  We set the time machine for the year 1900, rent a horse, ride it over to a nearby school, and give the laptop to one of the teachers.  Then we repeat the process enough times that, say, 1% of all schools have a laptop.  Assuming the teachers ever got the laptops to work, they would be at a ridiculous advantage over their peers. It's hard to wrap your head around how big the gulf would be, not just in terms of the classroom experience, but in terms of the types of young people that would emerge from those systems.  If such a thing had happened in 1900, we would probably have a different name for educational institutions that had computers, and likely a different title for those who graduated.  A completely different world of opportunity would be available to those kids, and they would face absolutely no competition from the 99%.

Well, guess what?  Our actual history has brought us to almost exactly the same point.

Computer programming is the agriculture of the 21st century.  It's a set of skills that's in limitless demand, and is an essential part of almost everything we do.  Knowing how to code is a huge competitive advantage even if you are never paid to write a line of code in your life.  It is teachable, from a very early age, and is as close to a guarantee of lifelong, decent-paying work as we have ever had.  It opens doors to business, the arts, science and entertainment.  Which is why we stopped making Spanish a mandatory course and replaced it with C+.

Wait.  We didn't?  Okay.  Which is why we stopped teaching Music and replaced it with C+.

No?  Phys Ed?  Latin?  Wait.  What are we doing?

I'm in favour of variety in education, but our stance on core and optional subjects has a bizarre hole in it.  Computer Science is the essential skill - it prepares everyone who takes it to stay housed and employed, it's fun, and it necessarily incorporates other key subjects.  It's hard to think of a game that doesn't employ math, science, languages and history, and it's easy to think of examples that engage users on these subjects more than a textbook.

So, with all due respect, I think I'm done with the argument that technology in schools is a nice-to-have.

How Do You Eat an Elephant?

How Do You Eat an Elephant?

One bite at a time, right?  Old joke, but good advice.  Educational software development usually feels more like eating a blue whale - there are so many useful ideas that I could fill my word count today simply listing them.  And if I were a pundit, I'd do that and call it a day.  But the trick about building is that at some point you need to pause, package what you have, and release.  The new feature train never stops, but occasionally it needs to pull into the station to let new passengers on.

As we talk to more and more people in education, it's clear that everyone has their wish list, their pain points and their bright ideas.  Everyone is thinking about what tool, what feature they want to make the classroom experience better.  Almost none of them are bad.  Many of them have been on my own wish list, sometimes for years.  But the overlap across the board is not strong, and some groups are asking for features that other groups don't care about, or emphatically do not want.  And with the number of requests on offer, it's inevitable that we need to say "not yet" to some, and "never" to others.  No matter how big the software gets, how big the company gets, it's never possible to do everything.  If it was, Microsoft would have done it.

So how do we choose?  What goes to the top of the list?  For that, I use my One Piece of Advice - the thing that governs everything Thumbprint does, as well as most of what I do in the rest of my life:

Find the biggest problem you can solve, and solve it.  Repeat this step until you run out of time.

Let's unpack that.  "Biggest problem" is usually pretty easy - it's the thing you're thinking about instead of sleeping.  "Biggest problem you can solve" is harder.  There are plenty of big problems that either have no solution or are beyond your ability to fix.  In software, it's usually about features designed to curb negative human traits.  "How do we keep kids from doing (bad thing)?"  I don't want them to do the bad thing either, but if caring parents and teachers can't solve the problem, I'm not confident that an app can.  Technology is great, but it's not magic.  I try to be realistic about what it can do, and to be honest about the problems that it can't solve, and I don't spend a lot of time designing stuff unless I think it will actually solve the problem.

The core case in education is student engagement.  Are the students engaged with the material?  That's the first and most important question.  Everything else we talk about, from pedagogy to attendance is either about increasing engagement or working around the fact that they're not engaged.  If students are passionate and excited about what they're learning, most other issues, from attendance to behaviour to grades, simply vanish.  So it seems to me that student engagement should be the main litmus test for what gets worked on, because it has the potential to reduce or solve so many other problems.  Whenever we have to weigh two potential features against each other, the one that increases student engagement the most wins almost every time, which is as it should be.

This still leaves us with plenty to eat, just maybe not a whole elephant.  I dunno.  Maybe a hippo.