Behind the scenes at Brightstar

August 12, 2008 – 12:48 pm by mchua

This is a long overdue post - we visited Brightstar at the very start of the summer. Here’s a behind-the-scenes look at how XOs get from the factory to the G1G1 end-user - a process that’s far more complex than I’d ever thought.

Entering the warehouse

We went to the warehouse of Brightstar, the supply-chain fulfillment company that’s been working closely with OLPC since the first G1G1. This involved rising groggily from a sleeping bag on Tank’s floor at 5:30am and staggering downstairs to the van where an unexplainably chipper Adam Holt (how does he look so happy on so little sleep?) was waiting for the drive to Libertyville.

Christine Myrick met us at the front door. Wearing closed-toed shoes and sans personal electronics, we were given visitor badges and shown into the main warehouse, which, if you haven’t been to a warehouse before, is a cavernous multi-storied open indoor SPACE. It’s a large box with a roof on it. Huge fans vented the area to prevent it from becoming an oven (this is apparently the first summer they’ve had fans, and the temperature has much improved). Boomboxes duct-taped to support pillars blasted music in languages I was fairly certain I didn’t understand.

Getting to work on RMA’d machines

Our “job” for the day: RMAs. Any support-gang member can tell you about RMAs (Return Merchandise Authorizations), which is what happens when a user calls up OLPC Donor Services and says “My XO is broken,” and Donor Services says “Okay, we’ll send you a new one; first send your broken one to this address.” We were at that address, facing the motley stack of boxes that had piled up at our door. There were original XO boxes in various stages of rumpled-patched-up-ness, FedEx boxes, boxes that used to house other products now stuffed with newspaper and foam and whatever the returning user could pad them with.

Our mission was to work this line to diagnose and triage the XOs; stations of chargers and batteries were laid up and down a row, and we ran back and forth with USB sticks booting, diagnosing, reflashing, and sorting them. (Next to us was a line of workers doing exactly the same thing, only about 10 times faster.) Some of the XOs had obvious issues like broken screens and ripped up keyboards. Some had clock errors that we set aside to unbrick later. We piled the broken ones up in a physical histogram to see what the problems were (mostly keyboards and screens). Most of the returned laptops, however, were NTF (No Trouble Found) when reflashed, leaving us scratching our heads at what the issues might have been.

At the end of the afternoon there were several pallets stacked with laptops that had been processed back in. Most of these would find their way out to repair centers and volunteers to be used for development and spare parts. After lunch, they showed us around the part of the warehouse where (a much larger volume of) XOs get shipped out.

How laptops get sent out

A good portion of the warehouse was taken up by shelves and rows and multi-story-ceiling-high stacks that forklifts roamed between like mechanical giraffes, putting up and taking down stacks of cardboard boxes shrink-wrapped to their wooden pallets. Conveyor belts ran past rows of pickers who grabbed parts from an array of bins behind them and stuffed them into the boxes ambling by. After the humans had done their work, the boxes accelerated into a shipping area at the back where they went fairly whipping past scanning beams, over a scale, and got slapped by a robotic arm with a shipping label (calculated precisely for that object’s size and weight) before shooting into a waiting truck. It was like watching giants do an exquisitely choreographed dance en pointe.

That’s how XOs get shipped out to individuals: they arrive in pallets from Quanta’s factories in Taiwan and China, get pulled individually from Brightstar’s shelves when instructions to ship come in, and whizz over conveyor belts into FedEx trucks.

It sounds simple, but then think about coordinating thousands and thousands of these pouring in - what XOs do we have in stock where, and when are more arriving? What truck does this box go in? That one? How do we change shifts of workers without interrupting the flow of XOs shipping or dropping boxes and data mid-stream? - and then considering that they need to do this simultaneously with other customers’ products so that streams of boxes of XOs and cellphones and chargers are weaving back and forth across the floor getting programmed and packaged and recorded and shipped - it’s a tough job, and I admire and respect the folks who can deal with that kind of incessant complexity on a daily basis.

Blag!Full of blaginess!

August 9, 2008 – 3:04 pm by mimi-mkim

