Wednesday, September 23, 2009

OperaMiniLargeDevice for Opera Mini 5

Last week the beta version of Opera Mini 5 has been released. Due to the drastic change in the user interface, OperaMiniLargeDevice (OMLD) for the Sun WTK 2.5.2 from this post does not work very well anymore. Therefore, I have now worked on a similar solution (new emulator device template) for the new Java Platform Micro Edition Software Development Kit 3.0 which is the successor of the WTK, offering you the same features of the previous OMLD. The main function is of course to let Opera Mini run in a big window on your desktop. Opera Mini is a mobile browser that was originally based on Java ME (J2ME). It is now also available for the iPhone, Blackberry, Windows Mobile and numerous other mobile platforms. It offers a fast browsing experience due to advanced content compression techniques.

In this first preliminary solution, OMLD for the Java ME Platform SDK 3.0 is now available in the screen resolutions of 1024x705 and 800x600 usable pixels.

To install the solution, follow the next steps:

  • Get the Java SE Development Kit (JDK) from here.
  • Get the Java ME Platform SDK 3.0 for Windows from here.
  • Get the "OperaMiniLargeDevice" for Java ME Platform SDK 3.0 from here.
  • Get Opera Mini 5 beta browser for Java-enabled phones from here. Be sure to download both the JAD and the JAR to the same directory.
  • Internet access on your machine
Installation (done for Win XP):
  • Install the JDK.
  • Install the Java ME Platform SDK 3.0 for Windows.
  • Unzip your downloaded version of "OperaMiniLargeDevice" (simply extract it, a directory named "DefaultFxTouchPhone" will be created automatically). Open the directory Path-to-Java_ME_platform_SDK_3.0\toolkit-lib\devices . Then rename the directory "DefaultFxTouchPhone" in there to something else. Afterwards copy the newly extracted directory "DefaultFxTouchPhone" in there. The complete path to OMLD on my machine looks as follows: "C:\Java_ME_platform_SDK_3.0\toolkit-lib\devices\DefaultFxTouchPhone".
  • Next, we are going to install Opera Mini 5 in this new emulator. This is only needed once! We are doing this by opening the command prompt and entering the following: Path-to-Java_ME_platform_SDK_3.0\bin\emulator.exe -Xdevice:DefaultFxTouchPhone1 -Xjam:install=Path-to-OMDirectory\opera-mini-5.0.15650-advanced-en.jad . On my machine the command was: "C:\Java_ME_platform_SDK_3.0\bin\emulator.exe -Xdevice:DefaultFxTouchPhone1 -Xjam:install=C:\midlets\opera-mini-5.0.15650-advanced-en.jad" . Then you will see some output like: "Installing suite from: The suite was succesfully installed, ID: 2" . This ID is important, as we need it to start Opera Mini in the next step. After the installation you already see the big emulator screen as shown in the next picture.

    You could start Opera Mini now. But you could close the window as well and start Opera Mini later. This is what we will do in the next step.
  • Starting Opera Mini is easy as well. Open the command prompt and enter the following: Path-to-Java_ME_platform_SDK_3.0\bin\emulator.exe -Xdevice:DefaultFxTouchPhone1 -Xjam:run=ID -Xdomain:maximum . On my machine the command was: "C:\Java_ME_platform_SDK_3.0\bin\emulator.exe -Xdevice:DefaultFxTouchPhone1 -Xjam:run=2 -Xdomain:maximum" . Then the emulator window comes up and you can start Opera Mini by clicking on the respective entry. If you start Opera Mini this way, your preferences and bookmarks inside Opera Mini will be preserved, as the Midlet's ID (here 2) is reused again.
Here is a sample picture of what the result looks like:


The Emulator itself has an ID, shown on its window title. Usually it is 9. With this ID you can find the working directory / filesystem of this emulator, where also Opera Mini will store its settings and pages. On my machine it can be found here: "C:\Documents and Settings\user\javame-sdk\3.0\work\9\appdb\filesystem\root1\".


You can control Opera Mini 5 almost completely with your mouse. If you don't like the normally activated inline editing feature you can deactivate it inside Opera Mini's advanced settings.

Hope you find this solution helpful. Any tips to improve this solution are welcome.

Greetings Makube

Saturday, September 19, 2009

FireMatcher - Find Matching Documents


today I want to introduce the new extension FireMatcher for Firefox 3.x that has been released yesterday. With FireMatcher you are able to find similar documents to your local ones which do not even have to be made public. But also documents in the web like webpages can be conveniently analyzed as well. FireMatcher will instantly analyze them and extract their most important terms and phrases to present you topically matching documents in the web.

