Archive for the '(Mini)Pauker' Category

Java/Midlet Environment IBM J9 *with* JSR-75 support (updated)

Monday, June 30th, 2008 at 2:17 pm

This is an updated entry of the original post from November 2006. This article deals with the installation of the Java environment on mobile devices.

I have received a lot of feedback, a few comments as well as supporting requests that are concerned with Java on mobile devices. Recently I also received a comprehensive update from Fred Gnuechtel (IBM) regarding the Java environment on mobile devices. See below.

First of all: IBM J9 is from my point of view the best and most complete Java Runtime for mobile devices. So that’s good news ;)

Palm users have an easy life to install this: They can easily download and install a fully maintained IBM J9 directly from Palm for 5$ or so, including the JSR-75 file I/O framework. are left out of the game and Java is no longer available: http://www.palm.com/us/support/jvm/index.html. Too bad, sorry!

For Windows Mobile users it was more difficult in the past to have a working IBM J9 installation, since it was down to the vendors whether they installed IBM J9 or not, which unfortunately did not happen too often. In the past I provided a small tutorial here on how to get J9 installed from IBM’s open source development environment.

However, according to Fred Gnuechtel from IBM it seems to be not a legitimate way to do things and IBM has removed the most visible J9 sources. I was not aware of this and have removed the tutorial for obvious reasons.

But there are very good news for you still: Handago.com offers now a IBM Java environment for various Windows Mobile phones. Sounds like not too much “tinkering” to get a IBM J9 installation! Super :)
Kudos to IBM and Handago for making J9 available to the end-user now.

Information provided by Fred Gnuechtel (IBM):

I can provide the links, but Handango tends to reorganize their WEB site about once a quarter and then i have to do on a WEB safari to find where they went. So please be aware that you may have to update them from time to time. They also force you down a path of selecting a device and then telling you that J9 is not supported on it. You have to ignore this. Again, this is part of the Hanango WEB sites effort to reduce their support cost and returns. Here is a copy of the note that i send when someone contacts me either from the IBM site or sites like yours…..

IBM’s “Websphere Everyplace Micro Environment” (WEME) conforms to the Java ME specification and is available in both of the JavaME defined configurations. For small volumes business deployments low volumes ( 1- 10’s) and individual copies for personal use, the IBM Java ME virtual machine (WEME) may be purchased from our business partner, Handango for $25 USD per license (device).. All of our Java runtimes that are available from Handango are Java ME certified and we provide solutions for various Java ME profiles and operating systems. These are made available “as is” – no support. (this means you will be on your own using forums on the web). WEME is based on IBM’s J9 Virtual Machine technology.

Our WM5 runtime works just fine on PocketPC 2003, PocketPC 2003 SE and WM6. Our WinCE 5 runtimes will run on WinCE 4.2 but NOT on WinCE 6.

There are actually 2 Java ME configurations and IBM supports both of them. It is important to use the one that supports your application and specific device type.

CLDC+MIDP (for Midlets)
or
CDC+Foundation+Personal ( for Applet/Applications)

Note that we no longer support CDC 1.0, Foundation 1.0 and PPro 1.0. We have moved up to the 1.1 versions.

Also, we do support Smartphone (button navigation – no touch scree) but only with MIDP. Our PPro implementation requires a touch screen.

Our Windows Mobile JVM’s are written to the ARM instruction set and will work on any ARM based processors such at the Intel PXA 2xx, TI OMAP, Freescale and Samsung processors that run WM5/6 or WinCE.

Please note that these runtimes from Handango are provided “As Is” with no warranty or support expressed or implied. Our Business Partners can provide Licenses and support for a fee.

MIDP 2.0 for Windows Mobile 5 Smartphone
(button navigation – no touch screen):
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&osId=855&jid=121FDF13D35AC718E2C9768DDFFC3E5X&platformId=11&N=4294921609&Ntt=websphere&R=203653&productId=203653

MIDP 2.0 for Windows Mobile 5 PDA and Phone Edition devices with QVGA Screen Resolution
(PDA style touch screen device – low or standard resolution screen 320×240):
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&osId=849&jid=121FDF13D35AC718E2C9768DDFFC3E5X&platformId=2&N=4294923386&Ntt=websphere&R=203649&productId=203649