Melanie:
So this is our last blog for the summer. Mia and I are going back to our own corners of the US tomorrow. Mel wanted the two of us to blog about our projects, so I guess that’s what we’re gonna do.

Updates on  Larry: The version that works in interpreter has improved a lot. You no longer have to type in the answer exactly as it is written in the vocabulary list. Instead, it has become more of a multiple-choice game. Not exactly my goal for this summer, but I learned a lot of new stuff. There also now is a graphical version that doesn’t actually do anything, but it recognises when you click on text, which is good for now. In the background there is a blue pig. This pig is Larry. Someone had the idea of making Larry smile or frown depending on whether or not the user got the question right or wrong. This would make it easier for non-reading users to determine whether or not they got the question right. Code: Here
There is some controversy about the name Larry, though. Apparently, since Larry isn’t a verb, people think that there should be a different name, preferably a verb. That is a good point…Larry isn’t very descriptive. However, I have been trying to think of different names that relate to the game and haven’t been very successful. Anyone have any good names? I could use some.
Mia:

Here is a quick overview of my two projects:

1.Projectdb

I have written a set of instructions for projectdb. Projectdb is a program where people send in applications to get xos for their projects. I wrote instructions for community groups that will help them decide whether the applicants get the xos for their projects or whether they should not. I have sent the instructions to the devel mailing list and had one person test it.

2.Offsetting Carbon Curriculum

I am currently working on writing curriculum that will focus on teaching kids how to offset their carbon footprint. Check out this site, http://www.carbonrally.com its awesome. I have not gotten much done on this project except for finish a presentation that is suppose to go with the curriculum and taken notes on curriculum.

Sorry for the random side note: GIMP and Photoshop CS3 is awesome!!

Mia

MSI Workshop

August 6, 2008 – 7:59 am by ccarrick

We held a workshop last Thursday at the Museum of Science and Industry in Chicago where we had about 25 elementary school kids from a summer camp use XOs to supplement their morning activity. The kids were asked to build their own roller coaster using pipe insulation, marbles, cups, tape and other various supplies. While they were working in teams, we had them document their coaster using the XO in write and put together a small presentation of their design to sell it to the class using the record activity. This was a nice exercise into ways that the XO can supplement existing curriculum in a full sized classroom. The XOs were a huge success with the kids and we ended up with several amusing commercials selling one or more roller coaster designs and some great descriptions of the coasters. We also came across a few issues with using the XO that hindered the class somewhat during their morning activity.

*Several kids wanted to record their own music to videos they had created, but there’s no way to transfer beats from Tam-Tam in videos they had produced in record.

*There was a lot of difficulty with kids trying the find the home screen on the XO and many kids couldn’t figure out how to get out of an activity to switch to another one.

*Many kids didn’t realize that you had to press play and stop to record a video, resulting in having to refilm their videos.

*There was some difficulty getting desired objects in view using the camera, particularly when trying to film their roller coaster designs. Low frame rates also prevented kids from capturing movement on the coasters.

*Many kids had difficulty saving and retrieving files. When files were saved, they often didn’t know how they could retrieve the file in journal.

*There was lots of downtime in the class from using the XO to capture and present information. The XO has lots of potential as a presentation tool, but it currently is very inefficient, especially since it’s hard to capture the information they want in the first place. On a positive note, things are more easily preserved.

*Maintaining class focus was also an issue as for this session the kids were more interested in the XOs than the authority figure.

These note were taken with a group of first world kids who only spent about 2 hrs total using the XO while also working on another activity so they are by no means indicative of what will likely happen in a classroom. Having more time to learn to use various activities on the XO could help with many of the issues described above. In this setting, the XO is a wonderful tool for preserving and presenting information, but it is currently inefficient at doing this in this classroom setting.

Exploded XO v.2.0

August 4, 2008 – 8:21 pm by mchua

Remember the exploded XO prototype for repair centers Nikki and Tank made and the subsequent CAD design Chris came up with? It’s real.

The Museum of Science and Industry has a FabLab in the midst of its exhibits, and they were kind enough to let us use their laser cutter today. (Note: the pictures aren’t great - cameraphone + transparent acrylic + shop lighting != prettiness.)

