Miso

Sun May 1 16:48:34 2011


  1. Introduction
  2. Status
  3. Examples
  4. License
  5. Documentation
  6. Releases
  7. Download
  8. Dependencies
  9. Acknowledgements

Miscellaneous software?
Mixture of utilities for Symbian OS?
味噌?
Your guess is as good as ours.

1. Introduction

Miso is a Python for S60 utility library, which was developed in the PDIS project at HIIT. The idea of the library is to provide simple utility functions and classes that are easy to implement using native Symbian OS resources, but which would be difficult or impossible to implement in pure Python.

The library consists of a single Symbian OS native dynamic link library that has a Python interface. We have tested it on S60 v2, v3 and v5 phones only, but don't know of any reason why it would fail to run on S60 v1 phones. We have found the library to build with a number of different Nokia S60 SDKs, using GCC, GCCE and MSVC 6.0 compilers. We have done both Windows and Linux hosted builds, with Nokia (on Windows), GnuPoc (on Linux), and sdk2unix (on Linux) style SDK installations, respectively.

2. Status

Most of the Miso functionality has been around for a long time, and is thus reasonably well tested. We are not, however, too worried about adding (or removing) features of a more experimental nature.

3. Examples

The programs used to test Miso features also serve as example programs.

4. License

license
The license covering the software. (This file is also included in the source tree, and archived copies thereof.)

5. Documentation

API documentation for the current (possibly unstable) version of Miso is available in both HTML and Python formats.

6. Releases

Version
1.99
Release Date
2.6.2010
Changes
Added is_app_installed function. There now is an S60 v5.0 build of the py2 variant, which does away with an incompatibility warning during installation. 3rd and 5th Edition builds are now against PyS60 2.0.0.
Version
1.98
Release Date
2.10.2009
Changes
Due to reported problems with imp.load_dynamic, now building without a .py wrapper—were not using it for pure Python additions anyway. S60 v3.1 and v3.2 py2 variants now built for PyS60 1.9.7.
Version
1.97
Release Date
13.5.2009
Changes
Now built with S60 v3.2 SDK also. (v3.2 build signed with Location capability.) All S60 v3.x builds now have both PyS60 1.4.5 and 1.9.4 variants.
Version
1.96
Release Date
26.2.2009
Changes
Added have_process (cf. kill_process) and miso_version functions.
Version
1.95
Release Date
3.1.2009
Changes
stack_info actually built in.
Version
1.94
Release Date
18.12.2008
Changes
UID now of the test range, to allow for Open Signed Online use. (This probably means that v1.94 cannot be installed before uninstalling any earlier version.) Added stack_info function, inspired by LogMan and its RLogMan::StackInfo function for logging stack usage. stack_info may be useful when getting KERN-EXEC 3 panics, and wondering whether there is enough stack space.
Version
1.93
Release Date
17.2.2008
Changes
Using the CHWRMVibra API for vibra functionality in 3rd edition builds. Added kill_process function. Made initmiso the only C++ export, also for GCCE builds.

6.1. Older Releases

For binaries, source, and documentation of older releases of Miso, see the older releases page.

7. Download

A collection of release builds is available. The sisx installation packages are signed, while the sis ones are not. s60_3x variants require signing, whereas s60_1x and s60_2x variants do not. The self variants have maximum self-signed capabilities, while the dev variants have maximum Symbian Open Signed capabilities. The py1 variants are for Python for S60 v1.3/v1.4, while the py2 variants are for Python for S60 v1.9/v2.0.

Note that we are supplying binaries built for a number of different S60 platform versions, despite all S60 releases except for 3rd Edition having so far retained—to an extent—binary compatibility. While most of the utilities in the library only make use of well-established APIs, and are thus likely to run on any somewhat binary compatible S60 device regardless of which build is being used, the library does have some platform specificity, to the extent that some functionality hasn't even been implemented for all versions of the S60 platform. To reduce the likelihood of incompatibilities, you're best off installing whichever SIS file is the closest match for your phone.

You may or may not find the changelog useful in trying to determine what has changed between releases.

A Git repository of the source code (with change history) is also available, hosted on GitHub at http://github.com/contextlogger/miso.

8. Dependencies

Depends on the Python for S60 runtime. Does not depend on non-public APIs or anything exotic. Python must be installed on the target device to run this software. The appropriate Python SDK plugin(s) must be installed on the development host to build this software.

9. Acknowledgements

The work was initiated in the PDIS project at HIIT.


Tero Hasu