• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Welcome to Daryl Wilding-McBride

 
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Everyone give a big JavaRanch welcome to our author of the week, Daryl Wilding-McBride. Daryl has written, "Java Development on PDAs: Building Applications for Pocket PC and Palm Devices". We will be giving away four copies of Daryl's books this week and Daryl will be here to answer your questions.
Check out our Book Promotion page for more info about how to win a copy of the book.
 
Ranch Hand
Posts: 112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Welcome.
I'd love to develop on my Palm but I haven't made it past the trying to get an environment set-up to do the development stage.
Does your book show how to download and set-up the test environment and development tools necessary to do J2ME on either the Palm OS or Pocket PC? I was trying to set-up the emulator on my PC but didn't get everything working.
Do you have examples and URLs where to get everything? Or do you just recommend people buy some development platform - i.e. CodeWarrior ?
 
Ranch Hand
Posts: 1902
Hibernate Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Oi! Welcome!
Regarding the book, what level is it geared to? For instance, I don't necessarily need something on basic programming, but would appreciate something that does take the time to walk through where J2SE and J2ME differ.
Thanks!
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Here is the review I wrote:


Doing development for PDAs is a bit complex as different PDAs support different J2ME implementations. The two main J2ME implementations available for PDAs are MIDP, which is available on most Palm devices, and PersonalJava, which is available on most PocketPC and Windows CE devices. This book covers both of these implementations and explains the differences between the two in clear and concise language. The book is relatively short at about 200 pages but it covers the material in sufficient depth to get you started in developing for both of these environments.
The book starts off by explaining the many different configurations and points out which configurations are available on which devices. Next, after showing us how to set up a test environment, the author discusses the coding issues involved with working with devices with limited memory and speed. The next few chapters discuss developing a user interface, storing data, networking, and accessing web services. The differences between MIDP and PersonalJava are pointed out in each section with plenty of code samples demonstrating these differences.
The book is written for anyone with a basic knowledge of Java. No knowledge of J2ME is assumed and you don't even need a PDA to run the provided code (although how to get your code on your PDA is discussed). You should be familiar with Ant to make use of the provided build scripts. The book serves mostly as a tutorial although it could be used as a reference as well. Although there are several books out that cover developing for MIDP, there is very little information available for PersonalJava and for comparing MIDP with PersonalJava. This book fills that slot nicely.

 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I should also add that Daryl is in Australia so the hours that he joins us may seem a bit odd.
 
Theodore Casser
Ranch Hand
Posts: 1902
Hibernate Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
That answers the question nicely, and actually even points me in the direction I need to be thinking. Thanks, Thomas!
 
Ranch Hand
Posts: 49
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Welcome, Daryl.
For most business applications, developers want to save the data into a database on the PDA. Does your book show how to use a database with Java on PDA?
Thanks,
Zheng Huang
SCPJ2, SCWCD
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
If you like the review why not go to amazon and vote for it?
http://www.amazon.com/exec/obidos/ASIN/0201719541/ref=jranch-20
[ July 22, 2003: Message edited by: Thomas Paul ]
 
Zheng Huang
Ranch Hand
Posts: 49
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks, Thomas, for your Amazon link.
From the Editorial Reviews, Daryl's book does address "data storage" which, I believe, is database. I have any question.
If an application is developed on Palm OS and PocketPC, how easily can it be migrated to Window CE?
Thanks,
Zheng Huang
SCPJ2, SCwcd
 
Ranch Hand
Posts: 3061
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm fairly new to J2ME, so take my comments worth a grain of salt. From the beginning, Java has touted itself as platform-independent. Usually it isn't difficult to port a Java application from one platform to another. At least, it is less difficult than with a platform-specific language like C or C++. From what I see, J2ME and MIDP carry on this tradition. If you develop a midlet that runs on a Palm, it should just as easily run on a PocketPC with minimal changes to the source code.
 
Ranch Hand
Posts: 167
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am a complete novice to J2ME too --but the question i have is this: how is J2ME in terms of performance and what is the value that customers will be willing to pay for?
 
author
Posts: 1436
6
Python TypeScript Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Zheng Huang:
For most business applications, developers want to save the data into a database on the PDA. Does your book show how to use a database with Java on PDA?


Just a shameless plug for myself. My book (coming soon in Oct, see the signature) discusses both relational databases on the devices and how to access enterprise database from the device. I will let Daryl speak for his book.
Also, if you are interested in on-device lightweight relational databases and synchronization engines, check out my JavaWorld article:
High-availability mobile applications -- Mobile databases and J2ME tools
 
