Category Archives: Work

Introducing TokenTrack

Last week I launched a new web application, TokenTrack. This site enables you to create a token economy — a way to provide positive reinforcement to motivate people to complete tasks. Using the site, you can create an economy, which is a container for people, tasks and rewards. You can then assign value to each task using a virtual currency called tokens. The tasks and rewards are up to you. You can invite people to your economy by supplying their email address. Everything is private, so participants in one economy can’t see or utilize resources you’ve created in another economy. At the moment, every economy is invitation-only, so no one can access your economy unless you’ve invited them.

This site is an example of a web developer “scratching your own itch.” My daughter likes to do academic and creative projects over the summer, but needs a little structure and responds really well to positive reinforcement. I participated in a few token economies when I was her age and remember really enjoying having the ability to work as hard as I wanted, and to be able to choose my own rewards for my work. Token economies are used in education all the time; if you’re not familiar with them, the Wikipedia article is pretty good.

The site is in beta. It’s free to use for now (at least while it’s in beta). We may charge a little bit for premium features or something at some point, but we’ll cross that bridge when we come to it. There are no major bugs that we know of, but let me know (in the comments or via @jeffreymcmanus on Twitter) if you see any funnies or have any feature requests.

Colophon for nerds: I did the site in Python using Flask. This is my first official site launch using Flask (although I’ve been working on a bigger project for a while now — a rewrite of with a new learning management system). I’m finding Flask to be a very productive way to build web sites, more so than the PHP/CodeIgniter combo I’ve been using for the past few years.

Tokbox: A Platform for Adding Live Video Chat to Your Web Site

This evening TokBox launched a new platform that enables Web developers to embed live video conferencing into their Web sites. This is an incredibly exciting product and I’m sure it’s something that a lot of sites are going to take advantage of.

TokBox provides all the challenging bits to make this happen; all a web developer has to do is write a little JavaScript and you’ve got live audio/video chat in the browser with up to 20 simultaneous live participants (more people than you’d probably want to be video-chatting with at once, really) and up to thousands of audience members.

The important thing is that this is a platform, not just a canned widget, so web developers have control over how the in-browser video conference looks and behaves. This essentially enables you to integrate video conferencing anywhere Flash works.

For CodeLesson, the benefits to live chat in the browser are obvious — we’ve been working on using the new TokBox platform to embed live video chat into our online courses as an option to enable instructors to have live office hours with students online. Our hope is to have a video office hours incorporated into CodeLesson early in the new year.

To learn more you can check out their main site or their developer blog, or if you’re a coder and you’re ready to play, get started here.

My consultancy, Platform Associates, has been advising Tokbox on their transition from a consumer site to a platform for the past few months.

CodeLesson ♥ Etsy

Today we announced A Gentle Introduction to the Etsy API. This course is an important milestone for CodeLesson for two reasons:

  • It’s the first CodeLesson course produced by someone other than us. The curriculum and instructor will be provided by Etsy; we’re handling the details of getting students registered, hosting the learning software, setting up shell accounts for students, and so forth.
  • It’s our first free course. We’re able to make this course free to students thanks to the generous assistance of Chad, Justin, and the Etsy team. Thanks guys!

Today marks the transformation of CodeLesson from a somewhat functional online learning site into a mighty platform where anyone can learn and teach anything. We hope to announce more courses like this in the near future, so if you’ve got something you want to learn or teach, please let us know.

What’s Happening on CodeLesson

Our mighty mighty online learning site, CodeLesson, continues to astound and amaze us as it slowly consumes my entire career forevermore. Here’s what’s going on with the site today:

  • My PHP course is proceeding apace. We are in week six of the course and no one’s brain has exploded yet. (At the same time I’m also teaching a modified version of the course for our partner, the University of Victoria.)
  • We started our first session of Introduction to Web Publishing (our WordPress course) this week.
  • The indefatigable Zed Shaw’s Introduction to Python Programming will start on November 8. There’s still space in this course, but it’s looking like it will fill up — you can sign up for the course here.
  • We are talking to a few more interesting instructors and hope to have some new course announcements in the next week or two.
  • We added a few new courses to our catalog to see if there’s interest: Google Chrome Extensions, a PayPal course, and a few more that you can see on our newly-compacted course catalog page. If any of these courses are interest to you, click on the big orange Add Course button to let us know you’re interested. (Some of our courses don’t make it onto our schedule until there’s sufficient student interest.)
  • We are itchingly close to announcing our first free course which will be sponsored by an awesomely excellent technology company of which we will be able to hopefully disclose more information soon.
  • We are having some interesting preliminary discussions with prospective investors who are mightily impressed at the fact that we have figured out a way to get people to pay for goods and services on the Web. Yay us!

