Category Archives: software

Software

Mission accomplished?

When I teach IT strategy, one of the first things I emphasize on, is that the mission is a more abstract, long term concept, and anything that changes the mission with changes to the market, competitors, collaborators, and other forces is probably not the mission to begin with. The mission is supposed to be like a lighthouse, guiding the ship through troubled waters and fog. Imagine your lighthouse changing coordinates every time the seas got rough! Your mission needs to be stable, so that you can hope to achieve it! If your “mission” changes that often, it ain’t mission; it’s just operational fidgeting. You’d be surprised how often organizations have trouble getting the operational mixed up with the strategic. Don’t believe me? Check out what Prof. Michael Porter has to say!

I use a simple tool in my class to describe driving towards a strategic goal, and how one can get derailed. The Mission and Core Competencies (MCC) matrix was published in the mid-nineties. It’s a comparison between the mission and core competencies of an organization. For simplicity’s sake, the author has divided the “mission” and “core competencies” scales into poor and good. This results in a 2×2 matrix, giving us four possible places we can be. We should be in a drive position, where the fit with both mission and core competencies is good. However, that’s not always the case. The organization can be in a drain, dilution, or distraction quadrant. While MCC was created as a tool for strategic management in organizations, it’s also a good approach for making decisions about everyday situations.

Mission and Core Competencies Matrix

Mission and Core Competencies Matrix

For instance, if the project at hand is a good fit with the mission, but we lack the competencies to get the job done, it becomes a dilution. In such a case, we usually hire new talent to improve competencies (long-term), or we outsource to an external agency. Working with open source software gives outsourcing a whole new meaning. Think about how much of the work at OLPC is “outsourced” (in a sense) to Sugarlabs, where volunteers build, test, debug and produce software for all the XO laptops worldwide. It’s a fascinating mechanism, but more on that some other time.

Of course, nobody wants to be in the drain quadrant. It’s a whole lot of fiddling and fidgeting, usually fuelled by hubris and/or groupthink. Once again, open source plays interesting angles here. Because open source encourages tinkering, (scratch an itch), getting focus can be hard, and hobbyist tinkering can do more harm than good, especially for getting the project out of the drain box. The early stages of XSCE comes to mind, when I think of this quadrant. Things have gotten much better, but we aren’t drive‘ing yet.

If the competencies are there, but it does not fulfil the mission, many organizations will take on the project to earn revenue (with a promise/commitment of doing so short term, until things get better), and then they slide down to modifying their mission to make it all fit. The dreaded distraction quadrant! This works short-term, but the trouble with this approach is that you end up solving the wrong problem. Lowering the bar (or raising it, if you are into limbo) makes it easier to “succeed”, but you may end up cheering the wrong kind of success.

Perhaps it’s simpler to think of it as a tale my grandmother used to tell us (aka streetlight effect). In short:

Once upon a time, a man got home late at night, and lost his keys while trying to open the door. It was quite dark there. So, he went searching for the keys by the lamp post. When asked why, he said “I know I lost my keys by the door, but the light is better here.”

For us, in the Bhagmalpur project, the mission is for the children to learn. The ways are via critical thinking and problem-solving, hence the focus on Sugar.  The computers double up as information delivery channels, hence our focus on offline servers and Internet access. That’s a plus, but it’s more of a consequence. If the critical thinking and problem solving parts go well, the community will be better at using the newly-acquired information to make better, informed decisions. Thus far, Sugar and XO laptops have been the most viable for us. Therefore, that’s the way forward. We are not really grounded/concerned directly about cheap tablets or Android, or next newfangled thingamajig, or even about “what Santa may bring for Christmas”. What we are concerned with, is that the upcoming generation learn to solve their problems locally and thrive.

Searching for these keys in the dark is going to be very difficult, but unless we get the correct set of keys, we can’t really open the door!

Onward and upward into 2014.

49

2 Comments

Filed under children, education, general, outreach, software

Jugaad. The Indian way.

Jugaad (जुगाड़) is the Hindi word for figuring things out. It’s been the Indian way for a long time now. Lack of resources push people to figure things out. I remember, when I was in high school, I used to ride three different buses for over two hours, so I could go to an electronics repair shop and get my hands on a broken motor.  All for the love of science experiments, of course, unsanctioned by my parents! Now, I live a short walk from Radio Shack, but it’s not the same. Hack, make, fix. It’s all jugaad.

I just got off the phone with folks in Bhagmalpur, and they were all beaming. The kids had figured out something. While visiting Bhagmalpur in January, I had copied a whole bunch of music for them. Some of these were in MP3 format. I know the XO is not geared to play MP3 out of the box, but I had little time, and I figured they’d skip it and move on to the Ogg ones. Guess what? They sure did play the Ogg files, but for the MP3 ones, they got a microSD card reader, copied the files onto the microSD card, moved the microSD card to someone’s mobile phone, and got to play it there! Did I teach them about copying files? No. Did I show them how to copy files from the Journal to an external card? No. They figured it out on their own!

Next, they’ve gotten onto Facebook, but the XO-1 is slow to load, and Facebook can make the network connection slow. They spotted on some visitor’s mobile phone that if you tack on a “m.” in front of facebook.com it loads faster. Now, everyone is browsing Facebook using the m.facebook.com address!

Give the kids an inch, and they’ll take a mile. I hope they go far! Welcome to the new jugaad. Same as the old jugaad, only better 🙂

m dot

3 Comments

Filed under children, music, network, software

Hello world! from Bhagmalpur… part-2

Following on from the first visit to Bhagmalpur, a second round of software development, bugfixes and finally deployment took place in the ensuing three weeks or so. There were some lessons we had learned watching the server in action:

  • Power is a huge issue. A server needs to come across as a reliable ‘always-on’ kind of appliance, and the situation in the village was not helping on this. While there are efforts to install solar panels to provide uninterrupted power, I took a UPS containing two 7.2 AH batteries, enough to supply continuous power for 12-14 hrs on average.
  • Since the server (xo-1.75 laptop) was not installed in a readily accessible place, as would normally be the case, it was important it would turn itself on as soon as AC power was supplied. Thanks to Richard Smith for helping get around this.
  • The server shouldn’t go into suspend when the laptop’s lid is closed. A simple setting change sufficed.
  • If for any reason, some of the services being hosted by the server go down, they should be brought back up automatically. For this we experimented with a tool called monit, which proved itself to be quite useful. Monit can be smartly configured to restart many types of services.
  • The service that converts the collected statistical data into usable information needs to run on the server itself, so we don’t have to transfer large amounts of data to do a proper analysis.
  • A reliable method of updating and installing new server software. Since doing a vanilla install while present in the village was a cumbersome task, we had to come up with a mechanism to install all these updates/fixes in a robust, fast and repeatable manner. We used a tool called ansible to carry this out. (Hint: you will hear a lot more about ansible in future XSCE releases).

This slideshow requires JavaScript.

We also installed power backup to a second ubiquity picostation working in repeater mode to increase the available server uptime. The picostation consumes about 5W, so a single 7.2AH battery provides decent backup. In the evening while we were testing the range of both the AP’s, unknown to us, a bunch of kids gathered on the rooftop of Dr. Verma’s house, and started collaborating through various sugar activities and the internet.

Earlier during the day, some kids brought in a broken screen, and asked me to replace it. However, being the constructionist project that OLPC is (and the lazy person that I am), I told them to figure it out on their own. One of the kids already knew how to fix the screen, so he taught the other kid all by himself to remove the battery, unscrew the relevant parts, gently remove the display and it’s cables, plug in the new one, screw everything back in and voila! Instant joy. Just for the fun of it, a few more kids got into this hardware debugging exercise.

One byproduct of constructivism, which is often ignored is the inculcation of qualities like grit, determination and confidence, which Paul Tough has explored at some length. Having been to the village 3 weeks ago, and a year ago, I could see the change in the way the kids went about themselves and around the laptops. We will only be able to see the true effect of such changes in learning methods a few years down the line, however, we hope to carry out research analyzing the data we collect. (and discussed at length in a soon-to-be-published blog post :-)).

At night, I took a few moments to pause and reflect on a job well done, and the part everyone played to perfection. Sameer, with an accurate assessment of what was needed, and his expert insights; Santi, Nitika for handling the technology side of things, the XSCE community for providing us with a stable base, Upendra and Tripti-ji without whose everyday effort, the deployment wouldn’t even exist, the parents, who encourage their little ones to learn “the computer” even if they don’t themselves understand it’s implications and finally; the never-ending passion and curiosity of the children of Bhagmalpur. To me, the true power of democratized, community driven efforts made itself as conspicuous as the brilliant shimmering stars in the sky that night!

The Milky Way galaxy (or akash-ganga/आकाशगंगा) visible from the crystal clear night skies of Bhagmalpur

The Milky Way galaxy (or akash-ganga/आकाशगंगा) visible from the crystal clear night skies of Bhagmalpur

