Hello, and welcome to DDJ.com
CMP Media Launches New Dr. Dobb's Journal

SD West 2006 announces this year's list of Jolt Product Excellence Award winners and Productivity Award winners.

LOG INRegisterForgot password?
What are the green links?
All Access members only
RSS Feed
DDJ > Dr. Dobb's Departments > Mobility

Mobility

Editor's Note | News | Features |

Tools, Resources and Techniques for Tablet, Handheld, Mobile Device, Network Service and VoIP developers.


Power Management for Mobile Devices
Sabyasachi Dey
With the convergence of new computing, communication and entertainment applications on wireless handsets, power demands are increasing rapidly, yet the capacity of batteries cannot keep up.

Web Services and Mobile Devices
Jonathan Erickson
Roy Mitchell discusses the challenges developers face when delivering Web services on mobile devices. (MP3, 5:12 mins.)

Infrastructure Management Institute Launched
Jonathan Erickson
Tim Ferguson explains the goals of the recently launched Infrastructure Management Institute. (MP3, 4:41 mins.)

Resource-Aware Mobile Device Applications
Hari Gopal
Smart-client applications need to be constantly aware of the changing status of the constrained devices resources.

C++/CLI Sockets
Rex Jaeschke
If you want interprocess or interapplication communication, you want to know how to use sockets. Rex shows us the way.

Displaying GIF Images on J2ME Mobile Phones
Tom Thompson
Surprisingly, many Java-based mobile phones couldn't display GIF image files--until now.

The Java Location API
David Parsons
When it comes to real estate and mobile phones, the three most important words are "location, location, location."

Google's Summer of Code: Part II
the DDJ staff
Google's Summer of Code resulted in thousands and thousands of lines of code. Here are more of the students who participated.

Linux Phone Standards Forum Announced
Jonathan Erickson
Michel Gien introduces the Linux Phone Standards Forum, a consortium aimed at facilitating the use of Linux for telephony applications in general, and mobile phones in particular. (MP3, 4:21 mins.)

Amazon Web Services
Ashish Muni, Justin Hansen
ScanZoom lets you use mobile camera phones to launch services by taking photos of barcodes.

Eclipse.org: New Projects, New People
Jonathan Erickson
Mike Milinkovich talks about recent developments involving people and projects at the Eclipse Foundation. (MP3, 3:47 mins.)

The Digital Life Conference: From the Show Floor
Jonathan Erickson
Veteran technology journalist Daniel Dern reports on the Digital Life Conference in New York. (MP3 audio, 4:47 mins)

Mesh Networks and the Connected Home
Jonathan Erickson
Ken Fairbanks, vice president of business development for Smarthome, explains mesh networks and how they can turn this old house into a smart home. (MP3, mins.)

Remoting in .NET Framework 2.0
Vikram Srivatsa
.NET Framework 2.0 brings some changes to Remoting, .NET's communication mechanism, and more changes are on the way. Make sure your code is up to date.

Java & RFID Tags
Shamshad Ansari
The Java Communication API lets you send commands to and receive responses from RFID readers such as the TI S2000 Micro Reader.

InfiniBand Technology
Corky Seeber
InfiniBand is a serial I/O interconnect architecture designed to connect hundreds--if not thousands--of computers.

Building Internet Distributed Computing Systems
Charles Peck, Joshua Hursey, Josh McCoy, Vijay Pande
Our authors present a framework for harnessing distributed, tightly coupled cluster and SMP resources for computational science research.

Parallel Processing Clusters & PVM
David J. Powers
The Parallel Virtual Machine is network-clustering software that provides a scalable network for parallel processing.

The Media Grid
Aaron E. Walsh
The Media Grid is a digital media network infrastructure and software development platform based on distributed grid technology.

Static Analysis, Security Holes, & Networking Code
Andy Chou
Static analysis, which examines source code at compile time, is an effective tool for spotting security flaws. However, scaling it to large codebases is a challenge.

Asynchronous I/O Streams for TCP Connections
Claus Tondering
C++ I/O Streams can make reading and writing TCP sockets as easy as reading and writing to the console--and even allow for asynchronous I/0.

Spawn of Crazy Frog
Michael Swaine
Ringtones are where the money is--for now anyway.

ZigBee: Low-Power Wireless Networking
Jonathan Erickson
Chipcon's Barry Rudolph explains what ZigBee is and why it is ideal for many categories of wireless computing. (MP3 Audio, 4:51 mins)

Linux As A Platform for Mobile Phones
Jonathan Erickson
Peder Ulander of MontaVista Software explains why Linux may be the platform for next-generation mobile phones. (MP3 audio)