MIDP 2.0 for Windows Mobile 5 PDA device with VGA Screen Resolution
(PDA style device – high resolution touch screen 640×480):
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&osId=807&jid=121FDF13D35AC718E2C9768DDFFC3E5X&platformId=2&N=4294926649&Ntt=websphere&R=203654&productId=203654

Personal Profile 1.1 for Windows Mobile 5 PDA device with Touch Screen
(PDA style device – touch screen) :
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&jid=734756B7A126CXFF4483XD5B5D82CEA4&platformId=2&N=0&productId=204403&merch=more_author_titles&HDGO_ad=mat_204403&HDGO_au=1&HDGO_ae=c

Personal Profile 1.1 for Windows CE 5.x PDA device with Touch Screen ( WinCE 5 Professional – not WinCE Core)
(PDA style device – touch screen):
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&jid=734756B7A126CXFF4483XD5B5D82CEA4&platformId=2&N=0&productId=212765&merch=more_author_titles&HDGO_ad=mat_212765&HDGO_au=1&HDGO_ae=c

When downloading from Handango, you may get a warning that says this is incompatible with your device. Please ignore this warning and click though to complete your transaction.

The file you download is a Windows/x86 Install shield (EXE) that you must run on your PC. It presents you with the License Agreement and then copies the files to your PC. You then have to manually copy the LIB and BIN directories to your device using ActiveSync. Unfortunately, we do not provide a CAB files on some of our runtime packages. This is also something that our Business Partners could provide.

Unfortunately, you are correct about the Palm JVM.

IBM does not have the licensing rights to distribute the PalmOS version of Websphere Everyplace Micro Environment (WEME) the JavaME JVM. The port was done under license by PalmSource who was acquired by Access in Japan. several years ago. I believe that Palm’s license with Access has now run out and that is why Palm has removed the runtime form their WEB site. On top of this, Access has also dropped their agreement with IBM.

Regards, Fred

And some extra information:

A lot of the people that install the CDC-PPro JVM don’t realize they have to create a LNK file to get their application loaded and running. Here is the note I send for that:……….

Here are a couple examples of Windows Mobile shortcut (LNK) files…..

This link will open a console window so you can check for any errors:

255#\path\bin\j9.exe -jcl:ppro11 -cp \path\my-app.jar my-app-main-class

These example links will run without a console window:

255#\path\bin\j9w.exe -jcl:ppro11 -cp \path\my-app.jar my-app-main-class

255#”\my path\bin\j9w.exe” -jcl:ppro11 -cp “\my path\my-app.jar” my-app-main-class

If the JVM files are organized into a path structure of:
\path\bin\jvm-exe-dll-files
\path\lib\jvm-class-library-files
then paths to the jvm class library files are not required in the LNK file.

All LNK files must conform to the following rules….
1 – if any parm includes a space char then the entire parm must be inside double-quote marks
2 – the entire command line must be on 1 single line, multi-line LNK files are not permitted
3 – the entire LNK file must be no more that 255 bytes max, must shorten commands or paths if longer

Regards,
Fred

by markus

J2ME development on OS X: Emulation and JSR-75 – solved!

Saturday, September 23rd, 2006 at 10:08 pm

You want to develop J2ME applications with a Mac OS X operating system ?
This is not as easy going as one might think:

SUN unfortunately provides the “Java Wireless Toolkit” not for OSX (for whatever reason) and their emulator therefore does not work. I think there would be more potential J2ME developers under OSX, but this is actually their (bad) decision. Furthermore, they provide their latest stuff only for Windows :( The only way to get it going on a Linux system is using the old WTK2.2 – nice uh ?

However, there was light at the end of the tunnel:
The mpowerplayer SDK is an emulator (and more…) which is supposed to work on an Apple computers. Well, it does, but there is another catch: No support of the JSR75 fileconnection API so far.

Now and finally one very nice guy implemented the specification and provides a CLDC.jar for mpowerplayer which now allows file input/output !!! This is great news. Thanks for all the effort again! You can see the discussion and also a link for the download of the file here (I think you have to be logged in to view it).

Now and finally my MiniPauker stuff can be developed on my Mac. Nice – very nice indeed.

If you use J2ME-Polish and want to migrate your stuff to OS X, there is one more thing you have to change in your ANT build task:
the preverification of the code is not working with the WTK (the Linux version) – modify your build section and point it to the MPowerplayer subdirectory osx:

 *snip* build preverify="/Applications/mpp-sdk/osx/preverify/preverify" *snip*

Enjoy your Midlet development!

by markus

MiniPauker feature complete

Monday, August 21st, 2006 at 9:04 pm
* WPG2 Plugin Not Validated *

My MiniPauker application is now feature complete for its future stable release.

You ask what MiniPauker is all about? Here it is:
MiniPauker is a flash card based learning application for mobile devices and handhelds. It is based on the leitner cardfile system and is compatible with Pauker (http://pauker.sf.net, the desktop version of this software). MiniPauker uses a combination of ultra-shortterm, shortterm, and longterm memory. You can use it to learn all the things you never want to forget any more, like vocabulary, capitals, and important dates.

Following changes were incorporated:
Cards can now be drawn randomly. Cards which are not learned in “ultrashort-term” go back to be relearned immediately in the next round. UTF-8 was fixed (for Sony Ericsson). The progress bar was fixed. Exception handling in background tasks was fixed. Umlauts were fixed. The code was cleaned up. The UI was polished. Import/Export works now – hopefully – on all devices which support the file connection API JSR-75; exception are those (stupid) mobiles which need a code signing certificate *AAAAAAArgh*. If JSR-75 is not available on a particular phone the im-/export functionality is disabled completely which is not misleading users.

My personal summary of J2ME:
J2ME alone is very very limited in general, but this is on purpose; we shouldn’t forget that it was designed for very limited (mobile) devices. J2ME-Polish helps to improve J2ME significantly and at the end of the day you can do some useful stuff in the way you want it.

Personally the most annoying and frustrating “ISSUE” with J2ME is that it behaves differently amongst various devices. It almost always works in the way you want it in the SUN WTK emulator, it also works great in the IBM J9 implementations for Palm and Pocket PCs … but for the rest of the world it is a lot of trouble. The last weekend I managed to fix some more bugs which only (!) occurred on Sony Ericsson phones, and I am sure there are some more bugs with other brands too. It seems the specifications are not always implemented correctly – and this makes live different – at least if you are used to work with SUNs well behaved standard SDK :)

Anyway … I will continue maintaining the MiniPauker application. I quite like it these days. It does its job nicely and it seems people out there like it as well. If you want to provide feedback, please feel free! Thanks!

Posted in (Mini)Pauker
by Markus

MiniPauker release & new (Mini)Pauker website!

Sunday, May 21st, 2006 at 1:26 pm

The latest MiniPauker release is almost feature complete now. Finally I got around to implement the missing and important Pauker export. Hope you like it and please, DO SEND FEEDBACK ABOUT WORKING AND NOT WORKING CASES! Thanks ;)

- Feature: Export (*.pau) for Pauker works now!
- Feature: Save session dialog is improved and should be good to use now.
- Feature: Splash-screen.

The default MiniPauker website was the MiniPauker category of this blog. MiniPauker has its own dedicated home now, next to its friend “Pauker” ;) The new home can be found at:

http://minipauker.sf.net

Have fun and enjoy using MiniPauker!

Posted in (Mini)Pauker
by Markus

MiniPauker update 0.1.3

Wednesday, April 26th, 2006 at 12:03 am
  • Feature: User Preferences for timing the learning sessions work now.
  • Feature: Using a shrinker/obfuscater, the file size is 4-5 times smaller now (now ~70kB !!!)
  • Bugfix: loading multiple sessions from one MiniPauker instance resulted in an accumulate of cards – fixed.
  • Bugfix: thread issue of import process gauge (hopefully) fixed. (It seems to work on some phones, on others not – but it could be due to a firmware problem concerning the JSR-75 support – I’ll check that!)
  • Outlook: hopefully I have time next weekend to add the export functionality for Pauker, then it would be more or less feature complete, but massive internal work has to be done :)

