Thursday, December 3, 2015

HTC Sense 7.0 "G" version explained

Together with the latest and greatest HTC One A9 we saw the HTC Sense 7.0 "G" edition user interface for the first time. What exactly is the "G" version and how it differs from the "regular" version?


Probably the "G" comes from a "Google", because HTC wanted it be as close to the stock Android 6.0 Marshmallow UX as possible, allowing for certain carrier requirements and feature necessities. So, for example, in the "G" edition we have the stock notification window and Quick Settings, while the full Settings menu is HTC's Sense version due to carrier customization requirements.

HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)

HTC also worked to reduce or eliminate duplicative apps in every case possible. So, for example, the HTC Music player is gone in favour of Google Music. In a couple cases HTC needed to pre-load HTC's apps to support certain features, such as HTC Gallery to support RAW images, in addition to Google Photos. So what's gone for sure?

- HTC Backup
- HTC Music
- Print Studio
- One Gallery
- Peel Smart Remote
- Polaris Office
- Scribble

All the rest seems to be still there. And it doesn't look much different to the Sense 7.0 "regular" version because a lot of components (such as Calendar, Mail, Clock, Camera, Sense Home, Weather etc.) are accessible via Google Play store. What's also different is the HTC default accent colours, the "G" edition is a bit less colourful.

HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)

HTC's  plan when M8 and M9 begin rolling out Android 6.0 Marshmallow is to maintain UX consistency with Sense 7.

The main screen looks exactly the same, as well as most parts of the UI (except the colours scheme).

HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)
HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)
HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)
HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)
HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)
HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)
HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)
HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)
HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)
HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)
HTC Sense 7.0 (left) vs HTC Sense 7.0 "G" (right)

Do you have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!


For latest news follow Android Revolution HD on popular social platforms:

Sunday, October 25, 2015

The future of Android Revolution HD


It's been quite a long time since I updated some of custom ROMs for HTC One series devices. This weekend I was able to release 2 major update for the HTC One M8 and HTC One M9.


Re-build from the beginning using latest 2.10.401.1 base
De-odexed using latest tools with better arm64 support
SuperSU updated to latest 2.52
Updated Google apps
Updated custom apps
Updated HTC apps
Sense Toolbox updated to latest 2.2.1
Total ROM size reduced by almost 200MB
Other minor changes and fixes
Based on the latest 4.16.401.13 update
SuperSU updated to latest 2.52
Updated Google apps
Updated custom appsUpdated HTC apps
Sense Toolbox updated to latest 2.2.1
Total ROM size reduced by almost 200MB
Other minor changes and fixes
Now, the short story. If you're wondering what's the reason behind my little activity on the custom ROMs development field, it's because last 4 months brought a lot of changes in my life. In June 2015 I became a proud father of the most beautiful girl in the world. As you can imagine, priorities changed :)


Also, I got married with my fiancée few weeks ago. We planned this marriage since 2013, but as always, last few weeks of preparations were extremely busy. Plus the baby was already here :)

It's worth to mention, that during last few years Android Revolution HD was the most popular custom ROM for high-end HTC devices. With a total number of 6.430.689 downloads (6,5 millions !!!) Android Revolution custom ROMs series became the biggest and most desirable custom ROM for the HTC high-end devices.

Android Revolution HD will still be supported, and all projects will be still continued. I just can't spend as much time on it as I used to spend in the past. Plus the the real life business I own expanded and developed significantly, so I need to focus now on my family and work. Both needs me :)

PS. I'm thinking about getting a Nexus 6P as my next daily device, as soon as it's available in my country. Are you considering Nexus 6P as your next device too? Would you like to run Android Revolution HD on it? Let me know, as I'm trying to find out if it's worth to start N6P custom ROM development.

Do you have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!


For latest news follow Android Revolution HD on popular social platforms:

Tuesday, October 20, 2015

HTC One A9 officially presented

