Writing
Books / Publications
Core J2ME was published in 2000. It was one of the first books that focused on mobile app development, specifically J2ME , a platform designed to write portable code for mobile devices (phones and personal digital assistants) as well as embedded devices (micro-controllers, sensors, gateways and TV set-top boxes).
The book was a best-seller on Amazon in the mobile development category and was published in five languages.
PC Magazine published the article Inside JavaBeans on October 6, 1998. This technical article focused on the JavaBeans API, a model for creating reusable software components with Java.
PC Magazine, Oct 6, 1998 - Volume 17, No. 17
I wrote a long-running series of articles over the course of X years for the now defunct, IBM developerWorks. I have the titles of the articles and the Wayback Machines, however, given the website required a login to read articles, the content is no longer available. With that said, some content (as of 2023) was still available on the Internet Archive Wayback Machine. In these instances, there will be a Wayback Machine to the archived content.
Following are summaries of all the articles I published:
Building Google Gadgets, Part 1: Fundamentals of Google gadgets
In this new Web development series, learn how to develop Google gadgets. Wayback Machine
Building Google Gadgets, Part 2: Working with the user interface
Part 2 of the Building Google gadgets series introduces the advanced features of gadgets. Wayback Machine
Navigating the file system on a mobile device
This tutorial goes through the steps to build a simple file and directory explorer application. It includes moving through a directory hierarchy, viewing file permissions, and opening and reading a file’s contents. Wayback Machine
Work with sprites in J2ME
This tutorial presents the basic principles for working with both animated and nonanimated sprites. Wayback Machine
Encrypt data within mobile apps
This tutorial provides an overview of how to encrypt application-related data in a Java 2 Micro Edition (J2ME) application (MIDlet). Wayback Machine
J2ME 101, Part 1: Introduction to MIDP’s high-level user interface
In this tutorial you will learn about the essential components of J2ME, with a primary focus on MIDP. Wayback Machine
J2ME 101, Part 2: Introduction to MIDP’s low-level UI
In this second tutorial we’ll walk through the basics of creating and working with the Canvas and Graphics classes. Wayback Machine
J2ME 101, Part 3: [Inside the Record Management System](
In this article we cover the basics of storing information in non-volatile memory, using a storage system called the Record Management System (RMS). Wayback Machine
J2ME 101, Part 4: The Generic Connection Framework
In this final installment, we discuss the Generic Connection Framework (GCF), which provides an extensible, generic I/O framework for resource constrained devices. Wayback Machine
Threads and Networking in J2ME
Learn how to use threads in MIDlets to communicate over a network connection. Wayback Machine
MIDlet development with the Wireless Toolkit
The Wireless Toolkit is an integrated development environment (IDE) for creating Java 2 Platform, Micro Edition (J2ME) applications, commonly referred to as MIDlets. Wayback Machine
MIDlet music: Add sound with WTK
Thanks to more enhanced sound support in Mobile Information Device Protocol (MIDP) 2.0, you can now create Java-based wireless applications that offer a range of sounds, from simple tones to playing WAV files. Wayback Machine
MIDlet development with J2ME and MIDP
This tutorials focuses on application development for mobile devices using an application programming interface (API) known as the Mobile Information Device Profile (MIDP). http://Wayback Machine 2003
Downloading images in J2ME
This tutorial demonstrates how to download and display images with J2ME (Java 2 Micro Edition) and the Mobile Information Device Profile (MIDP). Wayback Machine
Implementing Push technology with J2ME and MIDP
This tutorial will walk through the basics of using Push technology with MIDP 2.0, including development of a MIDlet that will be activated based on an incoming SMS message (Simple Message Service). Wayback Machine
JBuilder was an integrated development environment created by Borland, to build Java applications. It was originally released in the late 90’s. JBuilder was purchased by Embarcadero Technologies in 2008.
I wrote the following technical articles for the JBuilder newsletter:
— May 1998 – Distributed computing using RMI (remote method invocation)
— Dec 1997 – Comparing JBuilder and IBM VisualAge
— Oct 1997 – What’s behind those wizards? Part 1
— Nov 1997 – What’s behind those wizards? Part 2
— Sep 1997 – Creating a Castanet channel
I have the original articles and images. If time allows, I’ll recreate the documents and post the entire article contents.
The Basics of J2ME
- Java Editions
- Why J2ME?
- Configurations
- Profiles
- Java Virtual Machines
- Big Picture View of the Architecture
- Compatibility between Java Editions
- Putting all the Pieces Together
The Basics of J2ME
Sun created the Java 2 Micro Edition (J2ME) to allow development of Java applications for devices that do not have the same processing power and memory found on a typical desktop platform. This includes cellular phones, PDAs, pagers, entertainment and automotive navigation systems, to name a few. Read here to learn about J2ME’s configurations, application programming interfaces, and device profiles.
Mobile Java with J2ME
Mobile Java is a rapidly changing area. However, the associated Java development toolkits are well engineered and they include a plethora of easy to follow examples. This helps to reduce the cost of entry into this domain. To find out some more examples, read on.
While working as the Developer Relations lead at mFoundry, an early player in mobile payments, I wrote an article for Dr. Dobb’s describing Mojax, mFoundry’s platform for building mobile applications using AJAX technologies, JavaScript, CSS and XML.
Technical Editor
I was technical editor for the following books. This work included proofreading content and testing/rewriting programming examples.