[RANT] Why does Samsung take so long to update firmware?

Search This thread

3DSammy

Senior Member
May 5, 2011
1,252
617
Toronto
Thanks to DUHAsianSKILLZ and his theming how-to post I've tried my hand at theming. To do that you need to decompile and change some of Samsung's apks.

I have almost 40 years experience in software development including coding and managing software projects. As any developer worth their salt knows you avoid hard coding commonly used values as they invariable slow down further development or set you up for insidious bugs at some point which lead to costly delays.

Android provides developers a way to specify colors in an organized manner to prevent hard coding except in one place which is the colors.xml file. It even provides two levels of colors those at a system wide level from the framework-res's color.xml file and an apk's specific color file. This feature means there is no reason to specify the same hard coded value more than one time.

For instance there is a system wide non-transparent black that can be referenced such as "@android:color/black" that is the value "#ff000000". Even within an apk's own color.xml file you can specify a unique color and transparency then reference that color without hard coding that value again. For instance

Code:
   <color name="unique_color">#6600273b</color>
   <color name="s_view_background">@color/unique_color</color>
When developers use this level of abstraction changes to an app's colors is quick and less error prone.

As I began to theme I noticed an alarming number of times colors were hard coded in the color.xml file and within other definition files. It was so prevalent that I decided to check how many times non-transparent black and white where hard coded. Considering that these two colors are available system wide the hard code count should be exactly once for each color.

I used a Linux command line statement to count all occurrences of this color string in the decompiled apk's ("res" directory) for the framework-res, SystemUI and Settings apks. To distinguish if the issue of sloppy development standards was a Samsung only thing I also did the same test of the same Google stock firmware apks from my Nexus 5.
Code:
grep -oR '#ffffffff' | wc -l # count of hard coded non-transparent white
grep -oR '#ff000000' | wc -l # count of hard coded non-transparent black
Here are the results (The count should not be any higher than one):
framework-res (its defined colors are available system wide):
  • TabS: White 84; Black 100;
  • N5: White 61; Black 39;
SystemUI
  • TabS: White 291; Black 52;
  • N5: White 237; Black 11;
SecSettings on Tab S and Settings on N5:
  • TabS: White 77; Black 130;
  • N5: White 61; Black 3;
In conclusion, it is obvious that Samsung is a hardware company first and a software company dead last with little to no enforcement of quality control in their software development practices. This is a management issue that costs the company dearly in its ability to issue timely OS updates. I would not be surprised if the software teams wanted to commit suicide when Google released Lollipop and the massive change to the UI with material design.

Google certainly does not come out of this scot-free as their numbers are not much better than Samsung's. You can specifically see the costly nature of Touchwiz with the SecSettings apk where black is hard coded 130 time compared to Google's three. Simply insane!

Even if you could chip away at these numbers, they would still be inexcusable. Google should clean up its own shop and will be forced to as Android M promises OS level theming or a move towards that feature. But I get the feeling this is a systemic problem especially at Samsung which is costing the company at a time where they are desperate for a differentiater in an increasingly competitive market.

Here's my suggesting, Samsung pays Google to support their devices with stock Android for two years from the release date of any device. Samsung moves all its bloatware out of the system partition where it can be installed/uninstalled as each user wishes and they do that through their existing Galley store and a Samsung account. At least un-installing would recover usable internal space rather than the almost placebo effect removing bloatware from the system partition has other than a lower RAM foot print and faster boot times.

The cheers among users would be deafening and Samsung would pocket the savings for not having to support software it plainly does not know how to develop. I do not even care if they want to continue to include KNOX at an OS level for the business security market but would prefer it if they distinguish between business and regular users.

If a more experienced Android developer can explain that me stats are bogus I would be open to changing my opinion but so far this is likely to be the reason why my Tab S still has not seen Android v5.1.1 while its been available on my Nexus 5 and 10 for many months now. With the release of the Tab S2 tomorrow it starts to seem less likely my Tab S will see the latest Lollipop version let alone the dream of Android M, ever.

I could have gone on with other things I noticed such as styles or colors that are defined in two places with identical names but hopefully the stats I provided are evidence enough.
 
Last edited:

Tinderbox (UK)

Senior Member
Mar 31, 2010
2,325
436
England, UK
Samsung`s new S2 4:3 ratio tablets that are going to be announced tomorrow, I wonder how well they will sell, has Samsung made mistake releasing an 4:3 ratio tablet?

John.
 

3DSammy

Senior Member
May 5, 2011
1,252
617
Toronto
Samsung`s new S2 4:3 ratio tablets that are going to be announced tomorrow, I wonder how well they will sell, has Samsung made mistake releasing an 4:3 ratio tablet?

John.
It was a mistake as far as I am concerned as I bought my Tab S 10.5 just so I could get an AMOLED widescreen. I had not planned on buying a replacement for my Nexus 10 until next year. I do not user my tablet for business and watch plenty of videos along with reading/media consumption with my device.

In a way you cannot blame Samsung as they are desperate for an upturn in the tablet market and all the predictions that I've read is that work place tablets is the only growing market. Considering how many devices they make having two screen size versions should not have been too much of a stretch.

Same internals just different screen sizes within a category (8.x and 9/10.x). This is not the first time I've seen a device market go in a direction in which I loose interest. My Nexus 10 was bought out of curiosity/toy but much to my surprise became a favourite, heavily used, device making my phone secondary for anything other than telephony, SMS and grocery lists as the screen is just too dam small to spend sustained time with (Nexus 5).
 

