Skip to main content

PhoneME Feature or PhoneME advanced.. Which one to choose ?

13 replies [Last post]
adityasen
Offline
Joined: 2010-06-02
Points: 0

I want to run j2me applications on my arm device which has touch screen as input device.. So I need to port PhoneME to my device. Please can anyone guide me which one shll i go for PhoneME Feature or PhoneME advanced.
Any suggestions are welcome.
With Regards,
Aditya

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> I want to run j2me applications on my arm device which has touch screen as input device.. So I need to port PhoneME to my device. Please can anyone guide me which one shll i go for PhoneME Feature or PhoneME advanced.
> Any suggestions are welcome
Hi Aditya,

What type of device do you have? What is the CPU, operating system,
available memory, and storage space? Depending on the specification of
your device, it will determine the level of difficulty in porting
phoneME feature or advanced to your device.

Thanks,
Hinkmond

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net

adityasen
Offline
Joined: 2010-06-02
Points: 0

Hi Hinkmond,
Thanks for your reply. The details of my device are as follows :
ARM9 Processor,
LInux 2.6.xx,
128 MB RAM,
3.5", 240x320 pixel, colour TFT touchscreen display
512 MB storage memory.
Waiting for your further reply.
With Regards,
Aditya

Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> Hi Hinkmond,
> Thanks for your reply. The details of my device are as follows :
> ARM9 Processor,
> LInux 2.6.xx,
> 128 MB RAM,
> 3.5", 240x320 pixel, colour TFT touchscreen display
> 512 MB storage memory.
>
>

Hi Aditya,

What type of UI Toolkit is available for your device? Do you have Qt
2.3.* on your device already, or can you easily on your own build Qt
2.3.* for your device?

Hinkmond

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net

adityasen
Offline
Joined: 2010-06-02
Points: 0

Hi Hinkmond,
Thanks for your reply.
[b]What type of UI Toolkit is available for your device?[/b]
My device uses the following: X acts as the server , Alchemy is the window manager, pwrap2 is used and internally pwrap uses pango and cairo.
[b]Do you have Qt 2.3.* on your device already, or can you easily on your own build Qt 2.3.* for your device?[/b]
No Qt 2.3.* is not present in my device but I have already cross compiled Qt 2.3.10 (embedded) for my device.

With Regards,
Aditya

Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> Hi Hinkmond,
> Thanks for your reply.
> [b]What type of UI Toolkit is available for your device?[/b]
> My device uses the following: X acts as the server , Alchemy is the window manager, pwrap2 is used and internally pwrap uses pango and cairo.
> [b]Do you have Qt 2.3.* on your device already, or can you easily on your own build Qt 2.3.* for your device?[/b]
> No Qt 2.3.* is not present in my device but I have already cross compiled Qt 2.3.10 (embedded) for my device.
>

Hi Aditya,

That's good news that you have cross compiled Qt/Embedded 2.3.10 for
your device. I'm going to advise that you start with your Linux/ARM
device with Qt/Embedded 2.3.10.

This way you won't have to port anything since we already have the
source available in the phoneME Advanced subversion repository for
running Java ME Personal Profile for Linux/ARM/QtEmbedded. Just svn
checkout and build our current source the way it is using your
cross-compilation toolchain and your copy of Qt/Embedded 2.3.10 for your
device.

See:
https://phoneme.dev.java.net/content/pmAdv-buildhost.html
http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvancedBuildInst...

You should be able to build with this type of make command line:
make JDK_HOME=/usr/local/j2sdk1.4.2 J2ME_CLASSLIB=personal
QT_TARGET_DIR=/usr/lib/qt-emb-2.3.10 QTEMBEDDED=true QTOPIA=false
AWT_IMPLEMENTATION=peer_based AWT_PEERSET=qt
(NOTE: Adjust JDK_HOME and QT_TARGET_DIR to your environment)

Post back to the forum if you have any problems.

Thanks,
Hinkmond

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net

adityasen
Offline
Joined: 2010-06-02
Points: 0