No more leaks and no more speculations. The newest HTC Android device - HTC One A9 was officially presented today, at the HTC #BeBrilliant Launch event. Although it's hard to predict the future of the One A9 by looking only at the hardware specification, the device itself is described by many as controversial due to middle-end Snapdragon 617 SoC and iPhonish design. Is it justified? I'd say - NO.

First of all I'm still using "old" HTC One M8 as my daily device. I've never had One M9 and being honest I never "really badly wanted" to have one. In my opinion M9 has a great hardware but the design is a step back to the M7 days. With the M8 it was different. I literally felt in love in that piece of metal uni-body art ever since I touched it for the first time. This love continues, even tho my M8 looks like after one year of a high mountains climbing trip. Surprisingly, even the "C" letter detached from the back and lost somewhere. So it's just "H" & "T" now. But I still love it.

With the One A9 I feel like I could possibly use it as my next Android device. Even if the hardware may seems worse than One M9 is equipped with, my general opinion in that matter is simple: if you can't see a real performance difference in a real life operations between two devices, go for the one with a better design.
In my opinion Snapdragon 617 SoC is more than enough to satisfy 99% of customers. It's enough to handle newest games and it should generate much less heat than infamous Snapdragon 810. That means it will also throttle less. With AMOLED display it should find new fans among Samsung users too.
"The Qualcomm® Snapdragon™ 617 processor with X8 LTE combines a fast and powerful octa-core CPU with integrated Snapdragon X8 LTE, full 1080p support, and dual-ISPs, designed to deliver the next high-end experiences." - link to Snapdragon 617 specs page.
The overall hardware specification doesn't look bad on the paper and I can't wait to see how One A9 behaves in real.

About the "almost iPhone design" argument - yes, it's true that it does look like an iPhone. Yes, it's true that HTC was first with such design. The question is - does it really matter? HTC One M9 design was unique and awful (sorry to say that). HTC One A9 design is not as unique, but it just looks good. It doesn't bring any innovation, but I'm sure it will find more supporters rather than the M9 design.

Unlike many of my friends I'm pleased with what HTC presented today. As a HTC One M8 owner the One A9 sounds like a nice upgrade option to me, the first good looking phone after the One M8.

You can find more details about the HTC One A9 on the official page - HTC One A9.


Do you have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!


For latest news follow Android Revolution HD on popular social platforms:

Monday, October 12, 2015

How To: recalibrate battery life on HTC devices

This method is an official one, recommended by the HTC Technical Support Team. Finally we have some alternative to the old myth related with re-calibrating the battery by removing the batterystats.bin file from /data/system location, as it has no impact on the battery life.

So if you're having some problems with battery life, for example it rapidly or erratically discharges (the battery indicator says 18% left but then suddenly, 5 seconds later your device is OFF) this procedure should help, as it clears all battery stats, coordinates and normalizes charging. At least HTC Technical Support says that :)

The procedure is simple:
  1. Make sure that Fastboot option is disabled in Power settings.
  2. Turn off your phone.
  3. Plug phone into HTC charger and charge for two minutes or more.
  4. While charging, hold down volume-up + volume-down + power button and continue holding. Phone will turn on and off repeatedly every 15 seconds or so while continuing to hold all three buttons.
  5. Keep this going for 2 minutes, then release all buttons when phone is ON.
  6. Now, let phone charge fully normally (with phone either on or off) and battery level reporting, charging and battery life should be normalized.
So... have you tried it? Did it help? Let me know!

Do you have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!


For latest news follow Android Revolution HD on popular social platforms:

Wednesday, June 24, 2015

The Truth About Kernels and Battery Life by flar2

When it comes to Android kernels, the number one topic of discussion these days is battery life. But there are many myths about the relationship between kernel and battery life. At one extreme, there are those who make outrageous claims about radical changes to battery life minutes or hours after installing a kernel. At the other extreme are those who think the kernel makes absolutely no difference at all to battery life. The truth lies somewhere in the middle.

Before we get to the “truth” of the matter, I want to clarify a few things.

