Over Thanksgiving I wrote a little program in JavaScript for my Dad, who is a charter pilot who needs an easy way to record several time values with the press of one button on his smart phone:
engine start
takeoff
landing
engine shutdown
It works great, except Opera doesn't allow files opened from the local filesystem to store cookies, and Dad doesn't always have web access when he needs to record a time value. (Maybe I should try an Opera Widget...) So, in the spirit of the Do-It-Yourself books he's got on his bookshelf, over Christmas Dad asked me what language I'd recommend he use to write a program for his phone.
If I knew how to use Google Gears on the Nokia S60, maybe I'd recommend it. But I don't and I wonder if Gears is still too new. So after a little research, here's what I came up with:
It looks to me like C++ is the default language to use on Symbian, and Java is a close second. However, I wouldn't use either myself, because the syntax of both C++ and Java (see Executive Summary, short code comparison and long code comparison) (and development process--you have to compile for your particular operating system before you run) is more complex than Python's (and I already use Python), and Python works on Symbian. It is my impression that Python programs are also more portable to other operating systems than are C++ programs. For these reasons, it looks like Symbian development is moving toward using Python and Ruby. There are several Python libraries available that you can "import" into your Python code to create the application's GUI features (title, menu, central content including buttons, text boxes, pictures, etc.). They work by providing a Python interface to Symbian's software development kits - SDKs (see S60 SDKs) including Symbian's graphical user interface (GUI) libraries and other available functionality (contacts, calendar, filesystem, phone, etc.).
I'd also consider using an integrated development environment (IDE) specifically designed for creating GUI programs on Symbian, because an IDE can give you a layout editor that lets you create the program by dragging and dropping GUI widgets (buttons, text boxes, etc.) into your program and then writing code to respond to widget events (mouse clicks, character presses, etc.). One Symbian C++ IDE is Carbide, a set of extensions to the Eclipse IDE. It appears there isn't a Symbian GUI IDE yet for Python or Ruby.
So to summarize, here's what I would use, in the order they would need to be installed on your computer:
Python interpreter Use the latest version of Python 2.5, unless you find that the other tools below are only compatible with an earlier version of Python, in which case, install the earlier version.
SDK A package containing a Python interface to a Symbian SDK and related tools: PyS60 (seems to be the best & most current) Python for S60 seems to be an older version of the same, see its helpful wiki Python for UIQ (out of date)
Book
If one exists, it's a good idea to use a book as a guide to how to program on the S60 in your chosen language. The only one I can find for Python is Mobile Python, and it looks to be exactly what you would want. I might start with the author's tutorial instead.
Sovereign Grace Singles is the only singles website for conservative Reformed singles, and they need your help. They need to gain more members in order to remain viable. Currently there are 700 members on the site, from the PCA, OPC, URC, and other conservative Reformed denominations. These denominations are the only "pond" in which I'd recommend our singles to fish.
There are a lot of singles out there who don't know about Sovereign Grace Singles who should, and would benefit from being members of the site. I'm putting together an analysis of the numbers of members of conservative Reformed denominations here, and if you would like to help in any of the following ways, please contact Tim Black.
Ways you can help
Serve as a country expert in identifying which denominations are conservative in each country listed in our analysis.
Distribute SGS fliers at your church or through the channels of your denomination, presbytery, classis, singles organizations (think RUF!) or mission agencies.
Country Experts
Rev. J. Stafford Carson - Ireland
Dr. Henry Krabbendam - Netherlands, South Africa, Uganda
Rev. Philip Tachin - Nigeria
Results of the analysis
According to our current estimates, there are at least 385,000 conservative Reformed church members worldwide. We could potentially bring in 1,926 total members from the US, 8,618 worldwide in English-speaking countries, and 18,709 in all languages. This could result in many marriages; it could also result in many side-effects and spin-off projects that would further the interdenominational unity and cooperation of the Reformed community worldwide.
Global expansion project
Given this analysis, we hope to pursue the following goals to expand the reach of SGS:
Aim SGS at other English-speaking countries. Focus on countries containing the greatest numbers of conservative Reformed members: Canada, UK, Australia, India, New Zealand, Nigeria, Zambia, Zimbabwe. Identify conservative denominations and use contact info from Bauswein & Vischer's The Reformed Family Worldwide to contact them. Ask them to email SGS to receive an email they can forward throughout their denomination if they wish.
Provide SGS site in multiple languages. Install new software that’s already translated. Focus on: Germany, Indonesia, South Korea, Netherlands, Philippines, Switzerland.
Develop & use new promotional materials & Internet promotion tools/means recommended by a web marketing agency.
Identify & utilize new avenues to promote SGS. Use Always Reformed’s connections in denominations & schools.
We are pleased to announce the release
of PresbyterySite 0.1.0! PresbyterySite's code has demonstrated itself
to be mature enough to be used by a continuing user base. This release
deserves a new minor version number because it includes the following
important new features:
We are pleased to announce the release of PresbyterySite 0.0.9! This is primarily a bugfix release.
One bugfix resulted in faster page loads--PresbyterySite's use of the Scriptaculous/Prototype JavaScript framework/library conflicted with RocketTheme's Versatility III template's use of the Mootools JavaScript framework/library, so PresbyterySite now uses Mootools for fading status messages in and out. Mootools is compressed, so results in significantly faster page loads.