COMP 3000 2011 Report: Qimo

From Soma-notes
Jump to navigation Jump to search

Part 1

Screenshot

Background

The name of the chosen distribution is Qimo; officially Qimo For Kids. It is a modified version of Ubuntu made especially for kids<ref name="Qimo">“Qimo 4 Kids | Software For Kids,” Qimo 4 Kids, accessed October 16, 2011, http://www.qimo4kids.com/</ref>. The distribution's goal is to be very user friendly, enough to be used by someone as low as 3 years old<ref name="Qimo"></ref>. It's meant to introduce computers to kids and provide educational opportunities through programs and games.

It's made by Michael and Michelle Hall<ref name="Qimo"></ref>. It can be obtained at the Qimo website, http://www.qimo4kids.com. The ISO is over 700 MB in size, and it can run the OS without installation. Installation of the OS takes around 7GB of hard drive space.

Installation/Startup

Using VirtualBox, I created a new virtual machine for Qimo. I gave it enough RAM and Hard drive space to get by. Then I mounted the Qimo ISO for the virtual machine. Starting it then booted the ISO.

Immediately I was first given the option to choose my language. After that I was given many options on how to proceed:

  • Try Qimo without any change to your computer
  • Install Qimo
  • Check disc for defects
  • Test memory
  • Boot from first hard disk
Try Qimo

Clicking the first option brings you to a splash screen of Qimo, and then the loading screen appeared. It was simply a black screen, not very informative (I guess to not confuse kids). Then it loaded up.

This option provided the full version of the OS, however any changes made are not permanent. Creating files or in game progress is lost when shut down.

Installation
Installation

Clicking install brings up the Qimo splash screen. A list of languages given to choose from. It immediately started setting up the clock, and showed a progress bar. It tried to detect my timezone, but did so incorrectly. The time was an hour earlier than it was meant to be. My city wasn't an option for the time zone, so I chose an equivalent one.

I was then given the option to choose a keyboard layout. Following this was the step to prepare the disc space. I could either use the entire disk or create partitions. Then was the creation of user accounts and naming of the computer. I was given the optional advanced option to disable installation of the boot loader and apply a network proxy.

After this was a progress bar indicating how far the installation had proceeded. Above the progress bar was a changing dialog providing the user with information on Qimo, explaining its features and purpose.

After it completed I was prompted to restart. I restarted the virtual machine and it told me to remove the ISO from the disc drive in order to boot the installed version of Qimo. Everything worked very smoothly. It was essentially the same installation as Ubuntu<ref name="Review">“Review of Qimo: Linux for Kids,” MakeTechEasier, accessed October 18, 2011, http://maketecheasier.com/review-of-qimo-linux-for-kids/2010/08/26</ref>.

The entire installation process is very advanced for a child. It was obviously made for the parents to set up the OS for their child.

Basic Operation

At the bottom are very big, childish looking icons. Each one loads a different program intended to help educate the child. Initially the icons comprise of only games. However, by right clicking on the launcher bar you are able to add new shortcuts. It doesn't let you add any program, only from a set of predetermined utilities such as Clock, Dictionary, Notes, Show Desktop, Trash, and Weather, to name a few.

The menu button at the top is very small in order for the child not to be interested in clicking on it, since it contains all the regular system applications that come with Ubuntu.

Text Editor

The first program intended for the child to use is a simple text editor. It's very similar to Notepad on Windows, and seems to be to teach the child to type.

gCompris

gCompris

The second program is gCompris, which is a fully-fledged educational game. It teaches the child how to use the keyboard and mouse. It teaches them colours, sounds, develops spatial abilities and memory. It has puzzles and games just for fun. There's games teaching math, including geometry and numbers. It also includes reading activities, and surprisingly teaches them chess. The program runs in full screen and has a very large cursor and icons. Each game has many levels, increasing in difficulty.

Child's Play

Child's Play is a similar game but doesn't have as many features/games. The games are memory based, mouse/keyboard training, and sound association training. It also has billiards and pong included. This game makes you input a username before you play, presumably to store high scores.

Tux Paint

Tux Paint is a simple paint program for Linux, but has very large buttons which makes it easy for children to draw anything they want. It has a lot of brushes and stamps.

Tux Math

Tux Math seems to be for older students and is an arcade game meant to help kids practice their algebra skills. Unlike gCompris (which also has math games), Tux Math allows for multiplayer. Each player takes a turn playing until the game is over.

Tux Type

A game that trains typing skills is Tux Type. Falling words appear and you have to type their letters before they reach the ground. Each word has a theme that you can choose, such as animals, colours or long words.

Laby

Laby is a game for older students. It seems to be an introduction to programming. Each level is a maze and you have to get the ant out of the maze. To do this you type simple function calls like right(), forward(), left(), take() etc. It says that the language it's teaching is python, but it's not obvious. This is the only game that doesn't run in full screen, in fact the window isn't minimized. When it's maximized it is bigger than the screen resolution, so the whole game can't be seen. You can also write your own functions.