First, the kernel does not “drain” battery. Many times, a user installs a kernel and then reports back soon after that the kernel has caused massive battery drain (and probably also something to the effect that the kernel is crap and the dev should burn in hell for his efforts). To prove it, they post screenshots from battery monitoring apps showing “kernel” as the major source of drain. This is very misleading. On Android devices, the kernel provides a mechanism for keeping the phone awake, called a wakelock. Processes running on the device (e.g. apps and services) can ask the kernel for a wakelock, and the kernel will oblige. So yes, the kernel is technically keeping the phone awake, but only because an app or service has asked it to. It is these apps and services that are misbehaving and causing drain, not the kernel.

But that is not to say the kernel does not cause any battery drain. It still uses memory and does work, but the amount it uses is exceedingly small compared to the Android system, apps and services. There are also special hardware cases, such as the sweep2wake feature on the Nexus 5, which requires that the LCD panel remain powered on in order to work. This drains more battery than if the device were suspended normally, but still does not cause “massive” drain. On the Nexus 5, sweep2wake adds roughly 2% per hour drain while the screen is off. Not insignificant, but far less than the phone normally uses while the screen is on. Because of this, a strong myth has developed, claiming that sweep2wake and doubletap2wake cause battery drain. Except for the Nexus 5, it is just that, a myth. On the vast majority of devices, the battery drain from sweep2wake is negligible, usually something zero and 0.5% per hour, which would “cost” no more than 5% battery usage over the course of a workday. A perfectly acceptable trade-off for the convenience.

The second thing I want to clarify pertains to measurement. How do we measure battery life? I like to look at percent usage per hour. Many battery monitoring apps can give you this statistic, but you have to pay attention and set custom time points if you want to distinguish the stats further and really understand battery usage. If you do want to measure and compare, make sure you do so under similar conditions. And you must do so over a reasonable time period, which means days rather than hours. If you have some routines where you use the same apps every day, this would be a good way to test and compare. The battery monitor in EX Kernel Manager automatically provides the two statistics I will now talk about: idle drain and active drain.

Idle drain is battery drain while the screen is off. During screen off, the phone spends most of its time in “deep sleep”. Sometimes, it wakes up to do some background work, like syncing email or checking for updates. These would be examples of the system, apps or services “asking” the kernel to stay awake while they perform their tasks. If all is working correctly, when they finish, the device goes back to sleep. Idle drain should be measured over several hours to get an accurate picture. A good time to measure it is overnight while you aren’t using your device (if you are not a dev and actually get to sleep). On most devices, idle drain ranges from about 0.2% per hour to 0.8% per hour on a stock setup with default options (i.e., with no battery saving measures in place) on a normal WiFi connection. On some devices, kernel optimizations can shave a bit off this number. But only a tiny bit, generally in the range of 0.1% to 0.3% improvement over stock. This is not going to make a huge difference to battery life. As already mentioned, sometimes hardware features like sweep2wake can eat up about the same amount. So as we can see, a kernel offers relatively little improvement here, but then again, every bit counts. Another factor that influences idle drain is your network connection, particularly cellular connection. A poor signal will often result in a bit of extra drain. But this should not cause excessive drain during idle, and will mostly make a difference while you are using the data connection. I should add that many of the battery saving measures people take also make little difference here. As long as your idle drain is below 1% per hour, don’t even worry about it. If it’s more than 1% per hour, look at your apps and services. Occasionally, there will be a big batch of updates that cause a bit of extra drain. It happens.

Active drain is the amount of battery used while the screen is on. That is, while you are using your device. Active drain is obviously much greater than idle drain. The phone is on, the screen is on, and it is doing work using the CPU, GPU, memory, modem, wifi, disk, etc. Active drain varies quite a bit from device to device. A lot of times we hear about “screen-on time”. Active drain, measured in % per hour can be translated easily into screen-on time. Active drain of 12.5% per hour is extremely good and will equate to about 8 hours of screen time. Drain of 25% per hour will get you about 4 hours of screen time. See how that works?