Tinderbox (UK)

Senior Member
Mar 31, 2010
2,325
436
England, UK
I would like to see an A4 screen sized tablet as that is the normal paper size in most of the world for office use it might save on some trees, ebooks must have saved a bit by now.

John.
 

3DSammy

Senior Member
May 5, 2011
1,252
617
Toronto
I would like to see an A4 screen sized tablet as that is the normal paper size in most of the world for office use it might save on some trees, ebooks must have saved a bit by now.

John.
What I would buy in a heart beat is the Samsung AMOLED 16x9 screen in the form of an ASUS Padfone where your phone is inserted into a slot on the back of a larger screen/extra battery combo. Unfortunately ASUS does not use AMOLED technology or use flagship HW with their PadFones.

One day some one will make a big splash where your phone easily integrates seamlessly with docks/PadFone accessories. That may be Microsoft but they seem too incompetent when it comes to hardware as of yet. I do not mind paying a premium for powerful hardware if I get versatility and a lower total expense than buying two separate devices. The USB-C type connector seems to be a great opportunity for this type of functionality to emerge especially as accessories supporting that standard can come from many different vendors plus Android M likely adding OS support for USB-C.

We surely must be coming close as the mobile CPUs, memory and storage specs are improving so rapidly. You would think that telecoms would love the idea as it would encourage high mobile data plan use. Right now I would not buy a tablet that needs a data plan as I already feel gouged and almost exclusively use WiFi even when I'm not at home.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    Thanks to DUHAsianSKILLZ and his theming how-to post I've tried my hand at theming. To do that you need to decompile and change some of Samsung's apks.

    I have almost 40 years experience in software development including coding and managing software projects. As any developer worth their salt knows you avoid hard coding commonly used values as they invariable slow down further development or set you up for insidious bugs at some point which lead to costly delays.

    Android provides developers a way to specify colors in an organized manner to prevent hard coding except in one place which is the colors.xml file. It even provides two levels of colors those at a system wide level from the framework-res's color.xml file and an apk's specific color file. This feature means there is no reason to specify the same hard coded value more than one time.

    For instance there is a system wide non-transparent black that can be referenced such as "@android:color/black" that is the value "#ff000000". Even within an apk's own color.xml file you can specify a unique color and transparency then reference that color without hard coding that value again. For instance

    Code:
       <color name="unique_color">#6600273b</color>
       <color name="s_view_background">@color/unique_color</color>
    When developers use this level of abstraction changes to an app's colors is quick and less error prone.

    As I began to theme I noticed an alarming number of times colors were hard coded in the color.xml file and within other definition files. It was so prevalent that I decided to check how many times non-transparent black and white where hard coded. Considering that these two colors are available system wide the hard code count should be exactly once for each color.

    I used a Linux command line statement to count all occurrences of this color string in the decompiled apk's ("res" directory) for the framework-res, SystemUI and Settings apks. To distinguish if the issue of sloppy development standards was a Samsung only thing I also did the same test of the same Google stock firmware apks from my Nexus 5.
    Code:
    grep -oR '#ffffffff' | wc -l # count of hard coded non-transparent white
    grep -oR '#ff000000' | wc -l # count of hard coded non-transparent black
    Here are the results (The count should not be any higher than one):
    framework-res (its defined colors are available system wide):
    • TabS: White 84; Black 100;
    • N5: White 61; Black 39;
    SystemUI
    • TabS: White 291; Black 52;
    • N5: White 237; Black 11;
    SecSettings on Tab S and Settings on N5:
    • TabS: White 77; Black 130;
    • N5: White 61; Black 3;
    In conclusion, it is obvious that Samsung is a hardware company first and a software company dead last with little to no enforcement of quality control in their software development practices. This is a management issue that costs the company dearly in its ability to issue timely OS updates. I would not be surprised if the software teams wanted to commit suicide when Google released Lollipop and the massive change to the UI with material design.

    Google certainly does not come out of this scot-free as their numbers are not much better than Samsung's. You can specifically see the costly nature of Touchwiz with the SecSettings apk where black is hard coded 130 time compared to Google's three. Simply insane!

    Even if you could chip away at these numbers, they would still be inexcusable. Google should clean up its own shop and will be forced to as Android M promises OS level theming or a move towards that feature. But I get the feeling this is a systemic problem especially at Samsung which is costing the company at a time where they are desperate for a differentiater in an increasingly competitive market.

    Here's my suggesting, Samsung pays Google to support their devices with stock Android for two years from the release date of any device. Samsung moves all its bloatware out of the system partition where it can be installed/uninstalled as each user wishes and they do that through their existing Galley store and a Samsung account. At least un-installing would recover usable internal space rather than the almost placebo effect removing bloatware from the system partition has other than a lower RAM foot print and faster boot times.

    The cheers among users would be deafening and Samsung would pocket the savings for not having to support software it plainly does not know how to develop. I do not even care if they want to continue to include KNOX at an OS level for the business security market but would prefer it if they distinguish between business and regular users.

    If a more experienced Android developer can explain that me stats are bogus I would be open to changing my opinion but so far this is likely to be the reason why my Tab S still has not seen Android v5.1.1 while its been available on my Nexus 5 and 10 for many months now. With the release of the Tab S2 tomorrow it starts to seem less likely my Tab S will see the latest Lollipop version let alone the dream of Android M, ever.

    I could have gone on with other things I noticed such as styles or colors that are defined in two places with identical names but hopefully the stats I provided are evidence enough.