So how does it work? Not badly, actually - the keyboard is too far away from the motherboard, the screw-holding holes are of dubious utility, and the antennae holders Just Don’t Work (more on this later), but on the whole it’s a fairly pleasant process to view and manipulate pieces in the stand. Unlike the cardboard prototype, the acrylic version was stable enough to be moved, meaning you could rotate the stand, pick it up, move it to a different table, etc. without making heart-stopping dives for falling cardboard pieces.

I was pleasantly surprised at how much easier it was to see and access all the parts. This sounds blatantly obvious, but the shift is something like adding a second monitor to your desktop; “more screen real estate” isn’t a hard concept to grasp, but the extra pixels and room to shuffle information around does shift the way - and speed - at which you work with your computer a noticeable amount.

I’m looking forward to doing demos with this on the innards of the XO (inasmuch as I understand them, anyhow); you can flip between components with fantastic ease instead of going “and this is the screen… the screen is controlled by… uh… hang on… *5 minutes of unscrewing* …by this - wait, what component was I looking for again?” I’d also love to have a bunch of exploded XO setups for a hardware testbed once the design goes through a few more iterations, though I’m not sure yet what one would scope out with such a testbed yet.

It’s not perfect, by the way. Some things to improve for the second round:

  • Make the laser cutter cut things to scale. Setup takes orders of magnitude longer than execution on the laser cutter, and sometimes there are glitches, like the “this piece turned out 80% of the size it was supposed to be” bug. The pieces still fit, actually - the proportions were just a little… wonky.
  • Thicker acrylic. What you don’t see in the pictures are the pieces of tape holding the frame together in the spots where it cracked while we were press-fitting the parts together. We used 1/8″ acrylic; we should have used 1/4″.
  • Redesign the screw holders or lose them entirely (to save on materials). You can see the cup-holder attachment in the photo (holding a paper cone for screws) - there are also holes in the acrylic at the diameter of the XO’s various screws. One idea was to use the screwholes as a pedagogic aid - have groups of holes laid out across the “wings” of the stand labeled things like “screen” or “heat spreader” so you’d know how many screws to take out for each part, and where to put them, and where to find them to put them back in again.
  • Redesign the rabbit ear antennae holder. The current attachment point for antennae is at their circular hinges, but the stand is thin and weak at that point; if you’re overeager in snapping the antennae in, the acrylic clip will break. Even if they don’t, the antennae droop over the motherboard and somewhat obscure it (see picture below). In the next prototype, we’re going to nestle them in horizontal holders above the motherboard instead.

Recap of a busy week

August 1, 2008 – 10:23 am by nlee

Whew, it’s been quite the week. This is the first day I’ve actually been in the office all week, due to a variety of planned and unplanned events.

Monday
On Monday we headed out to MVCC for our workshop. We unpacked, debriefed, and headed home.

Tuesday
Tuesday we had our Game Jam at Google - a late day that we mostly spent jamming.

Wednesday
On Wednesday the office decided to take a well-earned break and hit the Museum of Science and Industry for a day. We did see a few exhibits, but the majority of our time there ended up being work related. First, we chatted with some guides at the Smart Home special exhibit about the XO and potentially doing some demos at the museum. Then we swung by the MSI’s FabLab, explaining that we were friends of FabLab Iceland (this is actually tangentially related to our volunteering with OLPC). Once in we pulled out our XOs and were received with a great deal of enthusiasm, and within an hour we had set up a workshop for the next day, a visit to the FabLab for next week, and had several potential sessions in the works.

Thursday
On Thursday we arrived at the Museum bright and early to demonstrate the XO to a group of 6-8 year old science campers. Since they already had a lesson planned, we simply incorporated the XO into their activity, showing them how they could use the integrated webcam and Activities like Write for their projects.

Partway through our session at the MSI Mel and  I left for Evanston. There we met up with Hans, a local volunteer, and met with librarians at the Evanston library. We showed them the XO and discussed ways that we could incorporate the little green machines into their infrastructure. Right now we’re looking at a wide variety of options, ranging from using the XOs in literacy outreach deployments to setting up an XO lab in the Children’s section of the library. The librarians couldn’t promise us anything, but everyone was excited and we are setting up a test run workshop to guage community involvement and interest.  This looks like it could really take off and become a great “home base” for local volunteers and developers, as well as bringing some new blood to the project.