Screen-on time (hours) = 100 / Active drain (% per hour)

This does not take into account the small amount of battery use while the screen is off. Assuming idle drain is about 0.6% per hour, you would lose about 6% in ten hours, or around 14% in a 24 hour period. You can subtract that from 100 in the equation above.

Now we’re getting into the truth of the matter. What influences active drain? Many
things. Network (especially cellular) connection makes a difference. Poor signal means it has to work harder to transmit and receive data. The type of apps you are using makes a difference. Obviously playing a graphics-intensive game will use far more battery than reading some email. Using the camera, especially flash, will cause more drain than texting. The point is, what you do with your device has, by far, the biggest influence on battery life. Something like changing your web browser could have a significant impact on battery life, perhaps a greater impact than any kernel or battery saving tweaks floating around on the Internet. Bottom line: Active drain will vary from user to user, even with the same device!

There is, however, one part of the kernel that has a significant influence on active drain, and therefore can have a big impact on screen-on time. This is the CPU governor. This is why kernel developers spend a lot of time tweaking governors. It’s about frequency usage, which you can measure with an app like CPU Times. The CPU governor controls frequency scaling according to system load. While not busy, the CPU will stay at its lowest frequency, which uses the least energy. When there is work to do, the CPU governor ramps up the frequency so the work can be completed faster and the user can enjoy a smooth experience. A good governor is responsive, quickly responding to changes in system load, to prevent lag, but also quickly returning to the lowest frequency to save energy.


There is an idea called “race to idle” which suggests the governor should immediately ramp up to the highest frequency so tasks can be completed as quickly as possible, and consequently, the CPU can more quickly return to a lower power state. This logic is generally sound, but with modern processors, there may be a negligible time difference for completing a task using the highest frequency available compared to a frequency somewhere in the middle. In other words, it may be a waste of energy to ramp up to the highest frequency when a somewhat lower frequency may complete the task in essentially the same amount of time, and return to an idle state. The highest frequency will use more energy than the moderate frequency, and there may be very real battery savings when this is repeated thousands or millions of times per day. The trick is to find frequencies that are “fast enough” to create a feeling of snappiness for the user, without constantly ramping up to the highest frequency. I could write a whole other essay on governors, so for now I will leave it at that. It will suffice to say that different governors will behave differently, and have different battery use characteristics. Therefore, the kernel really does have an impact on battery life.

There are other aspects of the kernel that impact battery life too. Chief among these is task scheduling, particularly the aspect where tasks are assigned to one CPU core or another. This means a CPU may be “woken up” to perform a task, or tasks may be packed onto the same core. Another is hotplugging. There is an energy cost to put CPU cores on or offline. On many devices, you will hear about the evils of mpdecision, a closed-source binary from Qualcomm that controls hotplugging and often includes a “touchboost” feature that overrides the CPU governor. Many custom kernels disable mpdecision and implement a custom hotplugging driver. My own testing has found that mpdecision and its excessive touchboosting generally do not have a major impact on battery life, and I have left it enabled in most of my kernels. In some recent devices, such as the Nexus 6 and the HTC One m9, there is no hotplugging during normal use. All CPU cores are online. It can’t be said that task scheduling, hotplugging and touchboost have no impact on battery life. They clearly do. It’s just not going to make a huge difference. If we think of the impact of these optimizations in terms of active drain (% per hour), the change will be relatively small, probably less than one percent per hour, which would be measured in minutes of screen-on time over the course of a day. I think the impact of these optimizations is more apparent on older devices that are less power efficient and have smaller batteries.

I will mention quickly one more topic that always comes up in discussions of battery life: undervolting. Again, undervolting probably made a bigger difference on older devices. Devices released in the past year or two have become considerably more power efficient, some even have automatic fine tuning and scaling of voltages. I remember working on msm8960 devices that used the same voltage for every CPU frequency. In a case like that, undervolting could make quite a difference. Recent devices run with much lower voltages, and chips are binned with tighter tolerances, leaving less headroom for undervolting and reducing the battery impact of undervolting. On some devices I offered automatic undervolting, but only for the lowest frequency, which is the most-used frequency.