High-Performance I/O with Java NIO
Brian Pontarelli
The NIO library offers a high-performance technique for handling input/output (I/O) operations.

Inside Mobile IP
Narendra Venkataraman
Mobile IP lets mobile-device users stay connected when moving to networks with different IP addresses.

Mobile Java & 3D Applications
Oscar Vivall, Tom Thompson
Oscar and Tom examine the Mascot Capsule Micro3D and JSR 184 APIs, then use them to develop high-quality 3D applications for mobile phones.

Dr. Dobb's Journal September 2005
Jonathan Erickson
Increasingly, communications and networking is becoming a cable-free zone. That's one reason that in the September issue we go inside Mobile IP and create realistic 3-D graphics for cell phones. We also present high-performance I/O techniques using the Java NIO library, improve C++ application performance with custom pool allocators for STL, and show how to squeeze the most out of multithreaded .NET apps. Then there's the EFI spec that will replace the venerable BIOS, and we jump into C++ exceptions and the Linux Kernel. All this--and more!

DTCP-IP: Developing a Technical Foundation for Digital Homes
Steve Balogh, Francis Bruening
Content management and distribution using Digital Transmission Content Protection over IP

Visions of VOIP
John Ravella , Joe Falcone, Gareth Meyrick
Voice over Internet Protocol turns audio signals into just another pile of ones and zeroes, flattening the telecommunications field—but is the killer app in cheap calls, cool media or social upheaval?

Write Once, Port Globally

Are you sick of porting and tweaking the same J2ME program over and over and over to run on all other mobile devices? At your wits’ end and ready to jump? Just go for it!

Reinventing the Smart Phone
Rosalyn Lum
Experts from Canada, South Korea, Germany, Russia, Hong Kong and the United States weigh in on the great migration from personal digital assistants to smart phones. Will it occur—and if so, when?

Java & Bluetooth
Paul Tremblett
The Java Specification Request 82 defines a standard API for Bluetooth applications.

Developing Palm OS Applications: Tricks of the Trade
Jim Geier
The Palm OS has been a favorite platform for mobile apps for a decade. Here is a look at several development environments for targeting Palm devices.

Programmer's Book Review
John Kern
Developing Series 60 Applications: A Guide for Symbian OS C++ Developers introduces you to developing for mobile platforms via native C++ APIs.

Coming to a Store Near You
Peter Henry
Wal-Mart mandate or no, radio-frequency identification technology is gradually expanding beyond the retail world into other areas. But those seeking to adopt RFID solutions can learn much from what retailers have accomplished—and what they plan to unveil.

RFID Primer
Rick Wayne
Incorporating RFID technology into your organization’s business can represent a fundamental transformation, like the decision to use computers in the first place. Here’s a crib sheet of available SDKs, service providers and other resources to get you on your way.

Wireless, WinFS, & Mac Desktop Managers
Jerry Pournelle
Wireless adventures at Chaos Manor.

Practical Secure Port Knocking
John Graham-Cumming
Port knocking allows access to sensitive ports if you know the secret knock. John implements it using "Tumbler."

Telephony & the Parlay Specification
Rahman Blasczak, John Keys, Rafael Kolic
The Parlay specification provides easy access to telephony networks via Java, CORBA, and web services.

The SecureScout Wi-Fi Security & Monitoring Framework
Michael Larson
The SecureScout framework lets you monitor attacks on Wi-Fi (802.11) wireless networks.

ZigBee Wireless Sensor Networks
Drew Gislason, Tim Gillman
ZigBee is an emerging wireless protocol designed for low-cost, high-reliability sensor networks.

State Space Searching
David Theese
State space searches are used in everything from network routing to games. David implements a C++ library for performing state space searches.

Bluetooth & Remote Device User Interfaces
Richard Hoptroff
The FlexiPanel Bluetooth Protocol is a remote UI service for computers, electrical appliances, and other devices.

Stream-Control Transmission Protocol
Ian Barile
The Stream Control Transmission Protocol is a new transport layer protocol that offers an alternative to TCP.

GPS Programming & .NET
Johan Franson
The Global Positioning System is a worldwide navigation system. Johan shows how to use it for .NET applications.

WLAN Security & Wi-Fi Protected Access
Derek Cheung
Wi-Fi Protected Access is designed to address known WLAN security issues in the original 802.11 specification.

The Secure Shell Game
Glen Matthews
Glen examines the SSH protocol and shows how it can be implemented.

HTTP-Based Anonymous Communication Channels
Marc Waldman, Stefan Köpsell
Need a general-purpose request-reply anonymous communication channel? Here's how to build one.

