October 2007 Meeting

Details of the Meeting for October 2007

  • Date : 28/10/2007 Sunday
  • Time : 2:30 pm
  • Location : Jays Internet Club, Broadway, Kochi, Kerala

Agenda

Unlike previous meetings this one started with a formal presentation
on the Agenda.
As usual the members mingled with each other as the speaker was preparing himself,
there was a discussion regarding using Malayalam on GNU/Linux. Members shared their
experiences with each other.

The proposed agenda was FOSS based Mobile Platforms. The speaker started
by telling
why a formal presentation was required instead of a casual discussion and how the
slides would be useful for the people who could not attend the meeting.

The presentation started with GNU/Linux being been used on embedded and Mobile
platforms and the fact that people were unaware of it. The functions the OS on Mobiles, PDAs
and Smart Phones and their importance was highlighted. The speaker talked about how
the use of Mobile phones was changing, from just making a call to browsing the
internet to taking snaps. He also talked about Mobile phones taking shape as portable
communication devices with a whole lot of features that are customisable and flexible.

The speaker hinted of the new Mobile phones using both normal and voip forms of
communication (when the phone detects a wifi hotspot it switches to voip mode).
Mobile phones were taking a different shape with the functionality and flexibility of PCs.

After sensing a reluctant feeling from the audience the speaker immediately addressed
their concern. The concern was the present price range of Smart Phones and PDAs and
how the average person could not afford it and how the presentation would not be
relevant to them.

The speaker immediately reacted to the audience that many people among them will be in
possession of a smart phone within a few months. He attributed this to the fact that
the price of Mobile phones was reducing at an extremely fast rate, because of growing demand
and cheaper production costs. So the audience needed to grasp the points in the presentation
with respect to the future when they have to make choices while purchasing the next
generation phones.

The well known fact that Security, Stability and Customisability were important factors
of a Mobile Phone OS was stressed. The speaker also enlightened the audience of the available
Linux Phones and how the coming months would see a spurt in the availability of such phones
in the market. The benefits of FOSS on Mobile platforms was discussed.
The Freedom of Users was most important was the opinion of the speaker. Developer and user
community support and interaction was important. The lack of customisability on the present
phones was hightlighted.

The future demanded the ability to install custom applications on Mobile phones and most important
localisation requirements. The lack of compatibility among phones was another important
problem faced in the Mobile phone market. The speaker stressed the fact that a common
application level platform was required for Mobile platforms, so people could share custom
applications on different kinds of phones.

The speaker highlighted the importance of java Mobile environment being free software for
its adoption as a common platform throughout the industry. The importance of standards for
software on Mobile platforms was stressed. The speaker highlighted the fact that how the cost
of the phone would get reduced by using FOSS, (also with reduced complexity of hardware)
which was an important consequence with regard to the common man. The time to market is reduced,
because of greater interaction of the developer and user community. Local needs can be integrated
with the use of FOSS, which according to the speaker was a very important factor for the penetration
of smart phones into rural india.

The second part of the presentation talked about the industry approach to FOSS on Mobile platforms.
The challenges faced by the industry with regard to FOSS was discussed.

The speaker talked about how new phones are released every few months and they were totally
incompatible with respect to each other, which was one bottleneck with regard to future of Mobile
phone indsutry. Java as free software was very important. The problems users faced with Mobile
malware was discussed how the users are going to suffer with respect to viruses, trojans on Mobile
phones and how they would be isolated when no one including the dealers would be unable to help them.

The companies could concentrate on spending more for hardware and depend on the community for
software. The speaker also talked about how to avoid “Reinventing the wheel” in the Mobile industry
with respect to software.

The third part of the presentation talked about the future of Mobile industry with respect to FOSS.
Freedom for users was the most important point highlighted by the speaker. The speaker questioned
the audience regarding the privacy factor that how many were sure that there conversations were not
heard by others. The audience gave a mixed reaction to the question.

The users needed to gain total control of their phones inorder to protect their data was one
important point raised. Some of the important requriements of future in the Mobile industry like
handling of secret and sensitive data on Mobile networks and location specific data was highlighted

One person among the audience talked about the fact that the phone needs to be user friendly in order
for any concept to work. The fact that a community based Mobile Platform, which will be designed
by people from different parts of the world, will be much more user friendly was the answer.

The final section talked about “OpenMoko” , world first open Mobile platform,

The speaker briefed about the open nature of the GNU/Linux based OpenMoko platform. The features
of OpenMoko was briefly discussed. The OpenMoko model NEO1973 pictures were shown and features
were discussed. The speaker focussed on the fact that ease of use and compatibility were the
primary goals of OpenMoko.

Before the conclusion a small presentation which was given at “Open Source in Mobile” Conference
by the OpenMoko founder”Sean Moss-Pultz” was shown.

The speaker briefed through the presentation explaining the relevant points. One interesting slide was
Sean telling he would like one of the his favourite commands “apt-get install” on his Mobile phone.

The thoughts of the creator was discussed, the presentation was shown for the purpose of the audience to
capture some thoughts of the creator of the OpenMoko concept. The audience was kind of curious to know
the actual look of the phone and the interface, which was shown to them.

The bussiness aspects of the concept was explained with the creators thoughts. The speaker explained
the features of the phone,and the price factors.

In the concluding session the speaker put forward 3 questions to the audience as usual.

– What is our ethical stand while purchasing Mobile Phones/ PDA’s ?

One person among the audience expressed his view that he would use a Mobile only for speaking and
hence would never have the need for smart phones and PDAs. The speaker told him were he would purchase
smartphones and PDAs once the prices hit rock bottom and when conventional phones would be out from
the market.

Another person again asked how a common man could learn to use such complex devices as a PDA. Several
other people in audience responded by saying that, how people learn new things with the evolution of
technology same would be case with Mobile phones.

The speaker asked the audience what choice they would make when they went to a shop to purchase a phone
and they had to take an ethical stand with regard to the OS on the Phone.

Another member expressed his view, that phones were needed only for communication and other features
would be irrelevant. The same person was quick to follow up with the fact that he would maybe someday
purchase these next generation phones and use them for other purposes.

The audience commonly agreed to the fact that as newer technoloy replaces existing ones, the consumers
automatically upgrade, irrespective of their needs. One person among the audience, asked if the
shopkeepers had any idea of the OS running on the Mobile phones. The cost factor was the only factor
keeping most people away from the new phones.

– Will Projects like OpenMoko help the Mobile Industry ?

One person commented that the bussiness will be reduced to a few major players.

Another person emphasized on the fact that standards are more important, and companies not adhering to
standards do not deserve to remain part of the industry and will automatically be pulled down.

One person asked a question regarding the size of the Mobile applications software industry. He also
added that the presence of a common standard in the market will definitely improve the Mobile phone
sofware industry.

– What is our message to all Mobile Phone Users?

Two persons commented that the use of Mobile phones should be reduced.

The speaker concluded with the message that, the Mobile phone industry will explode in the coming months,
and the consumers will have to decide on the OS on their phones and that time they will have to take
decisions as they have taken for the PC.

Hence the presentation concluded with the message that Freedom for users is most important.

The attendees proceeded to have a tea.

During the tea break there was the customary introduction.

Several people talked about their experiences when they began using Free Software and some project
plans they had for the future.

The tea break is the time for constructive socializing, when the people get to know each other.

Technical Presentation

The original planned Technical presentation (GNU/Solaris Installation) was changed as a result of the
presenter having serious health issues.

The alterantive presentation on Python was conducted which was intented as a continuation
to the previous month’s presentation. But since many of the members had not attended the
previous month presentation, another round of introduction was required.

The presentation started with the speaker explaining the analogy of programming with that of a wheel.
Programming is just like a wheel when we attach something to a wheel we can use it for a particular
purpose just like we use programming languages to solve different problems.

Next the speaker explained with an example of how an image could be created , using a simple method
of putting dots at different parts of the screen in a predefined manner. The example was extended to
explain the logic of progamming. The difference between compilers and interpreters was explained.

The speaker compared the situation were just like a person had knowledge of several spoken languages
similar is the case a computer can possess support for several programming languages and Python was
just another language and that it had certain constructs and syntax that needed to be learned.

So in order to speak to the computer in the Python language we need to speak on the Python shell/prompt.
We execute the “python” command to get the shell.


$ python
Python 2.4.4 (#2, Apr 5 2007, 20:11:18)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>>

The speaker demonstrated that we can type mathematical equations into the prompt for example, and it
provides us with the corresponding results.

String manipulation cannot be done by basic Python but can be achieved by using an additional
plugin/module called string. Plugins/Modules are used to provide additional functionality to the basic
Python and to implement new features.

A plugin /module can be attached using “import ” syntax


>>> import string

A function from the string module


>>> x=abc
>>> y=capitalize(x)
>>> y
‘Abc’

will convert the capitalize the first letter of string x


>>> x=abc
>>> y=capwords(x)
>>> y
‘ABC”

will capitalize x entirely

There are also functions available for manipulating characters of a string.

In order to get help for a particular module we type


>>> help(string)

will bring help on string related functions.

There are two ways to import a module


>>> import string

Imports the module such that we can use the function string.capitalize


>>> from string import *

Imports the module such that we can use capitalize directly.

The first method can be used for 3rd party modules and the second method can be used for
core modules.

Python is more like english language. Block of commands need to be comprised by braces
in other languages but spaces on the left side determine the block in Python. We must make
sure that we do not mix tab and space while typing.

Most general purpose modules are available with Python

  • – String
  • – Mathematical
  • – OS
  • – Floating point
  • – Networking utilities
  • – Graphical ui
  • – Visual Python

etc..

Instead of typing command on the Python terminal we can save the commands to a file and pass
the file as argument to Python. We can run the file without using Python command by providing
“#!/bin/python” at the top of the program

Next the speaker demonstrated how to write a program to a file and run it. A program to convert
user input to upper case.


$ cat > test.py <
#!/usr/bin/python
import string
x = raw_input(“Enter your name :”)
print string.upper(x)
EOF

We save the file to test.py and set the execute bit using


$ chmod 544 test.py

and run it

$ ./test.py

If we install Python along with documentation we can read the documentation located at
/usr/share/python which contains vast amount of information for Python and using it.

Additional Features of Python were demonstrated in the next section.

pygtk – gtk modules with Python interface

wxwidgets – wxwidgets libraries with Python

pyqt – qt libraries with Python

These libraries that have been written using C++. But they are executed using Python.
One person among the audience posed a question regarding the use of C++. The speaker was prompt
to clear the confusion with an explanation about application libaries and language binding.

The speaker moved on to Visual Python. Visual Python can be used to generate 3d graphics,
the documentation is available at /usr/share/doc/visualpython as a part of the distribution
in html format.

The instructions in the file are easy to follow. The speaker demonstrated the creation of a sphere,
One person asked a question about an ellipse. The speaker immediately pointed to the documentation
and found the corresponding information related to the query.

He demonstrated a few changes to the default sphere. There are lot of figures that can be created
with Visual Python, the speaker also pointed to the several samples that were available with default
Visual Python installation. It was also pointed out that creating an interface on Python was easier
than that in other languages. Creating simulations is also easy with Visual Python.

The presentation moved to the next module “tkinter”. tkinter provided a way to create an interface,
that was used to accept input from the user, create database queries and process the data.

Python-gtk2 was the next module that was briefed.

A question came on whether Python was supported on Windows. The speaker immediately explained
in brief how Python can be run on a Windows environment. py2exe which was a standalone tool
for creating a standalone executable that can be run in environments which did not have Python
interpreters. Here the code was compiled into an executable.

The wxwidgets and pyqt modules were explained.

The next part of the presentation was used to explain a few graphical development environments
for Python.

spe was the IDE that was demonstrated.

xrcedit was another mini ide for using with wxwidgets.

A simple example for xrcedit was also shown.

wxglade was the final tool of the presentation to be explained.wxglade can be used to generate Python code from xml.

The concepts of events ( button clicking events) was explained in brief by the speaker in response
to a query.

The speaker expressed his personal preference towards hand coding instead of using IDEs.

Finally a question came to “Why Python”.

The simplicity of use and modular design enabling the FOSS community to create a range of
modules for vast purposes was the answer from the speaker which made a mark on the all the
people listening.

Everyone was encouraged to try out Python with the vast amount of documentation available
on the Internet.

Concluding Session

Everyone assembled again for the final concluding session.

The moderator focussed on the fact that platforms like OpenMoko if made available in colleges
and training centers would provide a handson experience to students with the backup of the FOSS
community and would provide an excellent opportunity to contribute at different levels.
The moderator also put forward the proposition of everyone contributing to purchase an OpenMoko
development kit.

The moderator also pointed out how one of the members had written a program in Python as a
consequence of the previous months presentation and encouraged everyone to do similarly.

Everyone was asked to write down their frank opinion about the meeting so that it could pave ways for
improvement.

A Free Software Meeting of the “KERALA STATE IT MISSION” was held on 27/10/2007 . A person who
had attended the meeting shared the important points that were discussed there. The moderator also
shared his views that free software awareness activities needed a boost.

The moderator thanked everyone for coming and the meeting was wound up.

Attendees

  • Devaraj K.P
  • Vineeth T.V
  • Sameer M Thahir
  • Rajagopal V
  • Sooraj N.S
  • Anoop Viswanath
  • Joby C Xavier
  • Raju Ramdas
  • Manoj Kumar
  • Abhilash Radhakrishnan
  • Sreenadh H
  • Fr. Thomas V.V
  • Binny VA
  • G Venkata Subramanian
  • Ameen Hashir P.N
  • Dennis Mathew Philip
  • Jaison N.D
  • M Balakrishna Pillai
  • Jay Jacob

References

Agenda

FOSS based Mobile Platforms Presentation

OpenMoko
OSIM OpenMoko Presentation

Technical Presentation

Python Presentation

Python Web Site

Meeting Photos