Hi HInkmond,
While I was browsing on this forum, I was building Phoneme Feature MR4 for my device. I have succesfully built PCSL,CLDC and MIDP. Also I have Built Qt/embedded 2.3.10 as i told you before. But when I run a midlet in my device i face two problems:
1. The midlet takes time to show some output on screen.
2. I think the midlet writes directly on the frame buffer. So on giving a touchscreen input the content on the screen is spoilled and background image comes on foreground along with a part of running midlet.
So please can you tell is this problem pertaining to phoneme Feature and can this be solved. Please also suggest me whether shall i continue with Phoneme Feature MR4 or shall i shift to Phoneme Advanced MR2.
Thanks,
With Regards,
Aditya

Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> Hi HInkmond,
> While I was browsing on this forum, I was building Phoneme Feature MR4 for my device. I have succesfully built PCSL,CLDC and MIDP. Also I have Built Qt/embedded 2.3.10 as i told you before. But when I run a midlet in my device i face two problems:
> 1. The midlet takes time to show some output on screen.
> 2. I think the midlet writes directly on the frame buffer. So on giving a touchscreen input the content on the screen is spoilled and background image comes on foreground along with a part of running midlet.
> So please can you tell is this problem pertaining to phoneme Feature and can this be solved. Please also suggest me whether shall i continue with Phoneme Feature MR4 or shall i shift to Phoneme Advanced MR2.
>

Hi Aditya,

For questions about running a MIDlet wtih phoneME Feature MR4, you
should post to the feature@phoneme.dev.java.net forum. (I've cc'd this
message to that alias).

I'm not sure why your MIDlet takes a long time to show on your screen or
why your MIDlet's background and foreground images become corrupted.

Can you send a snippet of the Java source code involved with the problem
you are seeing and some screenshots of what it looks like when there is
an error?

Thanks,
Hinkmond

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net

adityasen
Offline
Joined: 2010-06-02
Points: 0

Hi Hinkmond,
The following is the Java code of the sample j2me application that I am using to test my phoneme Feature Mr4 build.

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class LineDemo extends MIDlet{
private Display display;

public void startApp(){
display = Display.getDisplay(this);
display.setCurrent (new DrawingCanvas());
}

public void pauseApp(){}
public void destroyApp (boolean forced){}
}

class DrawingCanvas extends Canvas{
public void paint (Graphics g){
g.setColor (255, 0, 0);
g.fillRect (0, 0, getWidth(), getHeight());
g.setColor (0, 0, 255);
g.fillRect (20, 30, 200, 80);
g.setColor (190, 100, 255);
g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
g.drawChar('L', 25, 144,Graphics.LEFT | Graphics.BASELINE);
g.drawString("Profound Statement",50,100,Graphics.LEFT|Graphics.BASELINE);
g.drawRect(120,75,90,100);
}
}

The following are the snapshots at various stages.
1. This is the background of my device where each icon represents a shortcut to an application
www.abhimanyusingh.com/geoamida_pics/backgournd.jpg

2.Screen after I do instalmidlet of my sample application.
www.abhimanyusingh.com/geoamida_pics/Screen_after_installmidlet.jpg

3.Screen after I do runmidlet
www.abhimanyusingh.com/geoamida_pics/09072010017.jpg
(Note: The portion colored in blue and red is the output of my app.)

4.Screen after giving some input via touch signal.The screen gets corrupted and the icon on which the touch signal is sent launches the app it corresponds to.
www.abhimanyusingh.com/geoamida_pics/screen_corrupted.jpg

Regards,
Aditya

Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> Hi Hinkmond,
> The following is the Java code of the sample j2me application that I am using to test my phoneme Feature Mr4 build.
>
> import javax.microedition.midlet.*;
> import javax.microedition.lcdui.*;
>
> public class LineDemo extends MIDlet{
> private Display display;
>
> public void startApp(){
> display = Display.getDisplay(this);
> display.setCurrent (new DrawingCanvas());
> }
>
> public void pauseApp(){}
> public void destroyApp (boolean forced){}
> }
>
> class DrawingCanvas extends Canvas{
> public void paint (Graphics g){
> g.setColor (255, 0, 0);
> g.fillRect (0, 0, getWidth(), getHeight());
> g.setColor (0, 0, 255);
> g.fillRect (20, 30, 200, 80);
> g.setColor (190, 100, 255);
> g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
> g.drawChar('L', 25, 144,Graphics.LEFT | Graphics.BASELINE);
> g.drawString("Profound Statement",50,100,Graphics.LEFT|Graphics.BASELINE);
> g.drawRect(120,75,90,100);
> }
> }
>
> The following are the snapshots at various stages.
> 1. This is the background of my device where each icon represents a shortcut to an application
> www.abhimanyusingh.com/geoamida_pics/backgournd.jpg
>
> 2.Screen after I do instalmidlet of my sample application.
> www.abhimanyusingh.com/geoamida_pics/Screen_after_installmidlet.jpg
>
> 3.Screen after I do runmidlet
> www.abhimanyusingh.com/geoamida_pics/09072010017.jpg
> (Note: The portion colored in blue and red is the output of my app.)
>
> 4.Screen after giving some input via touch signal.The screen gets corrupted and the icon on which the touch signal is sent launches the app it corresponds to.
> www.abhimanyusingh.com/geoamida_pics/screen_corrupted.jpg
>
>