Friday
Well, that’s today, and we are actually in the office! Everyone is winding down from the week. We are getting reacquainted with our projects, continuing Game Jam planning, and tying up loose ends from the week.

Teacher Jam Concluding Thoughts

July 31, 2008 – 2:08 pm by Tank

Teacher Jam took place Tuesday night, graciously hosted by Google Chicago. (We’ve been busy in the meantime, so here’s hoping I don’t miss any important points)

Unfortunately (I’ll take fault for this one), we didn’t actually get any formal school teachers to attend. Thus, the event turned out to be a bit of a misnomer, which I feel rather apologetic for. I suppose they are just as glad to take their summer vacations as their students.

Nonetheless, we were able to get some good discussion going! We played around with Produce Puzzle and some other existing educational activities to see what things they did well and what aspects we could improve on.

The general consensus was that there’s not too much by way of early math education on the XO, and it’d be kind of cool if the visual manipulatives (for example, looking at a set of object and dividing them into equal portion) kids use in school to learn math were available as some activity. However, since that really isn’t something too, too, compelling, we continued to brainstorm, branching out into language arts.

Two major ideas came out of the evening:
1) A more comprehensive graphing program. Nikki imagined a drag-and-drop kind of interface for bar graphs, standard cartesian points, and scatter plots. This could potentially be expanded into a connect-the-dots kind of activity to teach the coordinate system.

2) “Tell Me A Story” — Sarah Ziegler expressed the desire for kids to create a more book-like product (kind of like the half-lined, half-blank paper elementary students are often given to illustrate their stories as they go along).

Thus, this would include a space to type and draw (sure, Write lets you put images in, too) — but we wanted to preserve more of the book-like feel by preserving a sense of page turns. Kids would be able to reorder their stories as needed by shifting pages around. Furthermore, we thought it’d be awesome if this interface included a playback system (either computer-read like Speak), or read by the student. Karen Smith sketched out potential interfaces for this, which we’ll put up in the near future.

This idea was built off a sentence-constructor concept — running concurrently, Bob Myers was pulling out some ideas for a Magnetic Poetry kind of activity- a brief writeup can be found here.

In the meantime, Hans helped Mia get started in learning Python. Hm, maybe by next week she’ll be all set to write something of her own at Game Jam? :)

Notes from the event are posted on the wiki.
We’d love to see as much of this come to life as possible! If you’re interested in working on any one of these, please contact us, or, if you’re in the area next weekend, do make it out to Game Jam!

Workshop at MVCC

July 28, 2008 – 3:43 pm by Tank

Today, Nikki and I went out to the Moraine Valley Education Center at Blue Island to run a small workshop — more or less an intro to the XO with a focus on Record.

It was a pretty replicable model. I made the mistake of giving kids XO first, and then trying to talk, but Nikki stepped in (very well, I might add!) and pulled the kids up front for a nice idea brainstorming session.

We had the kids generate ideas for pictures (landscapes, Sears Tower, etc), videos (prairie dogs, South Carolina), and audio. We had kids think about what they might be able to record that other kids in other parts of the world might not know about. The resulting brainstorm looked something like this:

  • Fire Extinguishers
  • The pledge of allegiance
  • Flags
  • Songs
  • How tos
  • Spaghetti

I’m sure I’m leaving out a few — in any case, we set the kids to work in small groups (and were surprisingly on topic). Short videos were, in fact, made, of the first three on that list above, while some others recorded themselves making silly faces. (Always good fun!)

It’s hard to figure out how to strike the balance between self-directed work and a more traditional classroom structure with these kind of get-togethers. On one hand, we’re trying to keep things in the constructionist spirit. However, we also have to find some way of keeping a group of 12-15 kids focused. I’ll see if I can get permission to put up a video or two. I think the kind of guided activity we had today worked reasonably well, though it would certainly be aided by having more documentary-esque fodder available to work with. (Potentially, some sort of family/oral history kind of thing?)

I’ll see if I can get permission to put up a video or two.

All hectic on the central front

July 25, 2008 – 12:25 pm by mchua

