Frequently Asked Questions


Overview


What is Mupe?
MUPE is an Open Source application platform for creating mobile multi-user context-aware applications, games and services. MUPE is a client-server system where the clients are run in mobile phones and the server is running in the Internet. For details, see How MUPE works?
Where does MUPE work?
MUPE client works in mobile devices that support MIDP 2.0. MUPE is an online service, which means a connection to the network is always required. Check your operator for pricing details. The client can also be used with the J2ME Wireless Toolkit. MUPE server requires the latest Java version (currently 1.5 or later), and the server can be run in most computers. MUPE server requires two open ports where the clients can connect to.
How to install and run MUPE?
To Phone: download the latest client from here: http://services.mupe.net/svn/client/Mupe/bin/Mupe.jar
For development: Download MUPE server from the download section or use the MUPE developer tools to create your own project.
How do I create my own MUPE application?
A good starting points are the Docs and Wiki pages in this site.

Common Problems

I have the server running, but I cannot connect to it with the client?
There can be many causes for this:
Check, that you are connecting to the correct IP address.
Check, that you are connecting to the client manager TCP port, not to the other manager ports.
Check that the server has an open port assigned for the Client Manager Tcp. (or for that client manager that you are using)
Check, that the different managers have a different port assigned for them (see the xml/config/MupeConfiguration.xml for the information, or use the Edit... in the MupeStarter tool)
Why doesn't the Wireless Toolkit emulator work with the MupeClient?
Get the latest Wireless Toolkit, and the newest MUPE Client version.
I'm getting a "Selector Error" when I try to start the MupeServer?
You most likely have the managers running from a previous MUPE server session. This is sometimes caused by the MupeStarter tool. You should check the processes and try to locate the processes that are causing this and kill them.

Client problems

The content of some of the demos is too large/small for my screen?
Some of the demos are optimized for a fixed screen size and might not be scalable. The platform has support for this, check documentation for how to do it.
My client shows error "-20015" when I try to connect to the server?
20015 = request timeout.
  1. too high latency (the response takes too long a time)
  2. a firewall (The request is sent but the firewall is blocking the answer)
  3. some other software running in the same port (some other software is taking the request and never rerunong an answer. This can also be another MUPE manager - only the client managers know how to handle connections from clients)
My client shows error "-191" when I try to connect to the server?
There is no manager in this port or you have connected to the wrong address.

Server problems

How does MUPE work with a firewall?
Firewalls might be blocking client connections to the server. Check the ports and the firewall settings.
I have MUPE server running, but I cannot connect to it with the client?
Make sure, the server has an open port to the Internet.
Why does the xml/config/MupeConfiguration.xml have 127.0.0.1 in every manager?
You can run every manager in a separate computer. You cannot use the Mupe Starter in this case. This address states where these managers connect to. (Actually, WorldManager does not connect to anything although it contains this address as well. WorldManager is always started in the localhost.)
The MUPE server remembers the application data and state, where is this data stored?
MUPE server uses java serialization and the data is stored on the content.dat file (backup.dat contains a backup).
I made changes to the java files and now the server won't start?
You modified the server enough to make the data structures incompatible with the previous server version. The server stores its internal state in the content.dat file and after the changes, it cannot read this file as the classes have changed. You need to delete the content.dat file, although this completely deletes the old data stored in the server (User accounts, etc.)
I made changes to the java files, compiled, but nothing happens?
Make sure, your classpath is pointing to the correct location. In case you are using ant buildtool: "ant all" creates new classes into build/ directory. Go to MupeStarter tool, select Mupe Settings... -> Edit ... and set the classpath to build/. (You can edit the xml file: xml/config/MupeConfiguration.xml manually also).
Do I need to recompile the server after I make changes to the XML files?
No.
Do I need to recompile the server after I make changes to the java code?
Yes. Also, if the data structures become incompatible with the previous version, you need to delete the content.dat file that contains the data of the world.
I derived my own room, but it does not show anywhere?
You need to create such a room into the world or allow the end-users to create such a room. Replace the default room in the World object, or create the room into some other room. For the end-users, add a command similar to the normal room creation found command found in the basic MUPE server's room description file (xml/content/Room/description.xml).
Please refer to Wiki and Docs for more details.
I made changes to the xml files, but nothing shows on the client UI?
Make sure, you are modifying the correct xml files. (see next)
How do I know what content in the server makes the UI in the client?
By default, the user is always in a single location (Room), which determines the UI. User is typically inside a room and you need to customize the rooms.
My client is running out of memory with the application?
There are some nice tricks you can do to optimize the client and its memory. Everytime you make a template, the client creates a new UI and frees the old resources. You should try to minimize the number of times you make new templates and other items, as this can fragment the memory of the device. Usually, it is better to use Groups.

