Linked by Thom Holwerda on Wed 26th Jun 2013 13:03 UTC
PDAs, Cellphones, Wireless "Market trends in Western Europe are not looking good for Apple's iPhone. 'Apple's iOS continues to lose ground as market share declined to 20% from 25% in 1Q12 [first quarter 2012]', IDC said Tuesday. Android, meanwhile, is gaining operating system market share, up 14 percent year-to-year in the first quarter. 'Android continues to dominate the smartphone landscape', according to IDC. In the quarter, Google's OS shipped 21.9 million units and market share increased to 69 percent in the first quarter of 2013 from 55 percent in last years' first quarter." On top of that, Apple got knocked out of the top five in India, where it's also bleeding market share. The America-centred large technology sites that dominate our reporting often fail to spot this huge problem for Apple: the company is only doing well in the US. It's losing everywhere else. And just in case you don't know: 'everywhere else' is 95% of the world, and that's where future growth is to be found. The fact that Apple hasn't addressed this yet is exactly why its shares aren't doing stellar anymore.
Thread beginning with comment 565667
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Why?
by fretinator on Wed 26th Jun 2013 15:27 UTC in reply to "Why?"
Member since:

A few clarifications - Android does not run Java. It executes DALVIK byte code. Java is used in development and compiled to DALVIK byte code. The Java VM is stack based, DALVIK is register based. Both can also use JIT compilation to speed execution. Lastly, Android apps can also have a significant portion of the app written natively via the Android NDK. This is native code executing at native speed.

The problem with Android is not the DALVIK VM layer, it is the multi-programming/memory model. In iOS, background apps are mostly frozen. On Android, everyone and his Mother has a service process running in the background. It doesn't take long to clog up the phone's memory. Sure, stuff is swapped out of memory, but the net effect is still occasional sluggishness (depending on the hardware specs). This is why T-Mobile sends out periodic alerts to all of its Android users when they have not restarted their phone after a certain amount of time.

It reminds me of the Palm vs. Windows CE. Palms apps were running one at a time (except for a few media apps or utilitites). It was the job of the app to remember its state when it came back (I wrote a couple Palm apps). CE apps were always clogging up memory, and I had to frequently either clear them out or restart the phone.

Reply Parent Score: 8

RE[2]: Why?
by OSbunny on Wed 26th Jun 2013 16:55 in reply to "RE: Why?"
OSbunny Member since:

But that's better right? Android has true multitasking.

Reply Parent Score: 5

RE[3]: Why?
by Laurence on Wed 26th Jun 2013 17:06 in reply to "RE[2]: Why?"
Laurence Member since:

But that's better right? Android has true multitasking.

Android doesn't have true multitasking. It's actually more a hybrid between the Palm and WinCE model (IIRC, Android will run n apps concurrently and kill apps that are older than n. It's the job of the app to remember it's state.

However Apps can also create services and such like, which can prevent it from being killed. Then you have widgets, custom launchers (et al) and a few other exceptions.

Reply Parent Score: 3

RE[2]: Why?
by moondevil on Wed 26th Jun 2013 19:53 in reply to "RE: Why?"
moondevil Member since:

It runs Java the language, but not Java the implementatation.

Sometimes I wonder what Sun employees were smoking to give the same name to language and runtime.

Anyway, given the ongoing issues with Oracle, either it will be Java the language version 6 forever, or they need to migrate developers to something else. I am assuming no agreement will come out of it.

Reply Parent Score: 4

RE[3]: Why?
by fretinator on Thu 27th Jun 2013 18:07 in reply to "RE[2]: Why?"
fretinator Member since:

Just to continue in my picky ways, I don't know what it means to say an operating system runs a language. For instance, I created a Basic Derivative called YeBasic for a class (used Archaic English terms for everything). I translated the YeBasic to C++ and then compiled the C++ to native executable. As long as there was a C++ compiler for a platform, I could compile my program for that platform (including my translator, which was written in C++ also). I wouldn't say the platform "ran" my language Yebasic.

Thus, back to Android, any platform that can compile the DALVIK machine can run an android application. I don't know what it takes to port DALVIK to you OS, but if it was ported to say, OpenBSD (not likely!), then I would say OpenBSD runs Android apps, not Java.

BTW, there is a Basic IDE for creating Android apps called Basic4Android. I assume it is translating the Basic code to Java, and then compiling the Java Code to DALVIK bytecode.

OK, that's enough of me!

Reply Parent Score: 2