Developers face changing trade-offs between "customized" and "compatible."
Its getting much easier to tailor an applications platform to the
specific tasks of the target user. Ironically, such long-sought
customization may no longer be a good idea.
What got me thinking about this possible paradox was a pair of news
stories that praised
almost opposite approaches to enabling device-oriented application
developers. In one case, this past summer,
Microsoft was announcing new
customization opportunities for its
Windows CE platform. Licensees for that embedded operating system
were granted
access to substantial portions of its source code: theyre not
merely allowed, but encouraged to derive and ship customized versions
of the system kernel, GUIs, file
system, device drivers and Web server.
That message was reinforced by my conversation this past week
with Microsofts Craig Symonds, general manager for the
forthcoming Visual Studio 2005, who enthusiastically described the
expanded support for non-traditional client devices in that much-awaited tool kit. I
have previously praised the outstanding integration of Pocket PC
application development and deployment into the current Visual Studio
.Net product:
Symonds assured me that the 2005 version would be even better,
specifically in its ease of using the custom profile of a modified
Windows CE configuration to generate a matching portfolio of Visual
Studio 2005 tools and options.
This might sound like a total win: On odd-numbered days, I even
think so myself. On even-numbered days, though, I notice things like
last weeks Evans Data survey
of developers targeting wireless devices, who are focusing to a
greater degree than ever on J2ME (Java 2 Platform, Micro Edition). Notable in the Evans Data summary of survey
results was the comment, "its more cost effective to develop
J2ME-compliant code once, than to
customize or re-write code for differing devices and operating
systems."
In addition to the Evans Data results, theres plenty of anecdotal
support for the notion that J2ME is gaining momentum.
The irony gets really deep when you think about the way that
Microsoft has defended the need for a rich, fully integrated Windows
client that developers could target with the assurance that key
capabilities would always be present. That proposition of knowing
exactly what environment an application will find, and having a
branding
program that tells users that their purchased software will just run
with no dramatics, is now exactly what Sun is promoting for the "Java Powered" logo. Whatever one might save in memory requirements or
other hardware demands by tailoring a platform, one may lose in added
effort of verification and support: Microsoft has long argued this in
the desktop client space, and Sun now seems to be a convert in
non-desktop markets.
Both Sun and Microsoft, though, should consider exactly what theyre
getting into with a push toward the space where all software is supposed to "just
work." Handheld devices, automotive entertainment and assistance
consoles, and factory- and retail-floor devices all have one thing in
common: They dont come with well-established user expectations that
reboots will be routine. Embedded software developers have noted of
late, though, that the
reliability of their code falls far short of whats needed to cross
the line from convenience to control of safety-critical features and
behaviors.
Enterprise device and application vendors are increasingly prepared to cast their lot, it seems, with the Java platform, and are finding
Java increasingly competitive with Microsoft in the
all-important area of high-grade developer environments as Eclipse continues to mature.
Even so, Microsofts competitors consistently find that its a
mistake to underestimate that companys prowess in propelling platform
acceptance with superlative development tools.
Tell me what you want from your tools on
new devices at peter_coffee@ziffdavis.com.
To read more Peter Coffee, subscribe to eWEEK magazine.
Check out eWEEK.coms Application Development Center for the latest news, reviews and analysis in programming environments and developer tools.

Be sure to add our eWEEK.com Application development news feed to your RSS newsreader or My Yahoo page