You should download all of the graphics/etc as resources when you connect to the service and this is a good solution memory wise. If you use some graphics only once, you do not need to make a resource out of this. It is enough to fetch it from the net just that one time. Remember, this is not a PC environment: the devices do not have virtual memory and the developers need to optimize memory consumption.
What is MupeCore.jar?
This file contains all the basic functionality, that the application developers does not usually need to modify. It contains all the managers (Client, Context and World) that take care of the communications between the client different parts. It also contains tools for creating context rules (use: runContextScriptBuilder.bat) and for simulating context data (use: runSimulator.bat, you can also make new simulators with this).
note: You can build the MupeCore.jar from the MupeServer with full source.
MupeServer official release was updated, how can I add these updates to my own application?
Try these:
  1. If the core parts were updated: Download the new MupeCore.jar from the net.
  2. If the virtual world files were updated: Download
Are there any existing context producers available where I could connect to?
If you make any that are public, send information to us so we can create a list of existing public context producers. At the moment, there are no public producers.
There are some nice external context features in a MUPE application, how can I use them?
Copy the context configuration xml files (from xml/config/context/) from that project and the SuperUser class from that project. You need to modify the SuperUser class to suit your application needs. Refer to the context tutorial with this.

 


Wireless Toolkit Emulator

 

I cannot connect to the MupeServer at the localhost with the emulator?
Make sure, you are typing the address correctly: localhost does not work, use 127.0.0.1. Also check that the port is the same as the ClientManagerHttp (or other that you might be using).
Why are the button commands displayed differently on the mobile phone than they are in the emulator?
Different implementations of the J2ME have some variations.
How can I run multiple emulators on a single computer?
At least this works: Copy the wireless toolkit into new directories (one for each emulator required) and change the directories in the bat files to point to these new directories.
I cannot run WTK on Ubuntu.
One known problem is wrong locale. Mupe requires ISO-8859-1. To add this locale, add en_US.ISO8859-1 ISO-8859-1 at the end of /var/lib/locales/supported.d/local and run sudo locale-gen. Now it's possible to start WTK with correct locale: LANG=en.US.ISO8859-1 ./ktoolbar

 

Publishing & Media Upload

I try to take a photo, but my device fails to do this?
All the cellphones do not have the sound/image recording functionality
When I try to upload an image (or sound), I get an error message.
The server contains the location where to save the files in the file: EnvironmentVariables.xml. Go and change these to point to the correct location (i.e. the location where you want to store the files). If you want to view these files in your application, make sure these locations are visible from the Internet (see the next question).
I manage to upload the media, but I cannot access it afterwards?
Change variables in EnvironmentVariables.xml.

 


Error messages

I get "no xml/config/mupeconfiguration found" error message, but the file is there, what is wrong?
Did you create the project into the right folder? In this case the directories are a bit wrong: # The class files need to be in the build/ folder
  1. The java files need to be in the src/ folder
  2. MupeCore and ContentClasses need to be in ../ folder (so one hierarchy level higher than your project)
/projects/mupe/ should have the contentclasses.jar, and mupecore.jar (so as you update these jar files, they are available for all of your projects)
/projects/mupe/MyProject1 should containt the project files, and directories.

Open Source License?

What license does MUPE use?
MUPE is available under the Nokia Open Source License (NOKOS License) Version 1.0a.

Nokia, Nokia Connecting People and MUPE are trademarks or registered trademarks of Nokia Corporation. Nokia hereby grants free right to use MUPE trademark in connection with software applications originating from MUPE software