Probing Network Characteristics
Michael Larson
This framework lets you monitor, record, and act on packet performance.

Remotely Controlling Windows Applications
Ruben Patel
When your application is running a mile or so under water, it makes sense to control it remotely.

The General-Purpose Gadget
Rick Wayne
Instrumentation Widgets for Mobile Devices offers attractive emulators for real-world displays, and Simplicity 3.0 for Palm provides a rich, unobtrusive J2ME development environment. Also, EmEditor's mighty macros prove it's still all about text, and Mainsoft bridges two worlds with its Visual MainWin for J2EE.

Software--The Root of the Problem
Rosalyn Lum, Rick Wayne
Step up on security with two new tomes, hop on the platform bandwagon with SlickEdit Studio and grab a discount on Motion Computing’s Tablet PC bundle. Also, Eclipse gets a new WYSIWYG GUI builder, and Mr. T. goes way, way wireless.

Simulating Small-World Networks
Mary Lynn Reed
Mary examines some of the most popular algorithms for simulating small-world networks.

Preventing Buffer Overruns in C++
Richard Grimes
Buffer overrun vulnerability can lead to security breaches. Richard shows how to use the Visual C++ .NET compiler and libraries to rid your code of buffer overruns.

iSCSI Target Emulation
Patrick L. Garvan, Shawn McFarland, Manoj Mehta, Mike Ramsay, Chris Robinson
iSCSI is a networking standard for sending SCSI commands over IP networks. Our authors present an iSCSI emulator and show how it can be used to test iSCSI systems.

Wireless Needn't Mean Witless
Rick Wayne
Three new books explore wireless security, iRise Application Simulator takes your Web app on a test flight, LogicLibrary's Logidex offers asset inventory management, ThatsMyCode confounds code crooks, and Macromedia's Flash MX Professional 2004 is formidable.

A Wireless Retirement
Jeff Cromwell
Jeff examines Programming Wireless Devices with the Java 2 Platform, Micro Edition; Wireless Java, Developing with Java 2, Micro Edition; Java 2, Micro Edition: The Ultimate Guide to Programming Handheld and Embedded Devices; and Teach Yourself Wireless Java with J2ME In 21 Days.

50 Ways to Go Wireless
Alexandra Weber Morales
Wireless opens a world of opportunity, but must be managed to avoid conspicuous chaos, health and safety hazards, and sensory overload. From life-saving killer apps to J2ME and Wi-Fi LAN tips; from etiquette enforcers to technology trends and sizzling platforms, come explore—and learn to harness—the liberating force of unencumbered apps.

Buffy the Servlet Engine
Rick Wayne
O'Reilly offers Tomcat tips, and Excel's Quick UML lets you get to UML fast. Plus, test your Web app's security with Sanctum's AppScan, and ease your parallel pain with Engineered Intelligence's Paralab and CxC2 framework.

Is BREW Déjà Vu?
Rick Wayne
Java may be today's no-brainer for mobile development, but Qualcomm's Binary Runtime Environment for Wireless aims to be your future turnkey solution.

Bridging the Gap
Warren Keuffel
With M7 Application Assembly Server, developers can reuse business objects, processes and services without having to be experts in the methods with which they were built.

A Better Solution
Robert C. Martin
While working on the SocketServer exercise, Alphonse discovers that shipping objects is simpler and more efficient than shipping strings—has he Micahed his Journeyman?

What's Holding Up the Roof?
Daniel Starr
Site, structure, stuff ... and software: In creating programs and buildings, the elements of architecture apply.

The Role of In-Memory Database Systems in Routing Table Management For IP Routers

Core Internet bandwidth grows at triple the rate of CPU power, but the promise of high-value applications can only be realized by managing much more data traffic at the network's edge. This requires rapid evolution of the fundamental edge infrastructure device, the IP router. To keep pace,routing table management (RTM) software within routers must respond quickly to changing protocol and provisioning requirements, but as demands increase,proprietary routing table implementations encounter limitations in scalability, extensibility, and ease of maintenance.

An Embeddable Lightweight XML-RPC Server
M. Tim Jones
Tim examines the XML-RPC protocol for providing network-based RPCs, then presents a lightweight server for embedded designs.

Securing Wireless Networks
Micah Silverman
Micah shows how to secure wireless networks as 802.11b, also known as Wi-Fi, using a combination of hardware and software.

Route Control & Streaming Video
Michael Larson
Route control is an emerging technology that improves the quality of streaming video by letting you select the path of data packets as they leave your video servers.

