Log in

View Full Version : Should Microsoft Directly Support Java and Brew in the Pocket PC Phone?


Ed Hansberry
01-30-2003, 03:00 PM
<a href="http://wirelessnewsfactor.com/perl/story/20618.html">http://wirelessnewsfactor.com/perl/story/20618.html</a><br /><br />Here is an interesting take on the market of converged devices. The author seems to be distraught over Microsoft not incorporating Brew or Java directly into the Pocket PC Phones. Well, if you want those in the device, put them in yourself. Why should Microsoft add all these virtual machines to run non-Win32 API applications? Microsoft has a long history of being proven right by going their own way. Of course, they have stumbled at times too. Your thoughts?

markpmc
01-30-2003, 03:27 PM
Lets face it a native app will nearly always be faster! But with cpu speeds finally moving into a "real" processing power area java is an alternative. Frankly a PIM written in Java would let me swap my hardware platform as I see fit. I'd at least like to have the choice.

After all if .Net is everything that MS says it is, why not? What's MS afraid of?

markpmc

Mike Wagstaff
01-30-2003, 03:44 PM
Although native Java and Brew support would be nice, my perception of those two technologies is that they are primarily used for games. There's nothing wrong with that in itself (how could I say otherwise?!), but it's not as if the Smartphones and Phone Edition devices of this world are missing out on any killer functionality.

Besides, from what I've seen, the games that run natively on CE-based devices tend to be superior to Java/Brew-based offerings in any case. :)

johncj
01-30-2003, 03:48 PM
This person seems to be totally clueless. This article (which is a reprint from http://www.infoworld.com/article/03/01/10/030113opwireless_1.html ) is unintentionally revealing when it asks:
What does Microsoft know that I don't?

Apparently, a whole lot of things about how to build a successful business. You don't grow a platform by providing multiple, competing apis for developers to use. That's just stupid.

JMountford
01-30-2003, 03:49 PM
Seems to me that I have read this article before. Actually I know I did, but anyway....

Yes Microsoft should definitely support both BREW and JAVA.

Here's why:...
In the phone game Microsoft is David. Now granted this David has a turbo powered catapult instead of a slingshot, but still. BREW and JAVA are already well placed, at least in the CDMA realm and they are pretty big Goliaths. I am sure that if I were a developer I would want my apps to run across the network. I do not know how many people realize this, but Sprint PCS is VERY restrictive of what runs across their network. If I were a developer I would love that the PPC PE is a device I could use, but in developing an app or game for a wireless service provider I would want it to run on as many different handsets as possible.

This is precisely the reason that the carriers adapted these standards. It is why BREW was invented in the very first place!

If MS wants to truly be popular in this market they have to get over their existence long propensity for proprietary only standards supported natively. I do not think a company can be successful in this market, (wireless) operating that way.

blade_of_narsil
01-30-2003, 04:07 PM
Please support java. I've tried writing stuff I want my pda to do in Java using a varitey of different programs, but none are really that simple. I think there are a ton of people out there that would like to write programs for themselves, and don't want to learn eVS. Plus since a java app is a java app, you can run any program you want without doing anything to it.

Cardie
01-30-2003, 04:19 PM
The problem isn't the stubborness of not putting Java on the phone, it's because Java doesn't belong to Microsft, and they don't appear to want to have to be paying any suppliers out of their cut.

Same goes for MMS - standard owned by Nokia and requiring a licence fee, and bluetooth - standard owned by Ericsson - and again requiring a licence. If it's not 100% Microsoft, we can't be totaly responsible, so it won't go in.

At least this way yuo know everythign is tested against each other at a core level.

andrewsquire
01-30-2003, 04:54 PM
Although native Java and Brew support would be nice, my perception of those two technologies is that they are primarily used for games.

I can't believe people still have this perception of Java!

I am currently in the process of writing an enterprise scale, multi-platform supply chain application in Java (using an IDE written entirely in Java). It has interfaces for both web clients and for mobile devices. Running Java on a handheld client would be unbelievably useful. You could write true client/server request/response applications using existing enterprise tools and have lightweight, feature rich clients sitting on the handheld. I can't understand why Microsoft wouldn't put a JVM in PPC - the number of potential corporate uses would be overwhelming.

Janak Parekh
01-30-2003, 04:59 PM
I can't understand why Microsoft wouldn't put a JVM in PPC - the number of potential corporate uses would be overwhelming.
Simple - they'd rather you use the .NET Compact Framework. Not that I don't agree -- for our research purposes I'd love to see an up-to-date JVM on our Pocket PC. By the same token, though, Sun could easily develop one for WinCE... it doesn't have to be Microsoft. Do we really want MS to bundle everything?

--janak

andrewsquire
01-30-2003, 05:05 PM
I can't understand why Microsoft wouldn't put a JVM in PPC - the number of potential corporate uses would be overwhelming.
Simple - they'd rather you use the .NET Compact Framework. Not that I don't agree -- for our research purposes I'd love to see an up-to-date JVM on our Pocket PC. By the same token, though, Sun could easily develop one for WinCE... it doesn't have to be Microsoft. Do we really want MS to bundle everything?

--janak

Sounds like we are in violent agreement. :lol:

However, other handheld OS manufacturers (especially in the business field) do include (or at least will supply) a JVM for their platform. It would position Microsoft PPC as a more viable platform for these applications if it would support Java as well as .NET. Not all corporations are ready to migrate to this new platform until it has been well proven.

But you're right, it wouldn't do Sun much harm do develop one either.

johncj
01-30-2003, 05:08 PM
How exactly does it help Microsoft to put the proprietary Java and Brew on their devices? The misconceptions that people have about this area are unbelievable. Microsoft's tools and technologies are far more open and standard than anybody else in the cell phone arena. Microsoft is trying to build a platform. I don't know whether or not they will succeed, but I know that supporting the competition's already established platform would be insane. Microsoft is a business. They want to make money. They are really good at it. They have to build a compelling platform to attract developers and device manufacturers. Spending money on development and support for the competition doesn't make sense.

srider
01-30-2003, 05:08 PM
I can't understand why Microsoft wouldn't put a JVM in PPC - the number of potential corporate uses would be overwhelming.
Simple - they'd rather you use the .NET Compact Framework. Not that I don't agree -- for our research purposes I'd love to see an up-to-date JVM on our Pocket PC. By the same token, though, Sun could easily develop one for WinCE... it doesn't have to be Microsoft. Do we really want MS to bundle everything?

--janak

I think that's the key issue. I want a J2ME VM for my smartphone, but I don't expect MS to write it, why should they? Java competes directly with the .Net framework.

So, how about it Sun?

rbrome
01-30-2003, 05:21 PM
While it might be nice for Pocket PC Phone Edition, I think this is much more important for Windows Powered Smartphone.

If MS Smartphone is going to be embraced by carriers, (who pretty much control what phones are sold in the U.S.,) it needs to fit with the existing application platforms that the carriers are using. That means Java or BREW.

I think they could do without BREW - it's a proprietary Qualcomm technology that runs best on Qualcomm's CDMA chips. Only Verizon uses it, and they're not finding much success with it so far.

But Java is used everywhere - in phones and, well... everywhere. All of the major carriers except Verizon use it, and even Verizon has said that it plans to add support eventually. For Smartphone to be successful, it must work with the Java solutions the carriers are using, and it must tap into that developer community.

As for Pocket PC Phone Edition, I think that's aimed at a different type of user, who uses somewhat different applications. There's not as much overlap. When you have a PDA-type device with a large touchscreen, you're going to want more robust applications written for that type of device. Running cell-phone Java apps on a Pocket PC would be like playing Pong on an XBox. Still, Java support would be nice, but it's not necessary like it is with Smartphone.

Another thing Smartphone absolutely needs to support is MMS. It's a crucial technology. And Bluetooth would help tremendously.

All of these things are already possible with third-party solutions, but they are so important, so mandatory, that they should be built in to the OS. 90% of carriers will demand these features, and making them seek out and integrate a third-party solution makes it unecessarily difficult, which is slowing adoption.

EvilOne
01-30-2003, 05:24 PM
Java would be cool if it was on the device. Even better if it came with the device, maybe on a CD or even in ROM. But M$ should not have to do this for any of the devices. Let Sun or whoever do it since Java competes with .Net! But having Java readily available could then open the door to other developers. And maybe these new developers would create some applications and the world would be a better place.

JonathanWardRogers
01-30-2003, 05:28 PM
Why would Microsoft include proprietary software that fulfills the same need as open standards version already supported in CE? Java is just a proprietary version of ECMA <a href = "http://www.ecma.ch/publications/standards/ecma-334.htm">#334</a> and <a href = "http://www.ecma.ch/publications/standards/ecma-335.htm">#335</a> <a href = "http://www.ecma.ch/">open standards</a>. That's just crazy. Does that mean that all devices should come with the CLI? I don't see any .NET compact framework pre-installed on Palm devices. Why isn't anyone up in arms about that?

Rediculous!

Janak Parekh
01-30-2003, 05:35 PM
However, other handheld OS manufacturers (especially in the business field) do include (or at least will supply) a JVM for their platform.
Well, this is the thing--who actually writes the VM for the phone devices? Is it Sun, is it the phone manufacturer, or someone else? The development and update costs of the VM is substantial, and I can see why MS wouldn't want to do it themselves.

Microsoft's tools and technologies are far more open and standard than anybody else in the cell phone arena.
That's a sad irony, isn't it? Microsoft is hardly "open". By the same token, though, application signing has eliminated whatever openness users had in the mobile phone market. I hope they change that.

If MS Smartphone is going to be embraced by carriers, (who pretty much control what phones are sold in the U.S.,) it needs to fit with the existing application platforms that the carriers are using. That means Java or BREW.
You raise an interesting point. Is MS willing to integrate these standards so that they can push Smartphone harder? Would carriers demand it of MS? I think, honestly, that Java/BREW, while de facto right now, isn't dominant enough usagewise. But we'll see.

--janak

Abba Zabba
01-30-2003, 06:38 PM
I think it is horrible that any corporation should be forced to supply another corporations product. If Java or any type program wants to be qualified a a viable and valuable product for devices then let them bring it out for temself. MS has no responsibility for another code. Thats just MHO. :twisted: I say that let the bes company win. Isn't this suppose to be the free market enterprise system that the US lives by. Then why not watch and see the best comapny do the best job

Kevin Daly
01-30-2003, 06:50 PM
However, I think it might actually be in Microsoft's interests to provide support for Java and Brew, since it would make the Smartphone 2002 platform more attractive to developers.
...Especially when Smartphone operators/providers/vendors impose certification systems that otherwise act as obstacles to development.
Software sells both hardware and system software - anything that encourages more applications to be written for the smartphone platform, or enables applications to run on it (as well as elsewhere), can logically be of considerable material benefit to Microsoft.

Otherwise we might end up with "Nice OS, pretty phone - if only there was more software that would run on it I might even buy one".

JMountford
01-30-2003, 07:06 PM
If MS Smartphone is going to be embraced by carriers, (who pretty much control what phones are sold in the U.S.,) it needs to fit with the existing application platforms that the carriers are using. That means Java or BREW.
You raise an interesting point. Is MS willing to integrate these standards so that they can push Smartphone harder? Would carriers demand it of MS? I think, honestly, that Java/BREW, while de facto right now, isn't dominant enough usagewise. But we'll see.

I would almost Guarantee the Sprint PCS will require Java on any phone they certify for their network. While I do not think that BREW is as big a deal as it was supposed to be, JAVA is a big deal. I understand MS not wanting to support it. Heck I understand MS not wanting to support Netscape on the desktop. I understand MS not wanting to support JAVA on the desktop. And I understand why other companies are suing MS. MS makes an Operating System. I Love Windows I think Bill and co are great at making money, but I think they should have to support other languages natively. Hence Sun's Lawsuit. I figure MS may as well just at least put JAVA in any CDMA Smartphone release. Save everyone including themselves the trouble of having to do it later.

rlobrecht
01-30-2003, 07:24 PM
Running cell-phone Java apps on a Pocket PC would be like playing Pong on an XBox.

You can get Pong for the XBox? I'm in. :rock on dude!:

ExtremeSIMS
01-30-2003, 07:33 PM
Brew and Java are definitely not for just games. AOL Mobile Instant Messenger and ICQ are apps written for J2ME and Brew, and both are widely used.

gdaswani
01-30-2003, 08:56 PM
I'm actually wishing MS won't put Java in their phones.. At least that way, they will be less successfull in the the phones market which in turn will preserve competition.

JonathanWardRogers
01-30-2003, 09:52 PM
You raise an interesting point. Is MS willing to integrate these standards so that they can push Smartphone harder? Would carriers demand it of MS? I think, honestly, that Java/BREW, while de facto right now, isn't dominant enough usagewise. But we'll see.

--janak

Java/BREW is not a "standard", it is a proprietary piece of software that is an alternative to the standard, which is ECMA 334 and 335, or the Common Language Infrastructure and C#. I wish people would get off this "Java is a standard" kick. :roll:

JonathanWardRogers
01-30-2003, 09:56 PM
Brew and Java are definitely not for just games. AOL Mobile Instant Messenger and ICQ are apps written for J2ME and Brew, and both are widely used.

I've had an ICQ account long before J2ME and BREW came along, so I'm pretty sure it wasn't written for them.

Janak Parekh
01-30-2003, 10:01 PM
Java/BREW is not a "standard", it is a proprietary piece of software that is an alternative to the standard, which is ECMA 334 and 335, or the Common Language Infrastructure and C#. I wish people would get off this "Java is a standard" kick. :roll:
Hey, I didn't say it was an ISO or ECMA standard. De facto standards, like J2ME in cell phones, are legitimate sources of discussion. And J2ME is very much a de facto standard in cell phones.

I've had an ICQ account long before J2ME and BREW came along, so I'm pretty sure it wasn't written for them.
His point is that AIM and ICQ already have J2ME/BREW ports, not that they were initially written for them.

--janak

johncj
01-30-2003, 10:20 PM
Well, "de facto standard" implies that the technology has some consistency in implementation. If Java on the cell phone is a de facto standard why did I read this today:

Sun Microsystems released its first-ever guidelines for the use of Java in cell phones, an effort to shape up the chaotic way in which the programming language has been developed thus far for application in the world of wireless. [1]

Neither Brew nor Java is an official or de facto standard on cell phones. "Smart" phones are a hodge-podge mess of proprietary hardware, software, and networks. I suspect this situation will persist (at least in the U.S) until carriers re-examine their basic business model.

[1] http://rss.com.com/2100-1033-982810.html?type=pt&amp;part=rss&amp;tag=feed&amp;subj=news

Janak Parekh
01-30-2003, 10:41 PM
Well, "de facto standard" implies that the technology has some consistency in implementation.
Not necessarily--all "de facto standard" implies it's a standard "in reality", which it is -- most new color phones out there ship with J2ME. I agree that the implementations lack consistency, though. Inconsistent resolutions are a massive problem right now, for example.

--janak

Will T Smith
01-31-2003, 12:39 AM
Brew and Java are definitely not for just games. AOL Mobile Instant Messenger and ICQ are apps written for J2ME and Brew, and both are widely used.

While AOL IM isn't a game, it's certainly a toy. :-)

Back to the original topic. Sun has no version of Java2 Micro Edition for PocketPC. Check for yourself
http://java.sun.com/j2me/download.html. If Sun had the technology available, and Microsoft is intentionally stifiling (as they did on desktop PCs) I could sympathize. However, there is no standard sun Java for PocketPC. Only third party licensed software.


BREW requires licensing as well. Though, any mobile provider selling PocketPC phones can certainly install it on their devices. In the long run I don't believe that BREW is a viable option because it doesn't seem to have the same "managed environment" constraints as Java and .NET.


Microsoft is a long way off from dominating the Handheld market in the same way they do the desktop. There is really no justification for claiming that Microsoft should ship Java on their handhelds when their market share is still very much in the minority. As long as Microsoft doesn't coerce vendors into NOT installing .net competitors (JavaME, BREW, Waba) they are good legally.

Ultimatley, from Microsoft's standpoint it would be a waste of time to push Java when they have something that is arguably much, much better ... .NET. It's also far more advantageous as the .NET Studio will soon be able to deliver powerful solutions for handheld .NET implementations. All the skills from Windows .NET development will soon be DIRECTLY applicable to handheld using exactly the SAME tools and libraries.

The .NET CLR combined with C# should make a formidable competitor in the handheld space. The .NET runtime was designed to run much more efficiently than the Java VM. One reason is that it allows for linking to native legacy code to implement core library functionality meaning that core functionality that is implemented in C and C# can easily be integrated into the standard .NET library. This is forbidden in Java. It was the topic of contention that Sun sued Microsoft over (rightfully so) and prompted Microsoft to drop J++ development.

To summarize, don't look for "out of the box" Java soon or EVER.

Will T Smith
01-31-2003, 12:51 AM
One point to consider is whether .NET CLR will make inroads into other SmartPhone platforms beyond Microsoft. Microsoft has introduced the .NET components as industry standard betting (with good reason) that they can do a good job implementing it and stay on top.

Already, the mono project (spirited by Mr GNome) has implemented a CLR runtime, a C# compiler and major portions of the standard .NET library on Linux. Given their success and the availability of mono open source, it's very conceivable that mobile developers could implement .net runtimes for their platforms building upon the freely available mono open source.

I doubt that open sourcing their implementations would have much affect on cell-phone vendors since their is no real fear of "stealing" an open technology. Such a strategy would provide an excellent alternative Java and compatibility with Microsoft toolsets, something that would likely attract many developers who could directly apply their .NET skills to an alternative platform using their existing toolset in .NET Studio.

Such a move would also tap into the coming flood of .NET for PocketPC applications as many PocketPC apps could be run directly (depending on screen size etc...) on Smartphones with NO modification.

Just food for thought.

johncj
01-31-2003, 05:05 AM
Not necessarily--all "de facto standard" implies it's a standard "in reality", which it is -- most new color phones out there ship with J2ME. I agree that the implementations lack consistency, though. Inconsistent resolutions are a massive problem right now, for example.

--janak

Whoa, wait just a minute. I don't want to get into an argument over semantics, but words have meanings and, unless you subscribe to the "Alice in Wonderland" school of thought, you just contradicted yourself. A standard, whether open or proprietary, is defined by the interoperability of implementations. If different implementations of a supposed standard don't behave consistently, there is no standard. Just because J2ME is widely deployed is not reason enough to consider it a standard. Perhaps J2ME will become a standard, if Sun is successful with the effort announced today.

Of course, this entire discussion is totally irrelevant. The terms of the Sun/Microsoft lawsuit settlement PROHIBIT Microsoft from distributing J2ME.

Warwick
01-31-2003, 12:00 PM
I choose not to install java etc: on my desktop, notebook, and PPC. I would want the same choice on any device I own.

I fail to see why one company should be forced to support another companies product. As a business owner, if someone told me I had to support their product I would say "Sure for the right amount of money I will" but otherwise I would laugh. I think people fail to realise that this is a free world, and Microsoft is a company like any other and should have the freedom of choice like any other entity.

As a developer I choose not to program in java, if someone told me I had to then again I would only do it if that seemed like the best option, so far I havent found one and stick to C++... etc.

So to take an individuals right to freedom of choice is not right, why isnt it the same for a company. I just dont think its right, as jealous I am of Bills money.

Get over it and make your choice, let others do the same.

Roach
01-31-2003, 03:48 PM
I agree J2ME is not a standard, and I agree entirely that no company should be forced to do implement competitors features. However, I don't think that is the point most have been trying to get across.

Microsoft are a very small fish in the mobile phone market, Java/J2ME has huge backers like Nokia, Motorola, Sony-ericcsson. From a UK perspective carriers like Vodafone, T-Mobile, Orange etc. see the benefits of Java and have implemented loads of applications, and pay-to-play games in Java and already have this huge code base of applications ie They are creating revenue streams from Java.

Now along come Microsoft with there new platform. The big carriers are not going to re-implement all of their stuff in C#, in fact it is likely to be ignored and is to some degree. Nokia/Motorola/Sony are not going to implement .NET on their platform, why should they? Besides they could hardly be called friendly as they know what Microsoft are trying to achieve and don't want them to take over the market like they the desktop. So really Microsoft are left with three choices as I see it:

a) Implement Java on SmartPhone
b) Provide Java to .NET migration tools for J2ME apps like those available for desktop Java.
c) Watch their platform fade away as the fore mentioned companies continue to dominate

johncj
01-31-2003, 04:53 PM
Microsoft are a very small fish in the mobile phone market, Java/J2ME has huge backers like Nokia, Motorola, Sony-ericcsson. From a UK perspective carriers like Vodafone, T-Mobile, Orange etc. see the benefits of Java and have implemented loads of applications, and pay-to-play games in Java and already have this huge code base of applications ie They are creating revenue streams from Java.

Now along come Microsoft with there new platform. The big carriers are not going to re-implement all of their stuff in C#, in fact it is likely to be ignored and is to some degree. Nokia/Motorola/Sony are not going to implement .NET on their platform, why should they? Besides they could hardly be called friendly as they know what Microsoft are trying to achieve and don't want them to take over the market like they the desktop. So really Microsoft are left with three choices as I see it:

a) Implement Java on SmartPhone
b) Provide Java to .NET migration tools for J2ME apps like those available for desktop Java.
c) Watch their platform fade away as the fore mentioned companies continue to dominate

Uh, No. First, a company with USD $40 Billon in cash is no small fish in any market. That huge Java code base is composed of almost entirely device specific apps. There's no point in worrying about that stuff, it's a sunk cost for those carriers and developers. Compare this market to the handheld market. Microsoft has been reasonably successful without a PalmOS emulator, without porting major Palm apps to PocketPC, and without poaching PalmOS licensees. Look at the Xbox. No compatibility with Sony or Nintendo, but still doing pretty well. Where's the logic in your argument? Java to .NET migration is utterly unimportant on the desktop. Why would it be important for cell phones?

Janak Parekh
01-31-2003, 05:29 PM
Whoa, wait just a minute. I don't want to get into an argument over semantics, but words have meanings and, unless you subscribe to the "Alice in Wonderland" school of thought, you just contradicted yourself. A standard, whether open or proprietary, is defined by the interoperability of implementations.
Unfortunately, while that may be true in an ideal world, standards are rarely consistent and well-defined. Take Windows, for example -- the Win32 API can be called a "standard", but its implementation differs on Win98 vs. WinXP. Even a number of W3C standards have a lot of open vaguenesses in their RFCs and as a result there are implementations that are compatible only to different degrees. Let's not get into standards versions either. You can run J2ME apps across phone platforms, believe it or not - just not as often and as well as you should be able to. That's why they're refining it.

J2ME specifies a set of libraries and a set of functionality the VM must offer. It's certainly not enough, but I'm certainly not in the Cheshire Cat School of Thinking, either. :)

--janak

JonathanWardRogers
02-01-2003, 05:36 PM
It's also far more advantageous as the .NET Studio will soon be able to deliver powerful solutions for handheld .NET implementations. All the skills from Windows .NET development will soon be DIRECTLY applicable to handheld using exactly the SAME tools and libraries.

Actually, it does that already via the free .NET compact framework.

One reason is that it allows for linking to native legacy code to implement core library functionality meaning that core functionality that is implemented in C and C# can easily be integrated into the standard .NET library.

C++ yes, but C# has no functional differences with VB.NET, meaning totally managed code (.NET runtime code) is all you can write.

Nokia/Motorola/Sony are not going to implement .NET on their platform, why should they?

For the same reason that Netscape implemented ECMA script: because eventually an open standard version will win out over proprietary ones (i.e., JScript/Javascript).

Even a number of W3C standards have a lot of open vaguenesses in their RFCs and as a result there are implementations that are compatible only to different degrees.

Perhaps you should do a little more research before posting. At least look up the definition of RFC (http://dictionary.reference.com/search?q=RFC). W3C issues standards based on the input of working groups and a formal process. I program using many different W3C standards on a daily basis and I've never seen any "vaguenesses" in them. Incompatibilities usually arise from individual implimentations "extending" or "enhancing" the standard by adding their own proprietary information.

Let's not get into standards versions either. You can run J2ME apps across phone platforms, believe it or not - just not as often and as well as you should be able to. That's why they're refining it.

J2ME specifies a set of libraries and a set of functionality the VM must offer. It's certainly not enough, but I'm certainly not in the Cheshire Cat School of Thinking, either. :)

--janak

The problem is that Sun is controlling the design and development of Java and its related technologies instead of allowing the industry to design them. That is why .NET is a more logical platform to support than J2ME or BREW.

[i]can you tell i'm a .NET fan?:-)