Zheng Huang
Ranch Hand
Posts: 49
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks, Michael, for the great article.
It sounds like that J2ME does have JDBC optional. It will allow us to use database such as Window Access CE.
Data sync appears to be another issue. Can we use some existing Java technology, for example, Web Services(SOAP)? Most time the data sync will be done in the office. The connection between PDA and server are not that slow.
Any advice would be greatly appreciated.
Thanks,
Zheng Huang
SCPJ2, SCWCD
 
Author
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Greg Ostravich:
Does your book show how to download and set-up the test environment and development tools necessary to do J2ME on either the Palm OS or Pocket PC?


The idea of the book is to show Java developers how to set up and develop Java applications for Palm OS and PocketPC PDAs. On the Palm, it covers MIDP. On the PocketPC, it covers PersonalJava. The real intention was to cover environments that are available for practicing developers today, and to allow you to get started and write code. But it also describes things that are coming up, such as Personal Profile and MIDP 2.0.

Do you have examples and URLs where to get everything? Or do you just recommend people buy some development platform - i.e. CodeWarrior ?[/QB]


I wanted to show readers how they could develop Java code for PDAs using free tools, so the book uses Ant for builds, and Tomcat for server-side examples. It also uses a basic text editor for source code editing. Of course, you can certainly use one of the commercial tools, but I think it's important to know what's going on under the covers before you start using a tool that might hide all that.
 
Daryl Wilding-McBride
Author
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Theodore Casser:
Regarding the book, what level is it geared to? For instance, I don't necessarily need something on basic programming, but would appreciate something that does take the time to walk through where J2SE and J2ME differ.


The book is geared toward someone who has had experience with J2SE on the desktop, and who wants to get into PDA development. So there's coverage of how you might do something in J2SE, and then how that differs in J2ME. That really applies to MIDP on the Palm, because at the code level PersonalJava on the PocketPC is quite similar to J2SE.
 
Daryl Wilding-McBride
Author
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Zheng Huang:
For most business applications, developers want to save the data into a database on the PDA. Does your book show how to use a database with Java on PDA?


It uses the data storage features built in to J2ME, using the data storage package in MIDP (RMS) on the Palm, and uses the file system for storing information on the PocketPC. It also mentions that there are third-party databases for PDAs, such as PointBase.
 
Daryl Wilding-McBride
Author
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Zheng Huang:
If an application is developed on Palm OS and PocketPC, how easily can it be migrated to Window CE?


My understanding is that your choices for implementation language on .NET Compact Framework on the PocketPC/Windows CE are limited to C# and VB, and that J# is not yet supported. If that's still the case, then C# would probably be the least migration effort for J2ME Personal Java code, due to its similarity to Java syntax. However, the APIs are quite different.
At a logical level, an application would be migratable, but at the code level I would say you probably should start over.
 
Daryl Wilding-McBride
Author
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Layne Lund:
From what I see, J2ME and MIDP carry on this tradition. If you develop a midlet that runs on a Palm, it should just as easily run on a PocketPC with minimal changes to the source code.


Yes the language is that same, but packages do differ between J2ME profiles. For example, you can't necessarily move code without modification from a MID Profile application to a Personal Profile application. The reason is that profiles target devices of quite different capabilities and resources. However, you can write the same code for any device that implements the MID Profile, whether it's a mobile phone or a PDA.
 
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Daryl,
I have a Sharp Zaurus and as you may know it is runs PersonalJava and is capable of running Personal Profile. I have ran HSQLDB on it but have never written my own apps for it but would like to using HSQLDB for persistence and possibly something like thinlet for the gui. Would your book assist me with this?
Thanks!
 
Daryl Wilding-McBride
Author
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by shay Aluko:
I am a complete novice to J2ME too --but the question i have is this: how is J2ME in terms of performance and what is the value that customers will be willing to pay for?


I think it's fair to say that an experienced PDA user could tell the difference between a J2ME application and a native application, say in C++. Performance is part of the reason. However, performance is certainly reasonable, bearing in mind that J2ME implementations are maturing all the time. Esmertec's and IBM's implementations are very quick, and have some intelligent optimisations that help things along.
The choice of PDA development language depends a lot on what skills your organisation already has, and platform standards. For example, on mobile phones, J2ME is already pretty much a defacto standard for applications.
 