Crossing the Full-Text Search - Fielded Data Divide from a Development Perspective
Author No
Where individual PCs can store gigabytes of data, and enterprise Intranets and public sites terabytes, finding the correct document (or Web page) requires a complete arsenal of full-text indexed and fielded data search tools. This article covers five methods for synthesizing full-text and fielded data searching from a development perspective: (1) self-contained documents with fields; (2) separate database and documents; (3) BLOB data; (4) adding fields "on-the-fly" during indexing; and (5) display of "stored fields" in search results.

An Iostream-Compatible Socket Wrapper
Maciej Sobczak
With suitable scaffolding, writing to a socket is as easy as cout << "Hello, world";.

Sending Objects across Platforms
Fabio Lopiano
Herewith are some very handy classes for moving your objects around a network.

A Cookie Manager Class for Web Applications
Babu George Padamadan
Padamadan’s classes make managing state in a client-server environment a sweet experience.

Fast UDP-Based Network Storage
Tim Kientzle
If network performance is critical, you can bypass that database of yours with this clever approach.

A Templated Library for Fast Multiplexing
Christopher Rooney
If the number of your network connections hits the stratosphere, then you need this.

Forget the Main()
Robert C. Martin
We had to build an app to invoke the SMC compiler remotely, ship the source files to the server and the compiled files back. So why did Jerry insist on tests for trivial code? Episode 11.

Keep It Simple
Gary McGrath, John Viega
Complex systems may include subtle problems that might go unnoticed. Complex code is hard to maintain and tends to be buggy. To shore up security, aim for simplicity.

Wrap It Up
Larry O'Brien
Sometimes, good things come in big packages—and the .NET Compact Framework is mighty big, signaling once and for all to cautious companies that it’s time to jump on the .NET bandwagon.

Curiosity Never Killed the Programmer
Rick Wayne
As you can imagine, good developers are a diverse bunch, but the ones I know all share one trait: the urge to understand how things work. To help Windows programmers scratch that itch, Heaventools offers PE Explorer. The product lets you look inside Windows “portable executable” files (EXEs, DLLs, SYSes, OCXs and more) and figure out what’s going on.

Mobile Miracles
Rosalyn Lum
Once the Next Big Thing, mobility is almost a matter of course today. But, beyond the lowly PDA and ubiquitous cell phone, these exciting new apps stretch the far, bright horizons of Cool.

The 12 Myths of Mobile UIs
Aaron Marcus
Developers share many illusions—and delusions—about user-interface design for untethered applications and platforms. Here, a 35-year GUI veteran pops a few conceptual balloons and puts new twists on some others.

No More Java Jokes
Rick Wayne
Channels, regular expressions and nonblocking I/O letJava catch up with other languages.

Rapid-Fire Wireless
Dana Cline
1G, 2G, 3G: It’s a new day for mobile development

March 2003
Amit Asaravala, Rosalyn Lum, Warren Keuffel
A free monthly newsletter from the editors of Software Development, DevTalk is a quirky, quick read on hot technology, interviews with software luminaries and high-tech humor. Read back issues of DevTalk.

Web Services & Datacenter Environments
William Frederick Jolitz
Forget your cellphones and wireless PDAs. Web services can be used even more effectively in Internet datacenters to solve client communication errors and other such problems.

Untethered IDEs
Rosalyn Lum
The May 2002 issue marked our first Special Guide to Web Services Tools, in which we presented an assortment of products supporting XML, SOAP and the Web Services Description Language. Our second installment, in September 2002, examined two categories—tools that protect your Internet-accessible assets and tools that help you integrate existing systems. In this issue, we look at products that help enterprises develop Web services for mobile environments.

Spectral Analysis
Ed Nisley
When it comes to wireless devices, antennas—and wavelength—matter.

Examining Windows CE .NET
Martin Timmerman
Martin examines Windows CE .NET's thread handling and advanced interrupt handling capabilities, as well as its synchronization mechanisms and network stack performance.

Wireless Messaging from Outlook
Kevin Wittmer
Learn how to build the underpinnings of your own mobile manager, one that doesn't require a Microsoft Exchange Server, using techniques for extending Outlook using COM add-ins and ActiveX controls.

Abstracting WML with the Open Usability Interface
Luca Passani
The Open Usability Interface (OUI) is a development library that lets you say "Yes" to cross-platform coding. With the OUI API, you can build wireless apps without sacrificing the usability of one device over another.

Integrating GoAhead WebServer & eCos
Anthony J. Massa
Anthony integrates the GoAhead WebServer—a portable open-source, small-footprint web server—into Red Hat's eCos real-time operating system.

