| By Glen Cordrey | Article Rating: |
|
| October 1, 2003 12:00 AM EDT | Reads: |
21,279 |
At a training session I recently attended, a presenter mentioned that his cell phone crashes whenever he runs a simple MIDlet that he wrote. While it may have been inevitable that poor-quality environments would make it onto J2ME platforms, it's still distressing to see some J2ME development proceeding down the trail blazed by the megacorp in Redmond.
Now I am not one of those who despise Microsoft. Microsoft is not inherently evil, and both good and bad have come out of it, as is true of just about any corporate entity. But I do feel that Microsoft's sins have been egregious in the area of software quality, and I fear that it has inured us to accept software of far lesser quality than we should accept.
When your desktop PC offers up the blue screen of death, you may be annoyed and curse the denizens of Redmond, but most people have come to accept occasional freezes and splats as one of the costs of computing (or, at least, the cost of computing with Windows). But there's no reason we should carry those diminished expectations to mobile devices.
Because the primary purpose of PCs is computing, it may be easy to rationalize software failures as the price you pay, but the primary purpose of cell phones is communication. For this reason - or from a different perspective, because anything that impedes making and receiving calls reduces revenue - most cell phone manufacturers and network providers have historically been very restrictive about what, if any, third-party software they allow on their handsets. If customers can't make or receive calls, they'll be more inclined to switch carriers, and they'll rarely make a distinction as to whether it was the hardware, the software, or the network that was at fault.
This mentality contrasts sharply with that of the other major platform for J2ME applications, PDAs, which have from the beginning been first and foremost about applications. Since the early Palm Pilots (and their precursors), the modus vivendi with PDAs has been to download applications; so where cell phones restricted customer deviation from a defined configuration, PDAs embraced it. Consequently, PDA manufacturers and users may accept the occasional crash, much like they do on PCs, as a risk worth taking. To what degree are we willing to trade off the reliability of cell phones for the convenience that downloadable applications add?
Shouldn't we first ask whether we need to make significant trade offs? Is it not feasible to architect the KVM to be, if not bulletproof, at least robust enough to prevent all but the most onerous and insidious programming errors from significantly compromising the reliability of the platform? Or is it that we could, but it's not considered cost-effective to invest the extra effort to do so? Or is it time-to-market that trumps the delivery of quality software?
Consider some of the vulnerabilities that poor quality software could expose us to as cell phones become more powerful. You'll have financial and other personal information on your smart phone, but will it have enough computing capability to support virus checker, or firewall software powerful enough to thwart sophisticated attacks? Your cell phone's mobility combined with Bluetooth and WiFi capabilities will allow it to be more promiscuous than a desktop or a less-mobile laptop, joining and parting ways with numerous hotspots as you travel around. Does ubiquitous computing mean ubiquitous targets for compromised security?
Many efforts are afoot to address these concerns, and the walled-garden security model of the KVM is a good foundation. But as with building a house, a great blueprint counts for little if the construction is shoddy. What can we do? As developers we can promote high quality in the software we write, and provide informed voices in discussions of the issues and in the development of specifications. As consumers we can vote with our pocketbook, eschewing OEMs and network providers who offer substandard services. But ultimately it's the marketplace that will determine the quality provided.
Published October 1, 2003 Reads 21,279
Copyright © 2003 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Glen Cordrey
Glen Cordrey is an architect and developer of J2ME and J2EE applications. He works in the Washington, D.C. area and has been working with Java for six years.
- Patterns for Building High Performance Applications
- It's the Java vs. C++ Shootout Revisited!
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- Patterns for Building High Performance Applications
- It's the Java vs. C++ Shootout Revisited!
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?




