Daryl Wilding-McBride
Author
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Zheng Huang:
Can we use some existing Java technology, for example, Web Services(SOAP)?


Yes you can. My view is that web services will be widely used for accessing enterprise applications, including for the purposes of syncing data. They represent a nice way of safely getting in and out of the enterprise.
Regarding performance, applicability of web services based on SOAP depends on the PDA platform. If you're using MIDP on a Palm, my experience has been that you will need a server-side proxy to do a lot of the SOAP work on the PDA's behalf. A PocketPC running Personal Java is better suited to invoking the SOAP web service directly.
 
Theodore Casser
Ranch Hand
Posts: 1902
Hibernate Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Daryl Wilding-McBride:

The book is geared toward someone who has had experience with J2SE on the desktop, and who wants to get into PDA development. So there's coverage of how you might do something in J2SE, and then how that differs in J2ME. That really applies to MIDP on the Palm, because at the code level PersonalJava on the PocketPC is quite similar to J2SE.



Well, since I'm using a PocketPC myself, that's also something that I was somewhat concerned for, but had assumed you'd cover both ends (Palm and PocketPC) anyway.
I also like the idea of being shown how to do it in the familiar paradigm of the SE kit first - kind of gives me a few more ideas... I have to say, looks like I'll get this book anyway if I don't win a copy.
 
Ranch Hand
Posts: 867
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi Daryl Wilding-McBride
This book is suitable for me to develop my project and I want to win this book too~~
please read the topic
Does the book provide or suggest which application tool is the best to develop the Java Programme on PDAs?
Because testing the programme is needed some device or some simulation devices/tools.
thanks
 
Daryl Wilding-McBride
Author
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by siu chung man:
Does the book provide or suggest which application tool is the best to develop the Java Programme on PDAs?
Because testing the programme is needed some device or some simulation devices/tools.


The approach the book takes is to point the way through the PDA development and testing process using free (or nearly free) tools such as Ant and a text editor. It uses the Palm emulator for testing, and a PocketPC emulator is also available.
My view is that developers learn a new platform more effectively if they get under the covers and see what's going on. Often an IDE hides all that from you. It also makes the platform a bit more accessible if you don't need to spend a lot of money.
[ July 23, 2003: Message edited by: Daryl Wilding-McBride ]
 
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Daryl Wilding-McBride:

My view is that developers learn a new platform more effectively if they get under the covers and see what's going on. Often an IDE hides all that from you. It also makes the platform a bit more accessible if you don't need to spend a lot of money.
[ July 23, 2003: Message edited by: Daryl Wilding-McBride ]


Daryl,
Don't you find that an IDE can sometimes make the programming experience a better one? I mean, text-editors provide an interface that is not so "helpful", whereas an IDE can catch errors as they're being coded. They also allow for a more rapid development environment...
I see your point about an IDE doing a lot of the work for the programmer, and in that case, I agree with you. But IDEs offer a far-better user-environment which can sometimes accelerate the learning process.
Just a thought...
 
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am very new to programming in PDA's.
My question is, if I wanted to write GUI based programs in PDA's, Does the book cover this area? Atleast for beginners?
--Vikas
 
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Vikas, you can't program any other UIs but graphical ones...
 
Frank Manno
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Vikas,
One of J2ME's strong points is its interface capabilities. It's use of textfields, textboxes, command buttons, and various other "widgets" make for a very user-friendly interface for your applications (aka MIDlets).
Here's an excerpt from Daryl's website:
- How Java 2 Micro Edition is organised.
- The differences between Personal Profile, PersonalJava, the Mobile Information Device Profile, and JDK 1.3.
- Which profiles run on different PDAs.
- How to set up a development environment using free tools.
- Considerations when designing PDA applications.
- How to store information on the PDA.
- PDA user interfaces.

- Accessing information over a network.
- How to build a SOAP web service, and access it from a Palm or PocketPC Java application.
[ July 25, 2003: Message edited by: Frank Manno ]
 
Frank Manno
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Daryl Wilding-McBride:
I wanted to show readers how they could develop Java code for PDAs using free tools, so the book uses Ant for builds, and Tomcat for server-side examples. It also uses a basic text editor for source code editing. Of course, you can certainly use one of the commercial tools, but I think it's important to know what's going on under the covers before you start using a tool that might hide all that.


Daryl,
Do you assume the reader already has knowledge on how to install and setup Ant/Tomcat, or do you provide a brief overview/quickstart on how to go about doing so?
 