.NET Versus COM
Robert Gunion
.NET promises increased ease of development, deployment, scalability, and maintenance. But before getting waist deep in .NET, Robert and his team compared it to COM-based development.

Customizing the Firewall
Rick Wayne
In which our intrepid reviewer discovers why Trolls prefer their own dog food, Serena Software puts your changes in order, Rococo Software offers Impronto Simulator for Bluetooth playtime and Elsinore Technologies' Visual Intercept offers an integrated incident-management system.

Gaps in the Grid
Shannon Cochran
At the Grid Computing Planet conference, it became clear that the emerging grid industry is far from cohesive.

ASP.NET Server Components
Douglas Reilly
ASP.NET lets you create components in VB.NET and C#. And since these components are not COM components, many COM overhead and deployment issues disappear.

A C++ Socket Library for Linux
Jason But
SocketCC, the C++ class library Jason presents here, supports both IPv4 and IPv6 network communications using both TCP- and UDP-style sockets. And it's freely available.

Programmer's Bookshelf: Alien Worlds
Gregory V. Wilson
Greg examines a bunch of books this month, including Network Programming with Perl, by Lincoln Stein; Perl Debugged, by Peter Scott and Ed Wright; Beyond Contact: A Guide to SETI and Communicating with Alien Civilizations, by Brian McConnell; SSH, the Secure Shell: The Definitive Guide, by Daniel Barrett and Richard Silverman; and Hacking Exposed: Network Security Secrets & Solutions, Second Edition, by Joel Scambray, Stuart McClure, and George Kurtz.

Embedded Space: Dynamic Attention
Ed Nisley
In-car electronics, ranging from cellular phones and entertainment systems to Internet connections, are affecting drivers in ways that we're only now beginning to recognize.

Programmer's Toolchest: VNOS: The Visual Network Operating System
Mark Lacas
VNOS, the Visual Network Operating System, is a visual, event-driven, data-flow platform that lets you monitor and control physical devices on any network.

A Request Scheduling Layer for Apache
Ramkumar Ramaswamy
Request prioritization lets you efficiently utilize server resources without overkill. Ramkumar describes the modifications he made to the Apache server so that it could accommodate request scheduling.

Balancing Network Load with Priority Queues
Frank Fabian
A primary concern Frank had when building a web-based lighting control system involved identifying whether adequate response to all web users was even possible.

On the Newsstand


Table of Contents
Order this issue now.
Subscribe to DDJ

Departments

64bit
AI
Architecture & Design
C++
Database
Eclipse & Open Source
Embedded Systems
Global Developer
Java
Lightweight Languages
Linux/UNIX
Mobility
Security
SOA, Web Services & XML
Testing & Debugging
Windows/.NET

CMP DevNet Spotlight

C++/CLI: Cloning
Making copies of heap-based objects

In the News

DDJ Newsletters

Java Newsletter
edited by Eric Bruno
Keeping up with the latest in Java development tools and APIs is a full time job these days. Luckily, Dr. Dobb's Java Newsletter is here to do the work for you. Edited by Java expert Eric Bruno, Dr. Dobb's Java Newsletter covers all the Java news that's fit to print, including API revisions and releases, commercial and open-source development tools, Java tech tips, and more.   --more--

DDJ Resources

Mobilized Software
Developer Events

DevNet Podcasts

Antarctica: Eclipse Comes In From the Cold
Josh Reed discusses the Antarctic Geologic Drilling Program, and the important role that open source tools played.

Software Glitch Implicated in Mars Global Surveyor Failure
NASA Watch reports that NASA's Mars Global Surveyor stopped responding to commands a few months ago due to improperly coded software.

Info-Link

DDJ Store


Dr. Dobb's Developer Library DVD: Release 2
The Dr. Dobb's Developer Library DVD is a new fully searchable DVD that includes 17 years of Dr. Dobb's Journal, 14 full years of C/C++ Users Journal, 3 years of The Perl Journal, nearly 4 years of Dr. Dobb's Sourcebook, and thousands and thousands of lines of source code—all on one DVD!

Click here for more information.

 




MarketPlace

Instant Answers to Your IT & Business Questions
Sign Up & Get Full Access To The Definitive Online Book Collection With SkillSoft's Books24x7�.

Build IT Knowledge with Current & Trusted Content
Helps Employees Develop & Hone New Technical Programming Skills. Sign Up & Get Full Access.

Online Crash Analysis
Automatically capture customer crash data, no debugger required. Support for .NET, C++, OS X, Java.

Discover WinDev 11 RAD
and develop 10 times faster ! ALM, IDE, .Net, PDF, 5GL, Database, 64-bit, etc. Free Express version

Wanna see your ad here?