X

Sign in

Sign in to confirm

Have you forgotten your password?

... or login with Facebook:

Don't have an AndroidPIT account yet? Sign up

[User Blog] Where Is All This Lag Coming From?

Christopher Silva
12

Using my Jellybean powered GalaxyS2 is a pleasure. Project Butter shines and everything’s real smooth. Feeling the love, I go ahead and open Facebook and then - ugh. Yep, just click on the baby-blue 'F' icon and feel the pain. This thing is so slow. And while waiting I can only wonder, what the hell is going on here? Why are some apps fast and others so slow.

Using my Jellybean powered GalaxyS2 is a pleasure. Project Butter shines and everything’s real smooth. Feeling the love, I go ahead and open Facebook and then - ugh. Yep, just click on the baby-blue 'F' icon and feel the pain. This thing is so slow. And while waiting I can only wonder, what the hell is going on here? Why are some apps fast and others so slow.

Any of you who’ve had an iPhone in your hand have noticed that iOS, though extremely boring, is fluid and buttery smooth. Why is this? Don't worry there is a clear explanation! I mean, the current Android hardware is amazing, new phones have 2 gigs of memory and super-fast processers! Why are most Apple products so damn smooth and our Android devices often laggy?

The answer lies in the UX. What's that you ask? Let’s have a quick look.

Most apps for iOS are developed natively with C or C++. This is commonly known as the, Native Development Kit or NDK. When developing for Android you can also go ‘native’. But a nice cross platform option is available too- Dalvik. Similar to JVM, Dalvik uses JIT compilation (Just In Time). This adds a process layer to the app. And adding another layer, be it compilation or whatever, equals a reduction in speed or a possible wait time. However miniscule, maybe only milliseconds if this happens a lot you may have to wait or feel lag.

Basically if an app is programmed in native mode it should run faster. There is a lot of hot contention about the speed difference from C++, Java and Dalvik. We mustn’t forget that there are dependencies like OpenGl for games. C++ seems to run super smooth on OpenGl and not so smooth elsewhere. But we have seen that most apps can and should be tuned. Apple has clear development kits as do Google. Developers just need to follow them. So if Facebook would finally tune or re-write their app to work best natively it would be a hell of a lot smoother. We cannot forget that we have a lot of different hardware standards and Apple has a hardware eco system that is tightly defined. That is why devs are using the cross platform options. They’ll work great on most devices. If you look at apps that are made for Tegra, they really shine. Well you get what I mean. I believe this is why Samsung is throwing amazing hardware around, to compensate for Dalvik and or cross platform developing. They are ensuring a solid performance across the board via powerful hardware.

Where are we heading? I am very happy with the diversity of hardware. I love the fact that I can get so many processor options, from Ti, Exynos, to Qualcomm. This is just good for the consumer. I also think hardware over-compensation will continue till Google comes up with a final solution. And guess what, it’s working. Android phones are out selling all other contenders.

I would still like to request that the big players go native. Come on Facebook, clean up your act.
 

Related Topics

Related Articles

News / Hardware
1 10 hours ago

CyanogenMod 11s for the Nexus 5: how to get it

News / Hardware
9 1 day ago

Nexus 6 ''confirmed'' as being built by Motorola

News / Hardware
2 1 day ago

Google Nexus 6 reportedly a 5.9 inch phablet developed by Motorola

Comments

Write new comment:
  • Dogukan Nov 27, 2012 Link

    Thanks for the information. I was thinking the same thing the other day. How come apps for droid are laggy and ios ones are stable. Well shame on the developers then, mostly Facebook developers :D

    0
    0
  • User picture
    Admin
    Christopher Silva Nov 27, 2012 Link

    Yeah, this is about taking the easy way out I guess.

    0
    0
  • Dvoraak Nov 27, 2012 Link

    Turn on Galaxy S3
    Open S3 Task Manager
    "RAM status" 660 MB / 1.59 GB
    Press "Clear Memory"
    "49 Applications closed".................... I'll repeat that

    "49 Applications closed".................... WTF!!!!

    "RAM status" 449 MB / 1.59 GB

    And one of the Google founders thinks there should be more carrier bloatware on the phones. Again......... WTF!!!!

    Even on a 1 gig device the OS and bloat will use 500 to 600 MB. That's a recipe for lag. On a decent device that lag might not even be noticeable to a long time Android user..... but it's enough to infuriate a long time iOS user.

    Here's to spec overkill. It's needed. Unfortunately it leads to devices that aren't any cheaper than the latest iPhone though.

    0
    0
  • User picture
    Admin
    Christopher Silva Nov 28, 2012 Link

    Hi Dvoraak, I agree to some degree. When you look at Cyanogen's Roms you realize that the get the full OS down to 100+- MB. Then we have a look at Samsung or LG or HTC and they all sit at between 350-600 MB. This can easily be considered bloat. Many users love the functionality that they have implemented in to skins like Sense and TW. I personally like stock, but that's just me. I do speak with users who hate stock and love Sense. I guess we're all different. Long live spec overkill !

    0
    0
  • Shidobu Nov 28, 2012 Link

    Task killers are just making android phones more laggy. Android doesn't need lots of free space, it's not a pc...

    0
    0
  • User picture
    Admin
    Christopher Silva Nov 28, 2012 Link

    Shidobu, this is why I wrote the article about the UX. Thanks for the feedback.

    0
    0
  • Dvoraak Nov 28, 2012 Link

    I agree that app store task managers are worthless but I disagree about Android not needing much available memory. If INDIVIDUAL Android devices are going to go head to head with Apple, GS3 or Note 2 they need smoother performance than 1 gig of memory will provide. Sad to say but long time Android users have lower standards than iOS users when it comes to UI performance.

    0
    0
  • User picture
    Admin
    Christopher Silva Nov 28, 2012 Link

    Dvoraak, this is why most top end phones are sporting 2GB of Ram

    0
    0
  • chinu Nov 28, 2012 Link

    Thanks for the wonderful clarification chris.....

    0
    0
  • User picture
    Admin
    Christopher Silva Nov 29, 2012 Link

    Chinu, your welcome. Thanks :-)

    0
    0
  • Hans J. Dec 4, 2012 Link

    No offense to the author, the article itself is great, but he really needs to double-check his facts.

    You start off by talking about how the Facebook Android app is bad, and you blame it on Dalvik. The app may well be bad, but Dalvik is not the reason. I am not sure about the current state of the Facebook app, but at least before it was coded in HTML5 and wrapped up in a app. Using this method ensures fantastic portability, but it more often then not results in a slow and painful user experience.

    Next you mention that if developers made their apps native, they would be faster. This is true, if it's done right. However where dalvik is optimized on a per-device basis, it would be hard for developer Joe to optimize his native app for even the most popular phones, yet alone the less popular ones. So if you are not making something performance critical (like games), you should generally stay away from the Android NDK, and go with the standard SDK (like most other apps in the market).

    0
    0
  • User picture
    Admin
    Christopher Silva Dec 4, 2012 Link

    None taken :-)

    0
    0