Download the latest version here.

Posted in (Mini)Pauker
by Markus

MiniPauker update

Thursday, April 13th, 2006 at 11:43 pm

This week two bugfix releases (0.1.1 and 0.1.2) are checked in. Hopefully I will have an hour or so the next couple of days for more intense testing. The binary downloads now also include a Palm .prc file, so MiniPauker can be used on almost any mobile platform now (IF JSR-75 for file i/o is supported, which is given for the Palm Tungsten C for example).

Main features still missing: Pauker export (import works!), user preferences, internal session backup, cosmetic with J2ME Polish.
Download now!

Please DO report back your experiences & errors :) Bye for now!

Posted in (Mini)Pauker
by Markus

MiniPauker beta release 0.1

Sunday, April 9th, 2006 at 10:46 pm
* WPG2 Plugin Not Validated *

Finally, with some delay, I have released the first MiniPauker version. This version was NOT tested on any real phone due to the lack of an appropriate phone right now. Soon I’ll give it a try on a Palm Tungsten C. So please, don’t expect a rock solid version of MiniPauker, but a hopefully functional beta version.

What YOU need: Download the MiniPauker files (jad & jar) and install them on your favorite mobile phone or PDA. You NEED a Java (J2ME) version which supports MIDP2 and JSR75 (Java file i/o) to read and write to the file system. Also minipauker is not yet optimized for minimal memory, probably will never be, as the software design is then turning out as absolutely horrible – so the application memory needs to be dynamic (not like a static 64kb limit). Only the latest mobile phone generation can offer these features! Sorry about that, but it is not possible for Java to access the file-system in any other way!

Please do report back major issues, minor issues are solved anyway with time :)

I have already implemented the new common file format (pau.gz) for the big brother “Pauker” (of course it is backward compatible). The latest development version of Pauker (will be version 1.7) is ready for a download (thanks for putting it out Ronny!). Therefore, the latest pauker files (pau.gz) can be read be MiniPauker and the two will hopefully be a powerful team in the future :) MiniPauker can’t export the file though, but this is on the ToDo list …

Give it a try and please report back! Have a lot of fun learning your vocabularies, poems or whatsoever! Bye for now!

Posted in (Mini)Pauker
by Markus

Dreamteam: Pauker and MiniPauker

Saturday, February 18th, 2006 at 2:32 am

The last weeks I worked on a mobile version of Pauker. This is from my point of view the best flash-card learning software available (of course with a proper licence: GPL).

Pauker is a * completely free flash card based learning application, * written in Java, * using the leitner cardfile system, * available in Dutch, English, Esperanto, German, French and Polish and * works offline without the need of an internet connection.

We used it at university and I still use it to improve my English :) The most annoying thing is, that your and also my day has only 24h. I assume, that you are almost always busy in front of your computer / machine / cluster, for whatever you may have to do …

I figured out that this was at least true for me. I also realized that the daily bus shuttle to the Sanger Institute is not used at all in terms of “doing something”. I can’t read on the bus – I get sick. But I can look from time to time to my mobile and probably check some words. The idea of MiniPauker was born, a mobile brother/sister of Pauker.

OK. Then in December I hacked a quick’n dirty version of a MiniPauker prototype. It worked. I used J2ME which is a very limited Java. The last couple of weeks, whenever I had the time, I worked a bit on a proper beta version. I will make it available and you can use it on your mobile. Well, you need to have a mobile which supports J2ME (MIDP2) and the JSR75 Java extension, whereas the latter is only supported in the more expensive mobiles with a file system. But a file system is necessary, as MiniPauker is exchanging files with Pauker, which is cool (at home you use Pauker, otherwise MiniPauker, but with the same files). I just added the full compatibility to Pauker …

Well, you might think it is a small app. In fact it is. But it costs time and as this project is not my main business, it needs time to evolve. Sorry for the delay (some people keep asking for the mobile version of Pauker), but hopefully you’ll get a nice little app soon!

Check the MiniPauker Sourceforge site, you’ll find any news there (no files available yet!)

Posted in (Mini)Pauker
by Markus