Hi Aditya,

Switching you over to the feature@phoneme.dev.java.net forum since your
question is related to the phoneME Feature MR4 build.

For stages #1 and #2 above, are you using your own AMS you wrote, or the
AMS from the device. Where is the AMS code from?

Thanks,
Hinkmond

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net

adityasen
Offline
Joined: 2010-06-02
Points: 0

Hi Hinkmond,
Sorry for the late reply. there is no particular AMS in my device. My device is just like any other normal linux running device. Every application manages itself. Phoneme uses the ams code that is present in it's source code. This code is present at phoneme/midp/src/ams folder.
Regards,
Aditya

Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> Hi Hinkmond,
> Sorry for the late reply. there is no particular AMS in my device. My device is just like any other normal linux running device. Every application manages itself. Phoneme uses the ams code that is present in it's source code. This code is present at phoneme/midp/src/ams folder.
>

Hi Aditya,

I understand now that you are using the AMS that is present in the
phoneme/midp/src/ams folder. You should note that AMS is only a sample
AMS, not a fully functional or commercial quality AMS. I think you must
be experiencing that our sample AMS in midp/src/ams is supposed to run
on a device without any other windowing system or UI toolkit running
(Ex. no window manager, no Qtopia, no other way of launching apps,
etc.). Otherwise, having two window managers or two windowing systems
(our phoneME AMS and the native windowing manager/system) will have
conflicts (as you are seeing) each trying to grab control of the
screen. So, you may be trying to use the sample AMS for something it
was not intended to do. You also might be assuming higher quality than
the non-commercial sample phoneME AMS actually has.

You should also note that the sample AMS in phoneme/midp/src/ams is not
supported, so it is presented only as a non-commercial quality sample of
code for platform developers, not for use in a shipping product inside a
device.

Thanks,
Hinkmond

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net

adityasen
Offline
Joined: 2010-06-02
Points: 0

Hi Hinkmond,
Presently we are using openalchemy (http://openalchemy.org/index.php/Main_Page) as the windows managing system which is X based. So we are thinking to write all the porting functions of phoneme feature in X programming language. Please can you tell is it feasible to do this and how much difficult it is. And if You know someone who has already done such thing of porting phoneme to some device with X based windowing system.
If I use phoneme Advanced will the same problem exist in that too. Is there any other solution then writing everything in X.
Regards,
Aditya

Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> Hi Hinkmond,
> Presently we are using openalchemy (http://openalchemy.org/index.php/Main_Page) as the windows managing system which is X based. So we are thinking to write all the porting functions of phoneme feature in X programming language. Please can you tell is it feasible to do this and how much difficult it is. And if You know someone who has already done such thing of porting phoneme to some device with X based windowing system.
> If I use phoneme Advanced will the same problem exist in that too. Is there any other solution then writing everything in X.

Hi Aditya,

What you're considering is very complex, would take advanced Java ME
platform knowledge and skill, and would require quite a bit of effort.
Porting a full-featured AMS is very different that just porting the
underlying platform. Also, with phoneME Feature, you do not have JNI
like you have in phoneME Advanced, so you cannot simply call X window
system calls from Java like you can using JNI. Instead, you will need
to learn how to use KNI to communicate back and forth between C and Java.

You will have then to rewrite and repurpose the sample
limited-functioning AMS in phoneME to call all the important X windowing
management functions (Ex. launch, exit, hide, show, etc, etc) from the
Java side while also allowing the C-based native windowing system to
call into the Java side for two-way window window management communication.

See:
http://openalchemy.org/index.php/Alchemy_-_The_Window_Manager

Essentially you need to enable the phoneME AMS to call through and
receive communication from the X Window Manager Inter-Process
Communication (IPC) layer in order to pretend it is the X Window Manager
issuing commands to the X server, even though it will run as an X client:

See:
http://openalchemy.org/index.php/Image:Xarch.jpg

This is advanced programming to hook phoneME into the X Windowing System
and X Window Manager. It can be done, but you need to have advanced
knowledge and be able to work in the low level X layer.

Hinkmond

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net