Usage Evaluation

I'm not too impressed with this distribution. It's essentially a customized XFCE setup<ref name="Review"></ref>, meaning they didn't innovate that much. Yes, it came preinstalled with a bunch of educational games for kids, but they're easy to install for any distribution. I wasn't that impressed by the 7 large icons at the bottom of screen, as you aren't able to add any new icons to it. It would be nice if all the icons on the desktop were large, not just those 7 (since the desktop is a regular Ubuntu desktop). I liked how all the menu items were small, since those are too complicated for children to use. The small size will prevent them from accidentally changing system settings. These options aren't blocked from the child. It would be nice if there were some sort of parental controls, where things were hidden unless a password was entered. I did like how essentially every preinstalled children's game/program runs in full screen mode. This keeps the child playing and not accidentally clicking outside the game. I also liked how it's not initially obvious how to open an internet browser, as the internet isn't safe place for young children. Regular programs aren't limited in any way to appear more kid friendly, they are the same as on any other distribution.

Overall it does seem to be very child friendly, however the distribution isn't very innovative. They could have gone the extra mile and added new features, as opposed to simply changing the look of things and hand picking premade programs.<ref name="Review"></ref>

Part 2

Software Packaging

Since Qimo is based off Ubuntu, the two have similar software packaging implementation. Subsequently, Qimo has available all the packages that are available for Ubuntu.

Packaging methods/tools

Software can be packaged either as

  • .deb (Debian Package)
  • .tar.gz (Tarball) files
  • RPMs (Red hat Package Manager) files

Included in the distribution are apt (Advanced Packaging Tool) and the Synaptic Packaging Manager, which allow easy installation of new packages. Apt is console based while the SPM is a GUI for apt.

Through the console and apt you can find out all the installed packages by typing dpkg --get-selections (apt is a front-end for dpkg, which is the software at the base of the Debian packaging system).

Package Filters

Using the SPM you can easily get a nicely formatted list of all the installed packages. The steps are as follows:

  1. Open the Synaptic Packaging Manager
  2. Click on Settings -> Filters
  3. Click on New
  4. Uncheck everything but Installed (see screenshot)
  5. Give the new filter a name
  6. Click OK
  7. In the filters list, click on your new filter

Following these steps a list of all the installed packages will be shown.

Package Installation

Adding/Removing packages

To add packages using apt, simply type apt-get install package-name. The package name is checked against a private database of packages already installed and available to be installed. This list can be updated by typing apt-get update, which refers to the /etc/apt/sources.list file. If the package name can be found, it is downloaded from the internet and installed.

To add packages using the SPM simply open the application and click any desired packages you wish to install and click "Mark for Installation". Once done click apply and the packages will be installed.

To remove packages using apt, simply type apt-get remove package-name. If the package is found then it is uninstalled and removed. To remove packages using SPM, simply select any installed packages and click "Mark for Removal".

Major package versions

While Qimo for Kids is meant to be a very lightweight derivative of Ubuntu, meant solely for kids, it includes very similar packages as Ubuntu. That being said, there doesn't seem to be any evidence that the packages have been modified. The changelogs in the /usr/share/doc/ folder were only changes that Ubuntu itself made.

Most of the packages of Ubuntu aren't on the forefront of the distribution (you have to look for them), but they are all installed. Here is a list of some installed packages and: their current version, their upstream URL, vintage (and how far behind it is from the stable release), how heavily the package has been modified by the distributors (in case modifications are discovered, currently just shows nothing) and potential reasons why the distributors included this package.

Package: Linux Kernel.
Current Version: 2.6.32-21.
Upstream URL: kernel.org
Vintage: This version of the kernel came out in April 2010. The most recent stable version of the linux kernel is 3.1.1.
Modifications: ---
Inclusion: According to the Qimo website<ref name="QimoRelease">"Qimo is now available! | Qimo 4 Kids," Qimo 4 Kids, accessed October 30, 2011, http://www.qimo4kids.com/2010/05/qimo-2-0-is-now-available/</ref> the version I installed came out soon after this version of the linux kernel was released. They must have used the latest version. Obviously can't install linux without a kernel.

Package: apt-get.
Current Version: 0.7.25.3.
Upstream URL: http://packages.qa.debian.org/a/apt.html
Vintage: Latest stable version is 0.8.10.3. Their website<ref name="Apt">"Debian Package Tracking System - apt, " Debian, accessed November 2, 2011, http://packages.qa.debian.org/a/apt.html</ref> states the old stable version was 0.70.20.2. This means that Qimo's version isn't very old.
Modifications: ---
Inclusion: Similar to the kernel, need apt-get for administrator to easily install new games for children.

Package: libc.
Current Version: 2.11.1.
Upstream URL: http://ftp.gnu.org/gnu/glibc/
Vintage: 2.14 is the latest stable release and Qimo's version of libc came out in December 2009.
Modifications: ---
Inclusion: Similar to kernel, need libc for almost anything in linux.

Package: XFCE.
Current Version: 4.6.1.
Upstream URL: http://www.xfce.org/download
Vintage: The stable release is 4.8. and the date of version 4.6.1 was April 2009.<ref name="XFCERelease">"Gentoo: Xfce-4.6.1 released | Jeremy's Weblog," Jeremy's Weblog, accessed November 2, 2011, http://blog.jolexa.net/2009/04/20/gentoo-xfce-461-released/</ref>
Modifications: ---
Inclusion: Most likely included because it is a very lightweight solution and user friendly,<ref name="XFCE">"About - Xfce," Xfce Desktop Environment, accessed November 2, 2011, http://www.xfce.org/about</ref> ideal for kids.

Package: Gtk+.
Current Version: 2.20.0.
Upstream URL: http://www.gtk.org/download/index.php
Vintage: Latest stable release is 3.0. Version 2.20.0 came out March 2010<ref name="GtkRelease">"GTK+ 2.20.0 released," GNOME, accessed November 2, 2011, http://mail.gnome.org/archives/gtk-devel-list/2010-March/msg00132.html</ref>.
Modifications: ---
Inclusion: Included since it is included with Ubuntu.

Package: bash.
Current Version: 4.1.5(1)-release.
Upstream URL: http://ftp.gnu.org/gnu/bash/
Vintage: The latest stable release is version 4.2. The website says version 4.1.5 was last modified December 2009.
Modifications: ---
Inclusion: Pretty much necessary in any distribution of linux, even if it is made for kids. The administrator needs it to handle several tasks.

Package: ls
Current Version: 7.4.
Upstream URL: http://ftp.gnu.org/gnu/coreutils/ as part of coreutils
Vintage: Couldn't find the latest version number
Modifications: ---
Inclusion: ls is included in coreutils, which contains all the important utilities any linux distribution could and should make use of.

Package: ps.
Current Version: 3.2.8.
Upstream URL: http://procps.sourceforge.net/download.html
Vintage: This is the latest version of ps. The download page hasn't been updated since May 2009.
Modifications: ---
Inclusion: ps is important for any linux distribution to get information on the currently running processes.

Package: busybox.
Current Version: 1.13.3
Upstream URL: http://busybox.net/downloads/
Vintage: The latest stable version is 1.19.3. Version 1.13.3 hasn't been updated on their site since March 2009.
Modifications: ---
Inclusion: Useful tools that any linux distribution should have.

Package: gzip.
Current Version: 1.3.12.
Upstream URL: http://ftp.gnu.org/gnu/gzip/
Vintage: The latest version of gzip is 1.4. Version 1.3.12 was released April 2007.<ref name="gzipRelease">"gzip 1.3.12 released," The GNU Operating System, accessed November 3, 2011, http://lists.gnu.org/archive/html/info-gnu/2007-04/msg00003.html</ref>
Modifications: ---
Inclusion: Important utility for any linux distribution.

Package: dpkg.
Current Version: 1.15.5.
Upstream URL: http://packages.debian.org/stable/dpkg
Vintage: Latest stable version of dpkg is 1.15.8.11. Not clear when Qimo's version of dpkg was released.
Modifications: ---
Inclusion: It is needed in order to add/remove packages.

Package: Firefox.
Current Version: 3.6.3.
Upstream URL: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/8.0/source/
Vintage: The latest version of Firefox is 8.0. The version installed on Qimo was released on April 1, 2010.<ref name="FirefoxRelease">"Mozilla Firefox 3.6.3 Release Notes," Mozilla Firefox, accessed November 4, 2011, http://www.mozilla.org/en-US/firefox/3.6.3/releasenotes/</ref>
Modifications: ---
Inclusion: Firefox seems to be included on most GUI distributions of linux as an easy, lightweight way to surf the internet.


As you can see, most of these packages have no use for the children using the operating system. However, for an administrator to easily add new software and maintain the system, they need access to all the software included with Ubuntu.

Major packages not installed

  • The csh shell
  • rpm
  • No email manager

Initialization

When Qimo is booted, first the kernel does several preparation steps. It initialized memory and set up the CPU.

Here is the sequence of some of the loaded programs:

  1. init is loaded.
  2. The avahi-daemon is loaded, which is responsible for Network interface enumaration.
  3. NetworkManager follows this and sets up the ethernet and wifi.
  4. modem-manager loads because of the NetworkManager and sets up the system to accept many different types of modems.
  5. dhclient further helped with network set up.
  6. cron (the scheduler) was then loaded.
  7. rtkit-daemon was loaded to help the scheduler.

All of this information was gathered from the syslog file found in /var/log/.

Part 3

Stay tuned...

References

<references/>