The last few days have been a flurry of activity at the office.

The building of the bike generator

On Tuesday morning, Chris and I dropped off everyone else at the office, drove to the south side of the city, and threaded our way through stacks of car parts into the junkyard’s trailer-office (festooned with large blue and red signs labeling every conceivable item in the shop), where we picked up a small car alternator. Later that day (after several more hours of driving) we also got an old bike trainer and a belt to fit the alternator. I drove in with the parts at the same time Chris was walking into the house from a phone call; one thing led to another, and we ended up hunched over in the driveway that night wielding wrenches by the blinding glow of my van’s headlights.

After more hacking in the driveway and trips to the hardware store, we have a generator. It’s very simple, consisting of a folding bike with its rear wheel propped up in the stand from a bike trainer. (The folding bike was chosen because its wheel has a small rim that accomodated the 70″ alternator belt nicely. We’re looking for longer belts so we can fit a standard in more easily, but 72″ is apparently the largest readily available one in the area.) The bike’s rear wheel has been stripped of its tire and tube, and the belt rides in the rim of the tire and goes back to drive the generator. Everything is bolted down to a large sheet of plywood, and the tension in the belt can be adjusted by changing the number of bricks you use to prop up the front end of the plywood sheet.

It’s clunky and needs plenty of refinement, but you can hop on the bike and pedal and this does indeed generate electricity, so we’re psyched. Videos and output stats coming when Chris gets back early next week.

The teaching of the music

On Wednesday night, Tank ran a small workshop on music with TamTam with some visiting students who had come by the office. I’ll let her write about this later, because I had my hands full with testng at the time, which brings me to…

The testing of the build

Wednesday evening was also a testing marathon, with Bob and Harry Myers (special thanks to Bob for setting up our school server, and bringing the CD drive that we were missing!) and Ben Rothman coming out to help us set up 4 mesh testbeds (different mesh networks + an AP) of 5 laptops each. We mainly concentrated on reliably reproducing and logging the flickery-mesh bug (test results will be posted to that ticket when I’ve finished collecting them), and were able to capture some nice instances of mesh instability. We weren’t able to test networking with the school server this round, but will be doing that this coming Wednesday.

Other projects

Melanie’s released the first working version of Larry, a language-learning program that I’m currently using to pick up some Spanish vocabulary. This is her first software development project, so it’s still very simple, but she’s in the process of putting on a Pygame GUI and growing it into an implementation of the TinyLanguage idea.

Mia is working through all the comments she’s gotten on the rough power generation table, which needs plenty of revision and fine-tuning; she’s working out test setups we might be able to run to get more accurate numbers for things like charge efficiency of the XO’s batteries.

Nikki is having fun with microcontrollers, and Tank continues with preparation for the Teacher Jam at Google this coming Tuesday, where we’ll be exploring how the XO can be used to fulfill government-specified  curriculum objectives - join us if you can!

Accessibility

July 24, 2008 – 12:08 pm by nlee

We don’t talk about it nearly as much, but we really are working on expanding accessibility for the XO. Mel can speak about this more than me, as she’s taking point on it, but I’ve also been helping out. We’ve been focusing on determining how different disabilities affect a child’s ability to use the XO, and how many workarounds already exist for kids.

Recently Mel and I have been working on mocking up a chording keyboard so that we can test it out with some volunteers to see how hard it is to chord [versus typing].  This has mostly led to simple prototypes with some LEDs and momentary on pushbuttons, but we’ve ordered enough parts to make a more functional prototype that will read as a proper USB peripheral. More updates (and pictures!) once parts come in and we can truly start hacking.

Bicycle Generator Construction

July 22, 2008 – 12:44 pm by mchua

Mel and I picked up an old imported alternator from a scrapyard and bought a v belt for the bicycle generator this morning. Our first iteration of the generator will involve a v belt connected to the rear wheel of an old mountain bike that’s used to power a small alternator attached to a plywood base behind the bike. Since we are without welding tools, a bicycle trainer stand will act as our support for the bicycle, but we’ll be working on various ways to fabricate a suitable bike stand using common building materials. We’ll have pictures up as soon as we get a prototype built.