[1]: Consequently, the index of the last element is the number of elements minus one. This may appear strange, but follows most modern programming languages. Starting indexing at zero has proven much easier to deal with in practice than starting at one.


[2]: Or has arrived before sms.receive() was called.


[3]: This technique of regularly polling two inputs is not ideal for a cellphone. Even if no message is arriving and we are not editing our database, the m application wakes up every few seconds to check for either event. This unnecessarily drains the battery. Better solutions are possible, e.g. with interrupting ui.menu or with multiprocessing, but are beyond the scope of this tutorial.


[4]: In computer jargon, this is called serialization and deserialization.


[5]: On UIQ3 devices, the cursor is unfortunately not always placed correctly.