The following morning, I had to get up early and leave for the airport, since I was unable to find a train reservation on the way back. The newly spruced up airport named after Shri Lal Bahadur Shastri  at Varanasi was a 2.5 hour bus ride away from the nearby town of Shahganj (which is also the nearest railhead to Bhagmalpur). It was interesting to note that there was no functional WiFi internet at a national airport, while we had quietly empowered the kids in a remote village unknown to the rest of the world. Saludos, Anish

6 Comments

Filed under books, children, education, hardware, network, school, software, tech

Hello world! from Bhagmalpur… part-1

This is a long long overdue post about the trip made by Kartik Perisetla and your’s truly to Bhagmalpur in an effort to install a new school server in the village.

To give you a background, the XSCE or the School Server Community Edition project has been gathering momentum over the past few months, and it has gotten to a point where pilots in remote places are conceivable. So, as a part of my summer internship, Dr. Verma graciously agreed to let us do a pilot of the server in the village (heck, I’d still have gone there if it wasn’t part of the internship).

Anyway, I roped in Kartik, who has been very interested to contribute to OLPC efforts in India, and both of us decided to head to the village around the last week of May (yes, that’s how long overdue this post it :-P). This plan took shape just before one of the periodic XSCE community sprints (this one was held at Adam’s parents’ home outside of Toronto). Working with Santiago Collazo (aklis) and Nitika Mangal from Activity Central we setup a roadmap for developing and testing the server before the actual trip to the village happened. We based our platform on the under-development 0.3 version of the XSCE and went about making sure that everything worked well out of the box and reliably so. After many conversations with Dr. Verma, we created an identical testing setup to the one which was in the Village.

May 22 came, and it was time to make it all happen in the real world. After surviving the Indian Railway’s ticket booking website and the actual train-journey itself, we made it to the village the following morning. Dr. Upendra Verma (Sameer’s uncle) was there to receive us and their son Utkarsh (traveling from Banaras). We knew the weather was going to be hot, but it was quite a bit more humid than we had expected. To top it off, there was no power in a major part of the village (including Upendra-ji’s house) for the last month or so, because a local transformer had burnt out and Indian bureaucracy was taking it’s usual ‘forever’ to fix it. Thankfully, sweet cold water from a hand pump in Upendra-ji’s house brought much needed respite!

After exchanging pleasantries, we soon got down to business and went about installing the new XO-1.75 based server replacing the old fit-PC based one. This was the most critical part of our trip and Upendra-ji turned on the diesel-powered generator so we could carry on with our work. We double and triple checked everything since if anything went wrong with the installation, the whole trip would be in vain. Also, we were facing problems getting the 3G modem↔TP-Link setup working, but thanks to Utkarsh’s smart thinking we got past that hurdle. The rest of the server installation went very smoothly. I can’t thank Santi and Nitika enough for their work in making sure we got past all the problems in our testing environment so we didn’t have to face any while in the village.

Soon, we were online, and sure enough, the server “called-home” to Dr. Verma’s openVPN server in SF. A server’s way of saying “Hello world!”

Following this eureka moment, we transferred all the 25 GB or so of content (ebooks, music, ted-talks and more…) into a 64GB pen-drive plugged into the XO-1.75 laptop. Then we placed the laptop neatly inside a briefcase along with all the other hardware. Working through the night, we installed software updates on all the available XO laptops (+ the five I took along with me, thanks to Arjun Gupta). Next, we registered them to the school server, so they could start sending journal backups. Another important part of the XSCE is statistics collection, where software running on the laptops records anonymous usage statistics and synchronizes them with the server. This data can then be researched to make useful analyses about usage patterns, software defects, and so on. 

After we were done with most of our tasks on Day-1 itself (phew!), we took a stroll through the village, this time during the night. My trusty sigma 30mm f/1.4 lens was a wonderful companion and took some great pictures, which can be seen here. While we were walking back to Upendra-ji’s home, we saw some lights blinking on their rooftop. He explained to me that those were the LED’s on the Wireless Access Point connected to the server. He told me a little story that when it was initially installed, the villagers were a little afraid of the strange blinking night-lights, and thought that it was some kind of a time bomb. Well, that time-bomb has now exploded! When they see those strange blinking lights again, they’ll know that internet is in the air, with all it’s wonders and wonderful content cached locally for their learning and joy. Talk about a shift in perspective!

School Server in a briefcase!

School Server in a briefcase!

Updating the software on the XO laptops.

Updating the software on the XO laptops.

Look at the top left corned of this image. Those LED's blinking on the rooftop indicate that the local access point is switched on, and the server is powered on.

Look at the top left corner of this photograph. Those LED’s blinking on the rooftop indicate that wireless access is present, and the server is powered on.

The following morning, we gathered the kids from the village so they could get their first taste of the internet and the new server. It was interesting to see some of them requiring a slight bit of hand-holding while others taking to it like a duck to water. Mostly, we left them alone to figure it out and learn from one another. An interesting fact: we had to buy a new, much bigger data plan just after a couple of hours. An interesting trend that started to emerge was kids downloading local content (already present on the server), and researching bits of it on the internet. Before all of this happened, though, we had to address concerns of their parents about being exposed to malicious content, so we had already setup dansguardian.

Note: The server has been online for some two months now, and there will be another blog post deeply analyzing the usage and the benefits it has brought to children’s learning and the village in general.

Stay tuned for part-2 of this post and other updates from the village!

Stay tuned for part-2 of this post and other updates from the village!

4 Comments

Filed under education, general, hardware, network, software, tech

Android on the OLPC XO-4 touch

It took up all of Spring break, but it’s done. I give you Android on the OLPC XO-4 touch!

image

1 Comment

Filed under hardware, software, tech

Mapping the village

One of the challenges I had in Bhagmalpur was that I didn’t have a partner to tag team with me. I had to plan and execute everything. Hindsight wisdom: Get a partner to help out! I also wanted to map the village when I was there, but I couldn’t find enough time to get away from reflashing the XOs and configuring the school server. In the mean time, all these kids would hang around and follow me, carefully looking at everything I did. I don’t work well under that much scrutiny 🙂

So, I banded a few kids into a team. Then, I turned on the My Tracks Android app on my phone and gave the phone to the team. I explained what the task was, how GPS works, and then I asked them to walk the village – every possible street – and come back to me. They did so, with a lot of interest, and a while later, I had my GPS trace! I exported the trace to GPX format and uploaded to OpenStreetMap. Here’s the trace. I’m editing the various points of interest as I go along.

How cool it is to see the work of these kids on the web! I hope that some day they’ll get good Internet access and they’ll be able to see their trace themselves.

GPS Trace of Bhagmalpur

GPS trace of Bhagmalpur

2 Comments

Filed under children, software

The constraints of time and temperature

I had a short visit to Bhagmalpur a few weeks ago. I got to the village on January 7, 2013 in the evening, and left on the morning of Jan 13, 2013. Much had to be done in this duration.

I had to unlock the XOs so I could use a Dextrose image from Activity Central. The main reason for choosing this image was the Hindi language support. After getting the keys through the collection stick process, and many thanks to guys at OLPC, I got the machine unlocked. Next, I had to flash all the 26 XO-1 laptops there. NANDBlaster gave me all sorts of errors, so I had to do it by hand.

I had to reconfigure the XS school server to use an Access Point instead of a Mesh antenna (Bhagmalpur might have been the only OLPC deployment that still used a mesh antenna…but no more!). The network interfaces had to be fudged with. Thankfully xs-swapnics worked nicely. I had to show them how to use the Wireless Graph activity to do a site survey and determine the bounds of their Wi-Fi bubble. I had to do the wiring for the XS so it could run off a 12V battery. I had to install the APs in a high location and load balance with a repeater in WDS mode, at someone else’s house, so we could extend the Wi-Fi bubble.

I had to add oodles of content – 1,368 TED videos, music, books, activities, and build a simple HTML page for navigation. I had to show the kids a few neat tricks with the Tuk lens kit. I had to show the kids how to repair XOs.  I had to repair damaged screens, keyboards, chargers (a mouse chewed through one), backup all the journals to the XS and then make a copy.

Oh, and this being my family’s house, I had to also be social, chat with visitors, eat the good stuff, walk the cane fields and take loads of photos.

To add to all this, I had to contend with two constraints. The state of Uttar Pradesh is terrible at several things. One of those is electricity. The AC grid comes alive at 11AM, and goes away at 1PM. Then maybe another hour or so in the evening, and then it’s back at 1AM for a couple more hours. Bulk of the work had to be done when the electrical juice went live. The timings are approximate, with no guarantees. So, I found myself sitting up at midnight, reflashing a stack of laptops.

The other constraint (and the UP government has no control over this one) was that the temperatures dropped to -1 C. With no electrical heat, and uninsulated walls, I had to sit by the fire, warm my bones, and then run off to work the laptops for 10 minutes or so, until I started to shake, and then it was back to bone-warming 🙂

Of course, my family was not quite sure why I’d give up the warmth of the fire and run off to the cold to work on laptops. To them, it didn’t seem like such a big deal if the work didn’t get done. To me, the show had to go on, no matter what.

Thankfully, I got it all done 🙂 I’ll post some details soon, but in the mean time, here are the pics.

Leave a comment

Filed under books, children, education, hardware, music, network, outreach, software, tech, video