Much more could be said on this topic, but the main point I wanted to make is that the kernel does, indeed, make a difference in battery life, but the difference is often not as dramatic as some like to think. From the kernel’s perspective, the CPU governor will have the biggest impact on battery life. Many of the things that people obsess about do not make a big difference in battery life. Finally, if you want to judge battery life, take a scientific approach. Try to use the same conditions when making comparisons, measure carefully, and give it some time.

- flar2

This article was originally posted by its author on elementalx.org and Android Revolution blog has been given a permission to re-publish the article.

Do you have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!


For latest news follow Android Revolution HD on popular social platforms:

Wednesday, April 8, 2015

HTC Sense 7.0 - Internet Browser


HTC has just started rolling out the new HTC Internet app update. Newest version is tagged as 7.1.2514183160 and it brings some Material Design touches. This HTC Internet browser is a part of the HTC Sense 7.0 interface. Let's take a look at some of the HTC Internet app features, but keep in mind that most of them were already available in the older version of the browser. The new HTC Internet is mostly about new design.

View mode

Within few clicks you can choose if you want to browse the Internet with the status bar on the top of the browser, or in the "fullscreen" mode with the status bar hidden. The status bar won't show up until you swipe down from the top of the screen. However, it will not appear and stay like in the regular mode, but it will cover up the URL bar (immersive mode).


Quick Controls

With Quick Controls the URL and 3 dots bar are gone. Anything you want to do (go back or forward, enter Settings, bookmark page etc.) you need to slide with your thumb from the left or right edge of the screen to open quick controls. Pretty hard to learn at start because it's very easy to slide over wrong option, but I'm sure it's possible to master it after short time of use.


Bookmarks

Well known place, where you can manage bookmarked pages. You can choose the view mode between "Thumbnails" (first screen) and "List" (third screen). By editing bookmarks you can also change the order on the list, change the bookmark's labels and addresses or add particular bookmark to the created custom folder.


Tabs and Incognito Mode

HTC Internet app allows you to work with multiple tabs - either regular ones or "Incognito Tab" The incognito mode drastically increases your privacy level because the site you view in that mode won't appear in the browser or search history, and it won't leave other traces (like cookies) on your device. You can have maximum up to 16 tabs open at the same time.


Menu

The 3 dots menu offers some typical features like "Go back" and "Go forward" arrows or "Add to" button, which you can use to create new bookmark, add certain site to the home screen or Reading List. With the "Share" option you can share current site via different social channels, Dropbox, bluetooth, mail and more.


With the "Saved" option you can view a list of sites you decided to read later (Reading List) or videos you decided to watch later (Watch List). To add a site to the Reading List click on the 3 dots menu ---> + (plus) icon ---> Reading list.

"History" and "Find on page" options don't need to be explained.


The "Downloads" takes you to the HTC Downloads app, where you can see all downloaded files, not only via the HTC Internet app. You can also choose to view certain pages in the "Desktop View" mode. The last position on the 3 dots menu is Settings.


Settings

Here you can adjust various privacy and security settings (such as cache, history, cookies, passwords and more), as well as accessibility options (text size, scaling and zoom), advanced settings (search engine, JavaScript, pop-ups), bandwidth management and Labs, where you can enable Quick controls.




Conclusion

The new, re-designed HTC Internet app matches the new HTC Sense 7.0 UI style as well as it looks a bit more "materialized" now. Can it compete with the Google Chrome browser? No, but I don't think it is suppose to. It is just a solid, stock browser with a common features browsers on the market have. It looks good and works as it should.

The HTC Internet app is available in the Google Play.

Do you have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!


For latest news follow Android Revolution HD on popular social platforms: