Every now and then, even while writing this article, I am asked: "Can you make a living by programming in Revolution?" Yes I can. It actually started almost 20 years ago, with the release of HyperCard. This allowed me to create software for a private library of a Dutch semi-governmental organisation. Much later, I used HyperCard at first and then Revolution for several research projects in university.
When I eventually decided to start programming for a living, I had sufficient requests for at least a year's work. Having an academic background, it was no more than logical to end up programming for the educational sector, although clients come from all areas nowadays. All this has culminated in a firm, named Economy-x-Talk. Economy-x-Talk has three main activities. We make custom software for individuals and firms, we help professional developers and hobbyists making their software, and we make shareware tools for the public.
Economy-x-Talk works a lot with unicode. Several of our projects involve Arabic, Thai and other languages that need unicode for display. Revolution's flexible unicode features allow us to develop software to manipulate unicode text rather quickly.
People have been asking me already: "how many languages do you speak?", and are surprised when I tell them I rarely speak any of the languages I work with. To work with unicode, one doesn't need to speak the language, one only needs to talk Revolution. I am tempted, though, to learn Arabic with the project discussed in this article.
One shouldn't try to perceive unicode data as text. Unicode is a data-stream, just like sound data and image data, although simpler. There are several types of unicode, one of which is UTF8 (8 bits Universal Text Format) which is used by Revolution. Files in different formats, such as UTF16, need to be converted to UTF8 and fortunately Revolution has built-in conversion functions to do this.
Mac OS X and Windows XP and Vista come with all the necessary fonts and system additions to display unicode texts. After performing a standard installation of Mac OS X, one is ready to go. On Windows, one needs to use the Regional and Language Options control panel to install additional options. On the languages pane of this control panel, there are two check-boxes, called "Install files for complex script and right-to-left languages" and "Install files for East Asian Languages". Both check-boxes need to be checked. It might also be useful to activate a number of conversion tables in the Advanced pane, depending on software requirements.
Fig. 2 An example of the bilingual interface of Mualimi with entries of the grammatical index in English and Arabic.
My Arabic Teacher
Mualimi is an extensive e-learning tool, serving both the self-taught and teachers and pupils in a learning environment. Once the author had finished most of his work, he went looking for a developer for
touch and found Economy-x-Talk. Some of the issues we had to overcome when turning Mualimi into a distributable product, were the application size (200 MB), the bilingual menus and lists using Revolution's unicode features, and the assurance that the necessary language additions were installed on the user's computer. We created an installer which automatically starts when the user inserts the CD-ROM into his PC and makes it as easy as possible for the language student to get ready to use the software. Additionally, we created an on-line licensing system and a monitoring system for teachers.
Originally being a teacher, the author found himself writing the bilingual English-Arabic language tutoring materials based on International Academic standards. Then a demand
arose to design a most complex interface to serve the students' needs and to provide standard teaching materials teachers can reference. To accomplish this, a software producing
firm was established, called Pearlink Software. It took Pearlink Software ten years to design and develop Mualimi. The result was an advanced professionally developed programme featuring over 1,000 audio-visual language tutoring lessons, libraries, an English-Arabic talking dictionary, on-the-fly translation, sound recording and voice comparison and interactive games. Mualimi contains over 4,000 images, over 17,000 audio files and video clips, plus interactive bilingual talking menus and lists, tables, bookmarks, email and an internet browser. Pearlink Software is now preparing to release two new French and Russian native versions for the fall of 2007.
Fig. 3 Mualimi's login screen, running on Mac OS X, which connects to a database and allows teachers to monitor students' progress.
Since the Mualimi project is like an extensive text book, all materials in it need adequate protection from illegitimate use and copying. So, we created a system with codes that accompany each copy of the software. A license holder who wants to install the software can obtain a license code with the number, which is directly stored in a database. For the purpose of this, we created a custom installer to enter the code. The licensing department has been provided with tools to monitor the codes and can immediately take action whenever something appears to be wrong.
The study materials include a basic level for reading and writing, elementary math exercises, conversation, elementary grammar, advanced grammar with a comprehensive bilingual index of grammatical terms, classical text reading, children stories, games, geography with interactive maps, timeline, and extensive biographies.
The software also deals with the need for a multi-user environment in schools, including attendance records, individual user names and passwords with administrator key set-up. The software also issues grades, teaches the language from the basic introductory level to advanced academic levels, and eventually issues a Certificate of Completion after 400 hours of study.
Most software products have a single interface that deals with its original intent. Mualimi, My Arabic Teacher used 124 windows in its Macintosh version, and now combined them into 52 stacks using Revolution. Seven of these windows resemble each other with varying points of subject specialised differences, and the other 45 windows are fully independent with each one having its individual interface. Yet, altogether, Mualimi interface is most intuitive and user friendly. Just point and click for a fun audio-visual language learning experience. All of these windows are global and inter-active. The most important part of My Arabic Teacher is that it teaches something beneficial for all levels and ages, and that is the purpose behind its development. Mualimi Arabic language tutoring software also meets with international academic standards. The Windows beta version will be released shortly, while the Macintosh version is in actively used by individuals as well as institutions around the world. Mualimi is a self-paced Arabic language-tutoring program, and some universities recommend it as a support material.
After a little experimentation, it was decided that the easiest way to display Arabic text would be by using pictures. This would assure us that the lay-out would be the same, regardless of screen size and operating system. There were a few functions in the interface that required user interaction and thus more flexibility than pictures could offer. This meant that lists with options as well as menus had to be populated with unicode text items.
To create Arabic menu items, one may use the Menu Builder. Writing Arabic in a Revolution field without any adjustments may be a little awkward, though. Therefore, we wrote the menu names and menu items in a text editor and pasted them into Revolution. For list fields, it was sufficient to enter the text and lock the fields. Locking the list fields allows the user to click on the item of his or her choice. With these simple tricks, we were able to make Arabic versions of all menus, buttons and list fields. The result is a completely bilingual interface.
List fields are used to display English/Arabic entries for the dictionary and the index of grammatical terms. All 70,000 entries, more than the 52,000 of the Arabic Larousse, are displayed in both English and Arabic. We keep the English text and the Arabic unicode text in custom properties while scripts populate the list fields by setting the unicodeText properties to the appropriate values.
To make sure that all available language add-ons are available, we have Mualimi checking the installed language components at each start-up. Using the shell function, we read the necessary registry keys and inform the user about absent components before the application starts.
Fig. 4 The bilingual Mualimi Help Centre running on Windows Vista.
The process step by step
When you contact us with a problem or an idea, we examine the problem or idea and decide whether the project is doable, how much it would cost and what is the best approach. Usually, it takes a few rounds
to come to a project definition that conforms to your wishes and technically feasible. Sometimes, we help to set up a simple business plan. Then we discuss the desired features of the new project and make a working plan. We give advice regarding the interface of the software, the need for compatibility and copyright protection, just to name a few.
When all the requirements are clear, we start working on the project and keep the client informed about progress. As the project takes shape, it may appear that one or two features should be different from the original specifications. Again we give advice and the client eventually decides what to do.
When the final product is ready, the client has some time to test the beta version, or beta-testers are hired, and report any problems which we fix as quickly as we can. Eventually, the product is released and we might help with distribution, marketing, creating documentation, et cetera.
Almost all projects are the result of close co-operation between the developer, Economy-x-Talk, and the client. Mualimi, a comprehensive
Arabic language tutoring programme, is a typical example of such a project.
Fig. 1 Front page of Mualimi. The main screen shows links to all chapters while an additional window shows direct links to all sections and subsections in each
What can we do for you?
Economy-x-Talk makes all kinds of custom software, such as software installers, unicode text editors, and database applications. Custom means that you decide what the software does, how it works, and what it looks like. Along the way, we give advice regarding user-friendliness, security, compatibility issues, and other issues where almost 2 decades of experience come in handy.
If you are a starting Revolution programmer, you might not want us to simply make the software for you, but rather help you making it. We teach you how to code quickly and efficiently, and help you solve problems whenever you get stuck.
We help you to finish off your project, by cleaning up the code, wrapping it in an installer for Mac and Windows, speeding up performance where possible, and making a nice interface. You might think that we are creating our own competitors this way, but the diversity and scope of the Revolution community is such that we have no fear of any competition. On the contrary, Economy-x-Talk considers the introduction of new developers to the Revolution community and support of the community as a whole as important tasks.
Another important task is our support of established fellow-developers, who need to get a complex or time consuming task done. Examples are: converting and parsing unicode text, XML and other data formats; converting HyperCard stacks; creating algorithms for statistical inference; automating system maintenance; and solving all those little problems for which one needs to think outside the box.
Several important features of Revolution are of great benefit to almost all our projects. Most projects need some form of intellectual property protection, with a license scheme and other protective measures. We use Revolution's built-in encryption features and its shell function to protect files. Useful is also the possibility to embed fonts, pictures and sound files in stacks, thereby preventing users from getting direct access to the files.
Very useful and also great fun are Revolution's built-in network capabilities, including communication over TCP/IP. Many schools have a network, which is used to let students use the software at the same time. Students may need to communicate with each other and teachers want to monitor students' progress. Revolution is a perfect tool to develop software for such an environment.
Revolution is easy enough for educators to participate directly in development, while it is sophisticated enough for developers to do everything one would expect from a mature development environment. This allows educators and developers to work closely together on a project like Mualimi. After the educator has assembled all the teaching tools and learning materials, the programmer takes over to turn the project into an easy-to-install, reliably working and well-protected application.
The Mualimi project is an excellent example of how Revolutions enables educators, writers, or artists to co-operate with programmers. Educators can be actively involved in the development process without getting in the way of the programmers. Revolution has also allowed Economy-x-Talk to do what they are best at: finding creative solutions for unique, custom software development projects.
Mark Schonewille is very grateful for Muhammad al-Akili's help in writing this article.
Pearlink Software first introduced My Arabic Teacher at the 2003 "ACTFL" conference in Philadelphia, USA, and then in 2005 at the "A2 International Education Fair" in Casablanca, Morocco. For more Information about My Arabic Teacher, please visit http://www.arabicteacher.com.
Economy-x-Talk has taken residence in Nijmegen, the Netherlands. For general information, see http://economy-x-talk.com. For quotations and requests, feel free to write to firstname.lastname@example.org.