<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Google Android</title>
	<atom:link href="http://www.jillesvangurp.com/2007/11/12/google-android/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jillesvangurp.com/2007/11/12/google-android/</link>
	<description>Yet another blog</description>
	<pubDate>Thu, 20 Nov 2008 14:59:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>By: Jilles</title>
		<link>http://www.jillesvangurp.com/2007/11/12/google-android/#comment-19803</link>
		<dc:creator>Jilles</dc:creator>
		<pubDate>Tue, 29 Jan 2008 19:54:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.jillesvangurp.com/2007/11/12/google-android/#comment-19803</guid>
		<description>Wrong forum for this drhu00. But let me bounce the question: why should Nokia risk its reputation or that of its partnering operators by letting you distribute your potentially very buggy and malicious software to our users? The stakes are pretty high here, Nokia sold a few hundred million phones last year. If anything goes wrong, we get the blame + cost for damage control and possibly legal cost. Your acquisition of a phone certainly doesn't compensate Nokia for that risk. You knew (or could have known) what was in the package and allegedly it is a pretty popular phone for what it does out of the box and for what you can install on it in terms of third party software. In short, Nokia owes you nothing. Now since you got this bundled with a AT&#038;T subscription, basically you probably got it for a pretty nice price. The downside of that is that AT&#038;T gets to decide on how much they lock down the firmware. I can't advice you how to get around that but unlocking and flashing with fully functional firmware provided by Nokia should in principle be possible (though it might violate terms of use with AT&#038;T). 

I'm not a big fan of this method of restricting APIs either but it sure is very effective so far in preventing bad stuff from happening while at the same time succeeding in getting plenty of third party software signed and out there ready for you to install. 

I can't speak for AT&#038;T of course. The ability to disable or restrict access to certain features is important for operators, that's just the way it is. In some places operators use this ability more than in others. The US is probably one of the worst places in that sense. Part of Nokia's success (outside US mostly) is due to the ability to cater to operator requirements like this. The whole symbian signed deal is part of this game. I fully expect Google to do something similar; or Apple; or anyone for that matter. 

Your decision to pay up is of course up to you. It's my understanding that barring use of restricted APIs, your cost is going to be limited to paying up to Verisign for a certificate (200$) + additional cost for testing, if you wish to distribute your binaries to others. For testing on your own device, the cost is free, check here: http://developer.symbian.com/main/signed/ for more details on how to fix that. I'm actually quite sympathetic here and I think it is very regrettable &#038; understandable if people like you decide not to support our devices for reasons of cost. But that's just my opinion.

BTW. For J2ME applications there is no Symbian signed at all unless you need access to specific restricted APIs. I don't know about JSR 135 and why some operators limit it and other JSRs. I imagine AT&#038;T is protecting or trying to protect their own business.</description>
		<content:encoded><![CDATA[<p>Wrong forum for this drhu00. But let me bounce the question: why should Nokia risk its reputation or that of its partnering operators by letting you distribute your potentially very buggy and malicious software to our users? The stakes are pretty high here, Nokia sold a few hundred million phones last year. If anything goes wrong, we get the blame + cost for damage control and possibly legal cost. Your acquisition of a phone certainly doesn&#8217;t compensate Nokia for that risk. You knew (or could have known) what was in the package and allegedly it is a pretty popular phone for what it does out of the box and for what you can install on it in terms of third party software. In short, Nokia owes you nothing. Now since you got this bundled with a AT&#038;T subscription, basically you probably got it for a pretty nice price. The downside of that is that AT&#038;T gets to decide on how much they lock down the firmware. I can&#8217;t advice you how to get around that but unlocking and flashing with fully functional firmware provided by Nokia should in principle be possible (though it might violate terms of use with AT&#038;T). </p>
<p>I&#8217;m not a big fan of this method of restricting APIs either but it sure is very effective so far in preventing bad stuff from happening while at the same time succeeding in getting plenty of third party software signed and out there ready for you to install. </p>
<p>I can&#8217;t speak for AT&#038;T of course. The ability to disable or restrict access to certain features is important for operators, that&#8217;s just the way it is. In some places operators use this ability more than in others. The US is probably one of the worst places in that sense. Part of Nokia&#8217;s success (outside US mostly) is due to the ability to cater to operator requirements like this. The whole symbian signed deal is part of this game. I fully expect Google to do something similar; or Apple; or anyone for that matter. </p>
<p>Your decision to pay up is of course up to you. It&#8217;s my understanding that barring use of restricted APIs, your cost is going to be limited to paying up to Verisign for a certificate (200$) + additional cost for testing, if you wish to distribute your binaries to others. For testing on your own device, the cost is free, check here: <a href="http://developer.symbian.com/main/signed/" onclick="javascript:pageTracker._trackPageview('/http://developer.symbian.com/main/signed/');" rel="nofollow">http://developer.symbian.com/main/signed/</a> for more details on how to fix that. I&#8217;m actually quite sympathetic here and I think it is very regrettable &#038; understandable if people like you decide not to support our devices for reasons of cost. But that&#8217;s just my opinion.</p>
<p>BTW. For J2ME applications there is no Symbian signed at all unless you need access to specific restricted APIs. I don&#8217;t know about JSR 135 and why some operators limit it and other JSRs. I imagine AT&#038;T is protecting or trying to protect their own business.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: drhu00</title>
		<link>http://www.jillesvangurp.com/2007/11/12/google-android/#comment-19802</link>
		<dc:creator>drhu00</dc:creator>
		<pubDate>Tue, 29 Jan 2008 19:05:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.jillesvangurp.com/2007/11/12/google-android/#comment-19802</guid>
		<description>If I unlock my nokia 6085 from AT&#38;T and switch to a different operator, does the restricted API will be change or removed? I thought that different company has different set, for example, some operator will allow the JSR 135 getSnapshot without sign the jar.

The real question is why should I pay money $500 to get my application be signed. I developed my application and want to test it on my Nokia 6085 phone (which I paied money already), why should I pay 3rd party big money???

Nokia is the manufacture for my phone. AT&#38;T, as the operator, provide to access to their wireless network. As long as the application doesn't access your AT&#38;T network, AT&#38;T must provide a way for US to access our phone's property! For example, to take a picture using my phone since getSnapshot is purely to access my phone's camera, it is nothing to do with your network security. If I want test it on my phone, I know the security risk for my phone.

I know for the same phone Nokia 6085, in different country, different operator are allow to access the JSR135 API. But Why AT&#38;T disable it?</description>
		<content:encoded><![CDATA[<p>If I unlock my nokia 6085 from AT&amp;T and switch to a different operator, does the restricted API will be change or removed? I thought that different company has different set, for example, some operator will allow the JSR 135 getSnapshot without sign the jar.</p>
<p>The real question is why should I pay money $500 to get my application be signed. I developed my application and want to test it on my Nokia 6085 phone (which I paied money already), why should I pay 3rd party big money???</p>
<p>Nokia is the manufacture for my phone. AT&amp;T, as the operator, provide to access to their wireless network. As long as the application doesn&#8217;t access your AT&amp;T network, AT&amp;T must provide a way for US to access our phone&#8217;s property! For example, to take a picture using my phone since getSnapshot is purely to access my phone&#8217;s camera, it is nothing to do with your network security. If I want test it on my phone, I know the security risk for my phone.</p>
<p>I know for the same phone Nokia 6085, in different country, different operator are allow to access the JSR135 API. But Why AT&amp;T disable it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jilles</title>
		<link>http://www.jillesvangurp.com/2007/11/12/google-android/#comment-19793</link>
		<dc:creator>Jilles</dc:creator>
		<pubDate>Wed, 21 Nov 2007 11:06:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.jillesvangurp.com/2007/11/12/google-android/#comment-19793</guid>
		<description>I think there is much more behind this than licensing. Google is only adding to the fragmentation now and besides, J2ME is not that fragmented or screwed beyond repair. Googles's own J2ME apps seem to work fine on most J2ME phones at least. The older, midp 1.0 API was very limited which caused vendors to add APIs of their own. This is a main reason for incompatibility. With midp 2 that is much less of a problem. 

Other problems arise from differences in formfactors and hardware capabilities. That is a hard problem to work around at the API level. J2ME does a reasonable job but it remains to be seen how Android handles this.

Regardless of this, there is more than a billion J2ME phones out there with  reasonable compatibility for MIDP 1.0 and MIDP 2.0 (for the subset that supports this) across platforms. Android doesn't offer an alternative cross platform API. Instead it requires replacing the entire platform.

Implementing J2ME on top of Android should indeed not be that difficult. Consequently, not making it part of Android is motivated by non technical reasons. I'm pretty sure license issues are not it.

BTW. forget about operators and vendors not locking down the platform. The user granted privilege model is hopelessly broken since most users will just select "OK" or "YES" when confronted with a game that won't run until you do so. This leaves the door wide open to all sorts of malware so operators will insist on proper locks so that they can control what goes on the phone. Android provides the regular Java security hooks so it should be easy to lock down access to e.g. phone or SMS  APIs.</description>
		<content:encoded><![CDATA[<p>I think there is much more behind this than licensing. Google is only adding to the fragmentation now and besides, J2ME is not that fragmented or screwed beyond repair. Googles&#8217;s own J2ME apps seem to work fine on most J2ME phones at least. The older, midp 1.0 API was very limited which caused vendors to add APIs of their own. This is a main reason for incompatibility. With midp 2 that is much less of a problem. </p>
<p>Other problems arise from differences in formfactors and hardware capabilities. That is a hard problem to work around at the API level. J2ME does a reasonable job but it remains to be seen how Android handles this.</p>
<p>Regardless of this, there is more than a billion J2ME phones out there with  reasonable compatibility for MIDP 1.0 and MIDP 2.0 (for the subset that supports this) across platforms. Android doesn&#8217;t offer an alternative cross platform API. Instead it requires replacing the entire platform.</p>
<p>Implementing J2ME on top of Android should indeed not be that difficult. Consequently, not making it part of Android is motivated by non technical reasons. I&#8217;m pretty sure license issues are not it.</p>
<p>BTW. forget about operators and vendors not locking down the platform. The user granted privilege model is hopelessly broken since most users will just select &#8220;OK&#8221; or &#8220;YES&#8221; when confronted with a game that won&#8217;t run until you do so. This leaves the door wide open to all sorts of malware so operators will insist on proper locks so that they can control what goes on the phone. Android provides the regular Java security hooks so it should be easy to lock down access to e.g. phone or SMS  APIs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cyberdog</title>
		<link>http://www.jillesvangurp.com/2007/11/12/google-android/#comment-19792</link>
		<dc:creator>Cyberdog</dc:creator>
		<pubDate>Wed, 21 Nov 2007 10:40:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.jillesvangurp.com/2007/11/12/google-android/#comment-19792</guid>
		<description>I disagree with either Jilles and Java Man on their lament Google decided not to use J2ME as the API. 

1, I think main reason for this is licensing..it won't be possible under AL. 
2, J2ME is too limited/optional and implementations are too buggy so the whole platform is fragmented/screwed beyond repair. I think they made a good choice.
3, it is possible to implement J2ME API on top of Android. Thus you get the best of both worlds : new, consistent platform that will simplify that ridiculous process of testing/tweaking/certifying the application on zillions of devices and you still can transform the "legacy" applications for Android quite easily as they are all Java.

I only hope the actual devices will be same as the SDK emulator and it won't be possible for operator to "lock" it in any way. I want to be able to install on MY device whatever I want with privilegies I decide, since it is MY device, not operator's.</description>
		<content:encoded><![CDATA[<p>I disagree with either Jilles and Java Man on their lament Google decided not to use J2ME as the API. </p>
<p>1, I think main reason for this is licensing..it won&#8217;t be possible under AL.<br />
2, J2ME is too limited/optional and implementations are too buggy so the whole platform is fragmented/screwed beyond repair. I think they made a good choice.<br />
3, it is possible to implement J2ME API on top of Android. Thus you get the best of both worlds : new, consistent platform that will simplify that ridiculous process of testing/tweaking/certifying the application on zillions of devices and you still can transform the &#8220;legacy&#8221; applications for Android quite easily as they are all Java.</p>
<p>I only hope the actual devices will be same as the SDK emulator and it won&#8217;t be possible for operator to &#8220;lock&#8221; it in any way. I want to be able to install on MY device whatever I want with privilegies I decide, since it is MY device, not operator&#8217;s.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Java Man</title>
		<link>http://www.jillesvangurp.com/2007/11/12/google-android/#comment-19791</link>
		<dc:creator>Java Man</dc:creator>
		<pubDate>Wed, 14 Nov 2007 20:26:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.jillesvangurp.com/2007/11/12/google-android/#comment-19791</guid>
		<description>Good job Jilles, a very balanced and fair assessment of the Google SDK as it stands today. 

I too was sadly disappointed to learn that Google was re-inventing the wheel and putting out yet another type of Java development environment. It will make my work harder now since I have to port my J2ME code to Android over the next few months.

However, as a J2ME developer in the US, my experience has been that the best minds, companies and standards bodies  (Sun, IBM, Motorola, Nokia, Samsung, RIM, Palm, AT&#38;T, Verizon Wireless, Microsoft, Apple, OSGI and the JCP and of course Google itself ) to date (after many many years of effort) have yet to put out a mobile platform that provides for freedom of choice, open development and easy and open deployment, cross-platform compatibility with great security and privacy of course.

I say let's give someone else a chance now!

There is a good chance that Google might be able to pull something off now if they could get carrier backing. Sun and the JCP were getting nowhere!

Now, I only hope that Google exercises common sense and gradually rolls in all the great technical (but not managerial) work Sun and the JCP has been doing. So maybe we could end up with the best of both worlds.

I look forward to reading some more of your excellent writing.</description>
		<content:encoded><![CDATA[<p>Good job Jilles, a very balanced and fair assessment of the Google SDK as it stands today. </p>
<p>I too was sadly disappointed to learn that Google was re-inventing the wheel and putting out yet another type of Java development environment. It will make my work harder now since I have to port my J2ME code to Android over the next few months.</p>
<p>However, as a J2ME developer in the US, my experience has been that the best minds, companies and standards bodies  (Sun, IBM, Motorola, Nokia, Samsung, RIM, Palm, AT&amp;T, Verizon Wireless, Microsoft, Apple, OSGI and the JCP and of course Google itself ) to date (after many many years of effort) have yet to put out a mobile platform that provides for freedom of choice, open development and easy and open deployment, cross-platform compatibility with great security and privacy of course.</p>
<p>I say let&#8217;s give someone else a chance now!</p>
<p>There is a good chance that Google might be able to pull something off now if they could get carrier backing. Sun and the JCP were getting nowhere!</p>
<p>Now, I only hope that Google exercises common sense and gradually rolls in all the great technical (but not managerial) work Sun and the JCP has been doing. So maybe we could end up with the best of both worlds.</p>
<p>I look forward to reading some more of your excellent writing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Hortin</title>
		<link>http://www.jillesvangurp.com/2007/11/12/google-android/#comment-19790</link>
		<dc:creator>Alex Hortin</dc:creator>
		<pubDate>Mon, 12 Nov 2007 23:58:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.jillesvangurp.com/2007/11/12/google-android/#comment-19790</guid>
		<description>great article, saves me from having to look into it.  It's really unfortunate they chose the sandbox model, takes a lot of the revolutionary potential away from it.  Looks like the only place for true open source mobile is OpenMoko</description>
		<content:encoded><![CDATA[<p>great article, saves me from having to look into it.  It&#8217;s really unfortunate they chose the sandbox model, takes a lot of the revolutionary potential away from it.  Looks like the only place for true open source mobile is OpenMoko</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jilles</title>
		<link>http://www.jillesvangurp.com/2007/11/12/google-android/#comment-19789</link>
		<dc:creator>Jilles</dc:creator>
		<pubDate>Mon, 12 Nov 2007 22:11:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.jillesvangurp.com/2007/11/12/google-android/#comment-19789</guid>
		<description>Hi,

In general most operators will insist on controlling software on their network for a number of reasons that include security and desire to control end user experience. Especially security is increasingly important as devices are getting hooked up to the internet and people start downloading all sorts of stuff with them. It only takes one buffer overflow in C++ for a hacker to take over the device even if the application itself was harmless. Most mobile platforms have no concept of root or a user so that makes any native application a risk.

Anyone wanting to release a phone platform will have to deal with this in order for operators to deploy/allow phones with the platform on their networks. That's true for everybody in the business currently. Most platforms don't allow for native application installation at all (e.g. many of the current linux phone platforms are completely locked down). The ones that do tend to be tightly controlled by operators and vendors.

J2ME was designed specifically to allow developers access to more sensitive parts of the functionality using a permissions system based on Java security APIs. However, J2ME was designed for really limited devices initially which means there is all sorts of technical limitations. Google seems to plan to make a fresh start but still, Google is using a similar security mechanism in their API now. Android applications need to ask permission to do stuff like making phone calls. This permission can be granted by the user but it might also be denied by the Operator ... I fully expect similar mechanisms to be used by Apple when they release their SDK in a few months.

Nokia and Symbian also provide protection for native applications. Using certificates, you can get access to parts of the API that are protected. Certification involves a process that ensures that Nokia verifies the application is not malicious and that the associated developer can be trusted. For example to programmatically send an SMS you would need the right certificate. This has proven to be an acceptable solution to operators and now that the S60 v3.x platform is stabilizing and getting on more and more phones, we're seeing lots of interesting development happening on the platform inside and outside Nokia. Symbian was rather dismissive about Android last week. I don't really agree with that position but clearly Google has some catching up to do with us. Nokia has large developer communities around Java, Symbian and Maemo. 

Especially the maemo development is really open. I'd say it is the only commercially backed open mobile linux platform currently with products in the shop today. Maemo as you note does not have a cellular stack currently; nor does it currently have a way to restrict access to APIs (which makes it the ideal mobile linux device for hackers since you can do anything you want on it). As announced a few weeks ago there will be wimax variant of N810 but still without call functionality (other than the various VOIP software packages). This is a similar use case as equipping a laptop with a wimax card so operators are pretty OK with this. I can't comment on what the future will bring though.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>In general most operators will insist on controlling software on their network for a number of reasons that include security and desire to control end user experience. Especially security is increasingly important as devices are getting hooked up to the internet and people start downloading all sorts of stuff with them. It only takes one buffer overflow in C++ for a hacker to take over the device even if the application itself was harmless. Most mobile platforms have no concept of root or a user so that makes any native application a risk.</p>
<p>Anyone wanting to release a phone platform will have to deal with this in order for operators to deploy/allow phones with the platform on their networks. That&#8217;s true for everybody in the business currently. Most platforms don&#8217;t allow for native application installation at all (e.g. many of the current linux phone platforms are completely locked down). The ones that do tend to be tightly controlled by operators and vendors.</p>
<p>J2ME was designed specifically to allow developers access to more sensitive parts of the functionality using a permissions system based on Java security APIs. However, J2ME was designed for really limited devices initially which means there is all sorts of technical limitations. Google seems to plan to make a fresh start but still, Google is using a similar security mechanism in their API now. Android applications need to ask permission to do stuff like making phone calls. This permission can be granted by the user but it might also be denied by the Operator &#8230; I fully expect similar mechanisms to be used by Apple when they release their SDK in a few months.</p>
<p>Nokia and Symbian also provide protection for native applications. Using certificates, you can get access to parts of the API that are protected. Certification involves a process that ensures that Nokia verifies the application is not malicious and that the associated developer can be trusted. For example to programmatically send an SMS you would need the right certificate. This has proven to be an acceptable solution to operators and now that the S60 v3.x platform is stabilizing and getting on more and more phones, we&#8217;re seeing lots of interesting development happening on the platform inside and outside Nokia. Symbian was rather dismissive about Android last week. I don&#8217;t really agree with that position but clearly Google has some catching up to do with us. Nokia has large developer communities around Java, Symbian and Maemo. </p>
<p>Especially the maemo development is really open. I&#8217;d say it is the only commercially backed open mobile linux platform currently with products in the shop today. Maemo as you note does not have a cellular stack currently; nor does it currently have a way to restrict access to APIs (which makes it the ideal mobile linux device for hackers since you can do anything you want on it). As announced a few weeks ago there will be wimax variant of N810 but still without call functionality (other than the various VOIP software packages). This is a similar use case as equipping a laptop with a wimax card so operators are pretty OK with this. I can&#8217;t comment on what the future will bring though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tgo</title>
		<link>http://www.jillesvangurp.com/2007/11/12/google-android/#comment-19788</link>
		<dc:creator>tgo</dc:creator>
		<pubDate>Mon, 12 Nov 2007 21:18:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.jillesvangurp.com/2007/11/12/google-android/#comment-19788</guid>
		<description>I've also looked at the Android SDK, read the "Developing using C++" thread on the Android Developer Group and was quit disappointed to learn its merely a Java platform (though on top of a completely integrated stack). Now I've stumbled over your blog and have a couple of related questions: you say operators insist on locking a device down .. why? Does that apply in particular to native apps with full access? How does that fit with Symbian being quite "open" to native apps and with Maemo built into Nxxx devices with no cellular? Thx, Tobias</description>
		<content:encoded><![CDATA[<p>I&#8217;ve also looked at the Android SDK, read the &#8220;Developing using C++&#8221; thread on the Android Developer Group and was quit disappointed to learn its merely a Java platform (though on top of a completely integrated stack). Now I&#8217;ve stumbled over your blog and have a couple of related questions: you say operators insist on locking a device down .. why? Does that apply in particular to native apps with full access? How does that fit with Symbian being quite &#8220;open&#8221; to native apps and with Maemo built into Nxxx devices with no cellular? Thx, Tobias</p>
]]></content:encoded>
	</item>
</channel>
</rss>