Overall I can say that I’ve been blown away to the response to what we’ve been doing, and I’ve been particularly heartened by the dozen or so people who have stepped up to teach courses, suggest new topics and otherwise refine our offering. Thanks, all you cool folks.

How Do You Solve A Problem Like Yahoo?

On his blog Jeremy Zawodny poses an open question regarding Yahoo’s malaise:
The less obvious problem is a deeper cultural issue. It’s an institutionalized lack of accountability that makes it easy to blame others (upper management, other product teams, “market forces”, and so on) for things that don’t happen.
Of course you can acquire your way to greatness; that’s the core of the success of companies like Cisco and HP. The problem is that buying successful teams/products doesn’t always work. But if that’s not working there are a couple of possible reasons why: 1) you’re not integrating the acquisition properly; 2) the acquisition wasn’t a good fit in the first place; 3) your strategy changed between the time you made the acquisition, etc., etc.
It’s also possible that if your acquisition strategy isn’t working, you’re just not doing enough of it. Cisco (to use the canonical example) snaps up an absurd number of companies each year, and that company has a culture and a process to support that efficiently.
Bad company culture isn’t nobody’s fault, and no product team within a bad culture can be successful forever. Responsibility for systemic cultural problems has to land at the feet of executive management; middle managers can’t be responsible for fixing it. (I know, I’ve tried.)
There’s an excellent term from the startup world that applies to Yahoo: “bias toward action”. There is no bias toward action at Yahoo, and there hasn’t been for years. There’s very little reward for accomplishing anything, and there are no consequences for doing nothing.
If Yahoo’s CEO, whoever that’s going to be this week, could wave a magic wand and fix one problem at the company, I’d fix that one. But that’s not the wand that Carol Bartz is waving (she’s elected to solve a problem that’s far easier, which is cutting costs).

AOL/Yahoo! Sure, Whatever.

I’m not enthusiastic about flogging this sickly horse; if you guys want to merge your businesses, you know, knock yourselves out.

Both companies should have been taken private years ago so they have some breathing room to reinvent themselves without having to worry about the innovation-killing tyranny of quarterly earnings growth. Maybe a hostile takeover of Yahoo! by AOL will be the tonic that both companies need to find a new direction.

However: Remember a few years back when Kmart bought Sears using a boatload of private equity dough? It was supposed to bring every Kmart store up to the level of value and service that Sears was known for. Instead, the takeover just sort of Kmart-ified every Sears store. I’m just saying.

Upcoming CodeLesson Courses

It’s hard to believe it’s been less than six weeks since we’ve launched CodeLesson. The response to the site has been terrific and we’re having some enlightening conversations with students, instructors and others about what they want to see from the site.

My CodeLesson PHP course is in progress, and it’s going really well. It’s a small, energetic group, more than one of whom are fellow startup CEOs, which was great to hear. We’re all about smashing the divide between the geeks and the suits.

Meanwhile, we’ve brought on a team of instructors to teach some more courses, a few of which are on our course schedule now:

  • Introduction to Programming in Python will start November 8 and will be taught by the most excellent Zed Shaw.
  • Introduction to Web Publishing is our introductory WordPress course. If you’ve ever wanted to run your own Web site but weren’t sure where to get started, this course is for you. This course doesn’t involve coding, but it does cover how to set up, configure, and manage WordPress from beginning to end. The course also covers new features of the recently-released WordPress 3.0. I’ll be teaching this course, which will start on October 18.
  • Developing WordPress Themes was just announced last week; this is a more advanced WordPress course that will show you how to use your HTML and CSS skills to create custom WordPress front-ends. The instructor for this course will be Cheryl Chung.
  • We hope to run a session on The Ruby Programming Language in November. We should be able to announce the instructor in the next week or so, but the guy we’re talking to has written a few books on Ruby and is basically drenched in awesome sauce.

We have a few more courses lined up (JavaScript and jQuery are biggies with me), and we’re also taking suggestions for new courses. Which courses would you like to see taught on CodeLesson? Let us know.

Also, we’re starting to get requests from businesses who want use CodeLesson to teach courses on their technology products. We’re calling this “CodeLesson for Your Business”;  we should have some announcements with specifics about how this will work around the holidays. For now, if you have a technology product that you want to provide training for, let me know in the comments and let’s talk.

Updated Virtual Hosting Buyer’s Guide

I updated the virtual hosting buyer’s guide that I’ve been maintaining for a while now; I also gave it its own permalink so I wouldn’t have to keep looking at old posts on this blog to figure out where the data resided. It now lives at

Today’s big news is Amazon’s announcement of EC2 Micro instances, which for the first time gives them price leadership at the very important (to us) low end of the product line. Being able to spin up a server for $14.40 a month is going to be very useful; I’m thinking that instead of provisioning student accounts for certain types of CodeLesson courses, we will just provision student servers, one per student, and let everybody abuse their own instance.

It’s also terrific that you can get a Windows server at this size too (for an extra $0.01 an hour or $23.10 a month). Since we unfortunately still have some Windows hosting requirements it’s likely we’ll be using this at some point this year.

Our New Product: CodeLesson

CodeLesson LogoJust realized I haven’t made mention of our new product CodeLesson here yet (if you’re a Twitter or Facebook follower this will probably be old hat to you). CodeLesson is a place to take instructor-led online training courses. We’re doing technology courses today ’cause that’s mostly what we know, but later on we’ll be doing other types of courses and open up what we’re doing to anyone who wants to teach.

My wonderful wife Carole (who has a Master’s in education) is advising us, and our partner for this project is the indefatigable Ernie Hsiung, late of Yahoo and Ning, who has been working with us on some consulting projects in the last few months and is a really splendid chap.

We have several courses outlined on the site right now, two of which are taking place soon:

Web Programming with PHP (starts September 7). This is a very gentle introduction to Web programming for anyone with a good handle on HTML and CSS. It’s a twelve-week course which will be taught by me. The curriculum was also developed by me in cooperation with the University of Victoria (I’ve been teaching for them for a year now).

Introduction to Web Publishing with WordPress (starts September 20). This class is short (five weeks) and not super technical (no programming). The objective is to help you run your own Web site using the free, open-source WordPress content system. You start with a clean Web server and get all the information you need to set up, configure, work with and customize WordPress.

Online learning is a big deal in the US right now; with the University of California’s move to establish an all-online bachelor’s degree program, it’s safe to say that online learning is approaching a tipping point. But universities and private trade schools have a number of institutional barriers to producing consistently good online courses: they’re constrained by the calendar (they can’t vary the duration of a course because they’re on a semester/quarter schedule), they only teach what their professors happen to know, they innovate at the sluggish pace of a university bureaucracy, there’s a bias toward courses that will support the notion of an expensive campus and against courses that are practical and current, there’s no incentive or infrastructure for instructors to share course content, and a lot of departments and instructors just aren’t attuned to giving their curricula online (many of them actually perceive online learning as a threat). CodeLesson aims to fix those and many other problems by providing a net-native learning experience and eventually opening the experience up to anyone with the desire to teach and learn.

Are there online courses you’d like to take that we haven’t thought of yet? Do you have any questions about the format or content of an online course? Let me know in the comments!

In Which I Do Various Interesting Things with Various Fine Universities

In the last six months I’ve been doing a few things with a number of universities:

  • I’ve been teaching a web design and management course for University of Victoria.
  • I just started teaching a similar course on web development for Minneapolis College of Art and Design. Both of the classes I’m teaching are online which makes the commute much easier.
  • I served as the judge for General Website Excellence as part of the 2010 California College Media Association awards. (The CCMA is an organization of college journalism programs.) Reviewing the two dozen or so sites, I noticed some interesting trends; I plan to blog in more detail about this after the awards are given out in April.
  • I’m working with Loyola Marymount University’s student media department on an upcoming overhaul of their Web site. This project just kicked off and I’ll probably do some blogging about it after the project is completed in a few months.

It has been neat to get back into teaching. I did a bunch of it early in my career, and I still give talks at tech conferences a few times each year, but I feel like it’s important to stay connected to the way that new learners approach the Web, and to see how they react to things that are outside of their comfort zones. I did an overhaul of the UVic web curriculum back in December, adding material about current Web development design practices (things like semantic markup, “Web 2.0”, frameworks, even a little HTML5).