gunslinger & author
Posts: 169
16
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Daryl,
I just wanted to say that I think you did an excellent job with the book. You mentioned in it that the new versions of the Palm seem to be reducing the differences between that platform and the PocketPC. Do you see an convergence finally occuring in that area?
I wish we in the US would catch up to the rest of the world in this area.
Ken Kousen
 
Daryl Wilding-McBride
Author
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Frank Manno:
Do you assume the reader already has knowledge on how to install and setup Ant/Tomcat, or do you provide a brief overview/quickstart on how to go about doing so?


There's a chapter on how to set up your development environment, and it includes the steps to set up Ant and Tomcat. It doesn't assume you have done it before, so I'd be interested to hear how you go if it's new to you.
 
Daryl Wilding-McBride
Author
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Vikas Varma:
My question is, if I wanted to write GUI based programs in PDA's, Does the book cover this area? Atleast for beginners?


Yes it does. It takes you through the GUI components available in J2ME (MIDP and PersonalJava), how to write code for them, and shows you how they look on a real device.
 
Daryl Wilding-McBride
Author
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Kenneth Kousen:
You mentioned in it that the new versions of the Palm seem to be reducing the differences between that platform and the PocketPC. Do you see an convergence finally occuring in that area?


I think we will in terms of processing power and memory (e.g. the new Palm Tungsten T2), but the two platforms still show their different heritage and philosophy and I think that's likely to continue for a few device generations yet.
 
Daryl Wilding-McBride
Author
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Frank Manno:
Don't you find that an IDE can sometimes make the programming experience a better one? I mean, text-editors provide an interface that is not so "helpful", whereas an IDE can catch errors as they're being coded. They also allow for a more rapid development environment...


Yes it's a good thought. I agree that an IDE can make a new language or platform more approachable. The reason it makes it more approachable is that all the nitty gritty detail is hidden from you, which is good for getting started but I don't think it's good for understanding what's going on. It depends on your objectives. If you want to understand what goes in a JAD file, and how to package your application into a JAR, then I think an IDE will just get in the way. But if you need to focus on the syntax of a new language, then yes I agree that an IDE is best.
 
Frank Manno
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Daryl Wilding-McBride:

There's a chapter on how to set up your development environment, and it includes the steps to set up Ant and Tomcat. It doesn't assume you have done it before, so I'd be interested to hear how you go if it's new to you.


Hi Daryl,
Definitely! I'll be sure to let you know. I haven't played with Ant/Antenna yet, so I'm excited to learn how to use it to my benefit.
I tried installed Tomcat not too long ago, but I had trouble communicating with my existing Apache server. I read through the documents, but still had some trouble.
I'm ready to give it another go...
 
Frank Manno
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Daryl Wilding-McBride:

I think we will in terms of processing power and memory (e.g. the new Palm Tungsten T2), but the two platforms still show their different heritage and philosophy and I think that's likely to continue for a few device generations yet.


I have to agree with you on this, Daryl.
I'm a fairly new PPC user, myself. Just over 6 months, and coming from a Palm background, I can see the difference between the two.
Palm's philosophy is to offer a simple interface that offers powerful usability, whereas Microsoft seems to be geared to the power users and enterprise users. Palm is making their way into the enterprise market, but they're in a perfect niche, whereby new users to PDAs seem to have an easier learning curve when using the PalmOS.
The confusing part is that I find the PPC to be somewhat of a better device for a new user, as the transition from a Windows environment to a PPC environment is small. The two are very similar in appearance, as well as functionality, whereas the PalmOS requires a complete familiarization with its features (albeit a firly simple familiarization process - it's very easy to learn!)
As for your comment, I agree... Microsoft is poised on keeping their device as unique and "better" than the competition. Personally, I think its great that there are two different device markets, as it leaves developers open to choosing which to support. The PPC seems to have more enterprise users, which would require enterprise-related applications (CRM, sales force management, etc.) and the PalmOS supports everyday consumers (shopping lists, datebook, etc.). The two have needs for similar applications, but there are also differences which are somewhat more subtle.
 
Ranch Hand
Posts: 68
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi Daryl,
just to let you know, i was in London yesterday (where i live), and they had a few copies of your book looking really nice in Foyles, the top technical bookshop. very cool! am going back to get a copy today.
all the best,
dan.
 
reply
    Bookmark Topic Watch Topic
  • New Topic