Some things I've learned in the past few days while living with a teacher about to deploy SoaS:

Sugar is like the Wii.
Lynne May had asked what Sugar was, in the "is it a program? is it a browser? is it the same sort of thing as Windows?" context, and I was scrawling on the whiteboard trying to explain the concept of a software stack without much success. Suddenly, she cried out: "It's a platform! It's like the Wii!"

Which actually made sense, after I thought about it a little. A modern console lets you manage settings and data (even an avatar) that apply across all your games; you have a selection of games made to run on that platform (but which may also run on other platforms as well). You can get new games and swap them with your friends, who may have a different selection than you do according to their interests. It's an analogy I never would have thought of myself.

Teachers are massively parallel. They have a zillion things to proxy all at once, with crazy schedule constraints, a large number of diverse constituents, frequent interruptions... a far cry from the extended periods of focus that developers (occasionally) enjoy. At any given time, two kids might start an argument while a third has trouble reading and a fourth is bored while a fifth's parent calls and the principal stops by - and that's light. You need to think about the privacy concerns the parents are going to have. You have to think ahead to how you're going to describe to your principal how you're going to describe to the parents of your students how you're going to describe the deployment to your students before you can think about releasing a description of the deployment to anyone else, which means even initial proposal drafts take a while to be posted.

And somewhere in all this, you're supposed to find uninterrupted time to immerse yourself in a new culture with different communication norms and tools and learn an unfamiliar platform while being met with baffling amounts of silence and criticism (news flash: returning silence upon success and error messages upon failure doesn't work for people, they need confirmation of success and possibly some praise when relevant).

I shouldn't have a hard time understanding this - I've taught before, run classrooms before, been responsible for the curricular experience of groups of kids before... and yet it is hard for me, sometimes. The hacker portion of my brain wants to shoot first, ask questions later, assumes I'll get a second shot if I mess up. Not so - if I mess up, I can roll back the wiki page; if a teacher messes up, that's someone's future that's been changed.

And so even the simple step of creating a blog and sending its feed URL to the planetmaster, even under the fortuitous circumstance of already knowing how to blog and how to get around a particular software platform (Wordpress, in this case) - even that becomes a 2-day exercise in "before I set this up, we need to think about how the kids will post, and how we will inform the parents, and what happens with comment moderation, and when in the weekly schedule do we fit this in, and..." there are a lot of dependencies, and it's hard to unthread.

Open source communities are pretty awe-inspiring. This is something that I love to rediscover through the eyes of each new person that encounters open source - for me, getting random emails and comments on a project I'm working on from folks I may have never met before is par for the course, but to someone who's not used to it, it's more like: "Whoa, three people emailed in response to your post? Who are they? Why... why are they being so nice? Wow! How do I even respond to this? Um. Thank you! Thank you!"

This post is very much written through the lens of a young engineering-oriented mind. I am sure I've gotten much of this wrong, and look forward to subsequent corrections. ;-)