On the results page the most important phrases and terms will be presented along with the search results for the (pre-)selected terms. Quick Search enables users to automatically select the most important terms and phrases as queries:

Teachers easily find the original documents of their students' work. Developers and researchers find out if similar things to their unpublished documents already exist. The same opportunities have journalists and other professionals who want to know whether their unpublished document or a similar one is already public.

FireMatcher works on Windows and Linux and requires a current Java Runtime Environment as the text technology is based on Java. The document formats .txt, .html, .pdf, .doc and .ppt are currently supported.

You can download the beta version of FireMatcher from here.


Monday, April 6, 2009

Run Mobile Browser BOLT on the PC (Big Screen)

Hello again,

I just found out that the mobile browser BOLT works nicely in conjunction with the previously introduced OperaMiniLargeDevice (OMLD) from here. With this browser you can also surf in fullscreen and get benefit from it's advanced content compression technique. This way surfing becomes a pleasure even with a slow connection at hand.

All you need is the JAD file from here. Download and open it with a text editor, find the entry "MIDlet-Jar-URL: " and download the JAR from the following URL. Then change the URL so that only "bolt.jar" is left and save the modified JAD. Afterwards (if not yet done) put both files into one directory.

This is the only step that is different from the description provided here.

Happy browsing!

Saturday, February 28, 2009

MobTorrent - A BitTorrent client for Java ME


I recently came across the first BitTorrent client for Java ME, called MobTorrent. You can find it and its source on this page. Although it still has some bugs like the OutOfMemory-Exceptions that occur sometimes, it is a very good start for implementing the Bittorrent protocol based on the Java ME platform. I wonder, when the first Gnutella client for Java ME will be released :-)


Thursday, January 1, 2009

MeRadio - A Shoutcast Radio Streaming Client for Java ME


a new year and a new project. This time it's a Shoutcast radio streaming client for Java ME, which I started as a hobby project. I called it MeRadio. Inspired by this post to stream Shoutcast streams to the IPhone, I wanted to make such an application (MIDlet) for Java ME (J2ME). Here it is in an initial version:

The download package (links below) contains:
- a server part which consists of three files: meradio.php5, mr.xml and php.ini
- the mobile application MeRadio (Nokia and Sony Ericsson version) with its source

The Server

The file meradio.php5 has two main functions: First it delivers the radio stream URLs from mr.xml to the mobile application, second it streams the plain audio data (mp3) of a radio station to the mobile application, while stripping off useless Shoutcast headers, which cannot be understood by Java ME.

When you want to install this server on your webspace, php must be supported. Maybe the php.ini is also needed, which sets the property "allow_url_fopen = on". This is needed for customers of 1und1. And maybe the file extension php5 doesn't work for you. Then you should rename meradio.php5 to meradio.php. The file mr.xml is an XML formatted document containing some predefined radio stations mostly taken from the radio list of Ninj's Virtual Radio Symbian application ( Put all 3 files into the same directory of your webspace.

Test the service using a webbrowser:
- Get the radio list using this URL: http://yourhostname/meradio.php5?rlist=1
- Hear the stream of a radio e.g.using this URL: http://yourhostname/meradio.php5?play=

The php will stop executing after 24 minutes to limit the traffic on the server and on the phone. You can adjust this value according to your needs.

The Mobile Application

Select the Nokia or Sony Ericsson version of MeRadio and simply install MeRadio.jar to your Java enabled phone. During the first start you will be advised to set the URL to meradio.php5 properly. Some Nokia devices need a port number after the hostname, otherwise an invalid locator exception might be thrown. This URL can be entered in the settings menu. Then you can click on Genres, which loads the genres (and radios) from the mr.xml file using meradio.php5. This may take some seconds, especially on Sony Ericsson phones. Then you can choose a genre and select a radio stream of interest. Now you should be able to hear the selected stream with very few or even no annoying gaps that often occur on other streaming solutions based on Java ME.

Here is the download link for the current version 0.2a:



Version 0.2 introduces these updates:
- Radio list is persistently saved in the RMS (radio list doesn't need to be fetched from the server everytime the MIDlet starts)
- Radio list can be updated when necessary
- Different versions of MeRadio for Nokia and Sony Ericsson phones, as these devices support different streaming mechanisms
- Small updates to meradio.php5 and new radios (Techno) in mr.xml

I have successfully tested MeRadio on a Sony Ericsson W850i and on a Nokia 3120 classic phone (S40). You can change the source as you wish and play with it. Bug reports are always welcome as this is a new project.

Have fun with it and a happy new year

Here are the download links for the old versions:

Version 0.2:

- FileFactory:

- MegaUpload:

Version 0.1:

- FileFactory:

- MegaUpload: