Main problem with Apple is that they usually recognize 5 years too late that they have to change their policies. I see the 80s all over again with the iPhone...
The IPhone indeed was years ahead of everyone else. Which is sad considering how much time the others had to do something useful. Well Microsoft and Nokia laughed first, but I cannot see them laughing anymore. As for Android, I have a newly HTC Hero, and I think Android is getting where the iPhone is, in some parts it is better (openness of applications) in some parts it is slightly worse (handling of the settings part and generally too many buttons to press) But at least on the Android side the gap is very narrow already. I think Apple in a years time will have a harder time to convince people to buy their expensive phone/contracts over the cheaper competition doing the same mostly. We run slowly into the same situation we had on the PC side in the mid 80s and again Apples attude prevents a bigger success.
No unfortunatly it is true, the main issue here is that the stock android phones not the dev phones lock you down into usermode and Storing the apps on the SD card is not an option on those, Apps2sd can be obtained, but you have to hack your kernel open (root it) to enable it. Why it works on the G1 out of the box is because the phone is rooted out of the box, but the G1 has other limits, the Ram is measly compared to the newer phones.
You can enable apps2sd with a hacked kernel, it is beyound me why Google does not enable it per default. The same goes for various tethering options, USB tethering works on newer phones unless the carries wants it to be removed, yet OSX does not provide proper RNDIS drivers for the plug and play Android has to work, neither does anyone else (hello there is a market out there) and the fix for this Wifi tethering is only available on hacked kernels for Android devices. Android is excellent, but those small things are really weaknesses on the operating system integrated into most devices. Hello google, a simple APPS2SD and Swap2SD settings button would go miles for most users (you even can issue a fair warning there) and Wifi Tethering (Hello HTC, there are Mac Users out there, who would love to get Tethering working without hacking your phones)
Google just controls some parts of the applications delivered with any android handset, like google mail or google maps. And I agree with another poster before, with the recent split between apple and google, those things will likely not appear that way on the iphone, and since android phones are cheaper I guess the iPhones hayday is over now.
Problem with this solution is that you need a good mobile connection all the time while you are driving. This maybe works out for the SF Area and other rural areas where UMTS/CDMA coverage is pretty good but as soon as you hit the country side, you are in for an evil surprise. And in fact I need my current navigational system usually for two things, navigate around in cities I do not know to well, and go to the countryside in areas unknown to me (or other countries) For europe you just say hickup and you are in another country and wham even if you have UMTS coverage (which you likely will have) roaming suddenly starts to rear its ugly head. Id rather pay 60 bucks for a full all europe offline navigation system than to rely on google maps navigation alone. In the US the situation might be different however.
Never will happen, politics is too afraid of the media cartels, why do you think they get laws passed down our throats on a worldwide scale (well lets say US - Western European scale) while the industry is comparatively small compared to others which are hurt by the law (and the general public which has only limited saying in affairs nowadays anyway)
Sorry to say that but owning most newspapers and tv they have a free ride on anything what they do, the politicians simply need them way too much to really hit them hard.
You dont hear it from the users either... But otherwise they probably would have bought a different phone;-) I think the biggest issue nowadays is not the underlying language but how fast the graphics rendering can be and if you have occasional hicckups (lag) Java while not being as fast as C++ is fast enough nowadays and you gain a lot by using it, faster development times better isolation and security etc... sure there are applications where the usage of java is probably not feasable but then you can move down to C++ and assembly if you need.
Ok thanks for the clarification having had to do with java for almost 10 years now I was not aware of this subset of the jdk. (well if you spend your time mostly in server programming, oh well... )
The article is pure FUD in this area, while it is true the bytecode format is non standard the VM and the format are opensource even under the very liberal apache2 license, add to that that the SDK consists of following parts, the JVM part which is a subset of the standard java classlib, parts of the apache commons and then the android part, everything is opensource. Yes if you program against it you lock yourself against the Android API, but seriously who cares the entire API is opensource, I do not see a lockin here, at least not worse than other platforms.
Not sure if it makes yet sense to put a full blown desktop/server jvm onto a mobile phone, the reason for this is, the VMs are optimized for desktop computers, which means they do not spare ram instead they try to gobble up everything you give to them, and they also do some heavy optimizations in the background which might cost the ARM a load of cycles it could spend otherwise. Add to that that most java se programs are not designed with a portable phone in mind an you might end up with a mess here.
Better wait a little bit regarding Samsung, here in Europe we have the Samsung Galaxy i7500 already while on paper the phone really looks great, a lot of people are very unsatisfied with it, the reason is shoddy failing hardware and partially a buggy firmware add to that that there currently is no multitouch support and the phone is close to a desaster. A first effort by Samsung but it probably needs another 1-2 hardware revisions until the kinks are worked out.
In case of android root access really helps, besides that you still run in a supervisor, root access currently is the only way to get following things working a) swapping onto SD to increase your virtual memory b) Offloading applications onto the SD to free up the internal memory c) Wifi Tethering (which is enabled if you run a custom kernel, currently no phone vendor has this enabled by default)
Dont get me wrong with a sane phone configuration none of this really would need root access, but no phone vendor currently (and probably in the near future) has this turned on on Android.
The problem of not providing root access out of the box is a telephone companies/producers thing. Google probably has nothing to say in this regard, the official developers phone has root access out of the box. The complaints in this area goes towards HTC/Samsung/Motorola which seem to have a problem with giving users full root access, even on non branded phones. As long as they are hackable this is a non issue, but it is rather pointless that HTC for instance tries to remove the holes which allow easy root access on their phones. After all what do they gain by doing so, nothing, but they get a load of early customers by not making it too hard. I guess that is the eastern/asian mentality.
Besides that the usage of eclipse in android is not mandatory, you can use the command line build tools, but why ignoring eclipse if the sdk has a good plugin, this would be like shooting yourself into the foot just for proofing you can shoot yourself into the foot.
Not sure if your assumption is right. First of all the Android VM is an entirely different beast than the standard JDK, it is not a stack based vm anymore but a register based, also the tie in between the vm and the processor is way deeper with the included arms having java accelerating command sets included. Thirdly the bytecode itself is not java anymore either it is post processed and some specific optimization is applied upfront. Third, the class lib provided is huge and a load of methods root directly into native functions instead of trying to implement as much as possible in java. So so far java as language of choice in the android world works out pretty well, I dont hear complaints that the android development is hard or that you have a speed problem by using java.
Your personal point of view is not the one of the average user, the reason is, the average user does not care whether he has linux underneath him or if the programs are native c++ programs or java programs, he just wants to have a fine phone ui and wants a machine which works. Same goes for the average programmer who just wants to have tooling and documentation which can get the job done.
Hen and egg problem, I personally think Apple simply was not enough to keep the PowerPC floating, lets face it Wintel simply killed it. IBM is slowly moving away from the entire hardware business, my personal guess is the next division which will be axed and sold off will be the processor division, and outside of the server space absolutely no one was interested in the power pc anyway, it would have taken more than simply apple to pull off the power pc as new desktop processor standard, if there was a chance at all. Not even the vastly superior Alpha was able to break into Intels domain, and the PowerPC never was that much superior to begin with, speedwise.
As if the xbox processor would have made sense, the xbox processor is basically three g4 cores with some simd units attached on top, nothing fancy and not even that fast compared to amds and intels offerings, why should apple pay for the next processor generation if they can get it for free mostly on intels side. The powerpc market was also killed by ibm not really enforcing the desktop anymore. After the G4 and G5 they did not have any new designs in the pipeline and even their own workstation offerings are not that interesting anymore, and outside of that no one really enforced the PowerPC. It was mostly IBMs fault that they moved away from the desktop not Apples. It probably was not funny for Steve as well, to finally recognize, that IBM has nothing in the pipeline regarding future desktop and notebooks.
Apple did not kill the PPC market. IBM did at least the desktop market, one day they decided to give up the PPC desktop processors without telling Apple. Apple did not have a choice, there were new desktop and notebook processors in the pipeline, while IBM busily was working on their high end server processors and was designing console processors for Sony and Microsoft with their old cores.
The main reason why the CPU does not suck power is because most if not all mobile phones use ARM CPU cores. Imagine a mobile phone with an ATOM, shudder... You would gain some speed but your mobile phone would need fans:-(
Well the Spring Hero has Cupcake with additional drivers to enable CDMA, I expect things to become somewhat faster with the 1.6 update (which no one using a hero has currently), but the performance fixes are already in. If you want more performance then you probably either have to wait for the 1.6 update or you have to use a custom kernel and probably enable swap (which should give the biggest boost) Also have in mind you have to terminate background applications from time to time and remove some of the widgets to get more performance.
(Still waiting for my HTC Hero which should come next week)
Even in the EU you can see differences. I am from central Europe, and sometimes I can only shake my head on the US you have to abide by the law no matter what mentality. We here have the mentality that law is done by people and sometimes the law is not fair so public disrespect and civil disobediance has to be done. That starts with small things but can also go big. My personal opinion is this is the best way to cope with laws because as everything in life even laws are not a black and white thing, but if you live that way you have to live with getting punished (which literally no one cares here, unless the punishment starts to hurt severely)
So we dont have a black and white view on law. I assume if you go further east this becomes more along the lines of a nationalistic view of we only care about laws which are done by us and no one else. (We dont have that view on due to our history)
I guess our view is due to our history we have run through 2 fascistic governments in the last 100 years and the laws back then neither wair fair nor could you obey them without getting into conflict with your personal conscience. There is always something above the law because law is done by man.
Main problem with Apple is that they usually recognize 5 years too late that they have to change their policies. I see the 80s all over again with the iPhone...
The IPhone indeed was years ahead of everyone else. Which is sad considering how much time the others had to do something useful. Well Microsoft and Nokia laughed first, but I cannot see them laughing anymore.
As for Android, I have a newly HTC Hero, and I think Android is getting where the iPhone is, in some parts it is better (openness of applications) in some parts it is slightly worse (handling of the settings part and generally too many buttons to press)
But at least on the Android side the gap is very narrow already.
I think Apple in a years time will have a harder time to convince people to buy their expensive phone/contracts over the cheaper competition doing the same mostly.
We run slowly into the same situation we had on the PC side in the mid 80s and again Apples attude prevents a bigger success.
No unfortunatly it is true, the main issue here is that the stock android phones not the dev phones lock you down into usermode and
Storing the apps on the SD card is not an option on those, Apps2sd can be obtained, but you have to hack your kernel open (root it) to enable it.
Why it works on the G1 out of the box is because the phone is rooted out of the box, but the G1 has other limits, the Ram is measly compared to the newer phones.
You can enable apps2sd with a hacked kernel, it is beyound me why Google does not enable it per default.
The same goes for various tethering options, USB tethering works on newer phones unless the carries wants it to be removed, yet OSX does not provide proper RNDIS drivers for the plug and play Android has to work, neither does anyone else (hello there is a market out there)
and the fix for this Wifi tethering is only available on hacked kernels for Android devices.
Android is excellent, but those small things are really weaknesses on the operating system integrated into most devices.
Hello google, a simple APPS2SD and Swap2SD settings button would go miles for most users (you even can issue a fair warning there)
and Wifi Tethering (Hello HTC, there are Mac Users out there, who would love to get Tethering working without hacking your phones)
Google just controls some parts of the applications delivered with any android handset, like google mail or google maps.
And I agree with another poster before, with the recent split between apple and google, those things will likely not appear that way on the iphone, and since android phones are cheaper I guess the iPhones hayday is over now.
Problem with this solution is that you need a good mobile connection all the time while you are driving. This maybe works out for the SF Area and other rural areas where UMTS/CDMA coverage is pretty good but as soon as you hit the country side, you are in for an evil surprise.
And in fact I need my current navigational system usually for two things, navigate around in cities I do not know to well, and go to the countryside in areas unknown to me (or other countries)
For europe you just say hickup and you are in another country and wham even if you have UMTS coverage (which you likely will have) roaming suddenly starts to rear its ugly head. Id rather pay 60 bucks for a full all europe offline navigation system than to rely on google maps navigation alone. In the US the situation might be different however.
Never will happen, politics is too afraid of the media cartels, why do you think they get laws passed down our throats on a worldwide scale (well lets say US - Western European scale) while the industry is comparatively small compared to others which are hurt by the law (and the general public which has only limited saying in affairs nowadays anyway)
Sorry to say that but owning most newspapers and tv they have a free ride on anything what they do, the politicians simply need them way too much to really hit them hard.
You dont hear it from the users either... ;-)
But otherwise they probably would have bought a different phone
I think the biggest issue nowadays is not the underlying language but how fast the graphics rendering can be and if you have occasional hicckups (lag)
Java while not being as fast as C++ is fast enough nowadays and you gain a lot by using it, faster development times better isolation and security etc... sure there are applications where the usage of java is probably not feasable but then you can move down to C++ and assembly if you need.
Ok thanks for the clarification having had to do with java for almost 10 years now I was not aware of this subset of the jdk.
(well if you spend your time mostly in server programming, oh well...
)
The article is pure FUD in this area, while it is true the bytecode format is non standard the VM and the format are opensource even under the very liberal apache2 license, add to that that the SDK consists of following parts, the JVM part which is a subset of the standard java classlib, parts of the apache commons and then the android part, everything is opensource. Yes if you program against it you lock yourself against the Android API, but seriously who cares the entire API is opensource, I do not see a lockin here, at least not worse than other platforms.
Not sure if it makes yet sense to put a full blown desktop/server jvm onto a mobile phone, the reason for this is, the VMs are optimized for desktop computers, which means they do not spare ram instead they try to gobble up everything you give to them, and they also do some heavy optimizations in the background which might cost the ARM a load of cycles it could spend otherwise.
Add to that that most java se programs are not designed with a portable phone in mind an you might end up with a mess here.
Better wait a little bit regarding Samsung, here in Europe we have the Samsung Galaxy i7500 already while on paper the phone really looks great, a lot of people are very unsatisfied with it, the reason is shoddy failing hardware and partially a buggy firmware add to that that there currently is no multitouch support and the phone is close to a desaster. A first effort by Samsung but it probably needs another 1-2 hardware revisions until the kinks are worked out.
In case of android root access really helps, besides that you still run in a supervisor, root access currently is the only way to get following things working
a) swapping onto SD to increase your virtual memory
b) Offloading applications onto the SD to free up the internal memory
c) Wifi Tethering (which is enabled if you run a custom kernel, currently no phone vendor has this enabled by default)
Dont get me wrong with a sane phone configuration none of this really would need root access, but no phone vendor currently (and probably in the near future) has this turned on on Android.
The problem of not providing root access out of the box is a telephone companies/producers thing. Google probably has nothing to say in this regard, the official developers phone has root access out of the box.
The complaints in this area goes towards HTC/Samsung/Motorola which seem to have a problem with giving users full root access, even on non branded phones.
As long as they are hackable this is a non issue, but it is rather pointless that HTC for instance tries to remove the holes which allow easy root access on their phones. After all what do they gain by doing so, nothing, but they get a load of early customers by not making it too hard.
I guess that is the eastern/asian mentality.
Besides that the usage of eclipse in android is not mandatory, you can use the command line build tools, but why ignoring eclipse if the sdk has a good plugin, this would be like shooting yourself into the foot just for proofing you can shoot yourself into the foot.
Not sure if your assumption is right. First of all the Android VM is an entirely different beast than the standard JDK, it is not a stack based vm anymore but a register based, also the tie in between the vm and the processor is way deeper with the included arms having java accelerating command sets included. Thirdly the bytecode itself is not java anymore either it is post processed and some specific optimization is applied upfront. Third, the class lib provided is huge and a load of methods root directly into native functions instead of trying to implement as much as possible in java.
So so far java as language of choice in the android world works out pretty well, I dont hear complaints that the android development is hard or that you have a speed problem by using java.
Your personal point of view is not the one of the average user, the reason is, the average user does not care whether he has linux underneath him or if the programs are native c++ programs or java programs, he just wants to have a fine phone ui and wants a machine which works.
Same goes for the average programmer who just wants to have tooling and documentation which can get the job done.
I have had one on my notebook computer for 1 1/2 years so far with daily usage, no problem whatsoever.
Hen and egg problem, I personally think Apple simply was not enough to keep the PowerPC floating, lets face it Wintel simply killed it. IBM is slowly moving away from the entire hardware business, my personal guess is the next division which will be axed and sold off will be the processor division, and outside of the server space absolutely no one was interested in the power pc anyway, it would have taken more than simply apple to pull off the power pc as new desktop processor standard, if there was a chance at all. Not even the vastly superior Alpha was able to break into Intels domain, and the PowerPC never was that much superior to begin with, speedwise.
As if the xbox processor would have made sense, the xbox processor is basically three g4 cores with some simd units attached on top, nothing fancy and not even that fast compared to amds and intels offerings, why should apple pay for the next processor generation if they can get it for free mostly on intels side.
The powerpc market was also killed by ibm not really enforcing the desktop anymore. After the G4 and G5 they did not have any new designs in the pipeline and even their own workstation offerings are not that interesting anymore, and outside of that no one really enforced the PowerPC. It was mostly IBMs fault that they moved away from the desktop not Apples. It probably was not funny for Steve as well, to finally recognize, that IBM has nothing in the pipeline regarding future desktop and notebooks.
Apple did not kill the PPC market. IBM did at least the desktop market, one day they decided to give up the PPC desktop processors without telling Apple. Apple did not have a choice, there were new desktop and notebook processors in the pipeline, while IBM busily was working on their high end server processors and was designing console processors for Sony and Microsoft with their old cores.
Actually the ARM windows is WindowsCE and that one is currently seriously at a decline.
The main reason why the CPU does not suck power is because most if not all mobile phones use ARM CPU cores. Imagine a mobile phone with an ATOM, shudder... :-(
You would gain some speed but your mobile phone would need fans
Well the Spring Hero has Cupcake with additional drivers to enable CDMA, I expect things to become somewhat faster with the 1.6 update (which no one using a hero has currently), but the performance fixes are already in.
If you want more performance then you probably either have to wait for the 1.6 update or you have to use a custom kernel and probably enable swap (which should give the biggest boost)
Also have in mind you have to terminate background applications from time to time and remove some of the widgets to get more performance.
(Still waiting for my HTC Hero which should come next week)
Even in the EU you can see differences. I am from central Europe, and sometimes I can only shake my head on the US you have to abide by the law no matter what mentality. We here have the mentality that law is done by people and sometimes the law is not fair so public disrespect and civil disobediance has to be done. That starts with small things but can also go big.
My personal opinion is this is the best way to cope with laws because as everything in life even laws are not a black and white thing, but if you live that way you have to live with getting punished (which literally no one cares here, unless the punishment starts to hurt severely)
So we dont have a black and white view on law. I assume if you go further east this becomes more along the lines of a nationalistic view of
we only care about laws which are done by us and no one else.
(We dont have that view on due to our history)
I guess our view is due to our history we have run through 2 fascistic governments
in the last 100 years and the laws back then neither wair fair nor could you obey
them without getting into conflict with your personal conscience.
There is always something above the law because law is done by man.