Musing #72: R.I.P. A50

Over the past few months, I had made multiple posts on the Samsung Galaxy A50, be it a short review, initial analysis of the super slow-mo or a guide about making the most of the mid-range hardware. Unfortunately, all average (good-ish?) things come to an end and in this case in ended with my A50 being lost. The driver of the vehicle in which the phone was left behind gave me some hope in picking up my call, but what followed left me with a little less faith in humanity.

However, life goes on and move on I have. At the same time, I have no emotional attachment to any material possession, so this post is not an eulogy on the A50 but rather a short post on what can be done to make the most of the situation where the phone is lost.

Samsung puts a fair amount of bloatware on its phones but one piece of software that is genuinely useful is "Find My Mobile". This feature is markedly better than what is offered by Google and there are several options for dealing with the lost device besides simply tracking it like erasing the device, ringing it, retrieving recent calls/messages and extending the battery life. Unfortunately, my trust in the driver led me to not immediately open the tracker which in turn ensured that the device was never again switched on with my account activated.


With the horse having bolted from the barn, there can be some solace found in rendering the device useless, well, as a phone at least. The Department of Telecommunications (DoT) in India launched the Central Equipment Identity Register (CEIR) earlier this month which is supposed to make the blocking of the lost phone as easy as snapping of fingers.

Unfortunately, as with any government initiative, things sound much better on paper and on websites than in reality. I went through the process of lodging a police complaint at the place where the phone was lost with the expectation of making the most of this lifeline afforded by the DoT in terms of being able to take some action on the lost device. As it turns out, while the website correctly verifies the IMEI using the dedicated tool, the form itself fails to submit with the error stating the absence of data for the IMEI. A really shoddy implementation by C-DOT backed by an equally appalling lack of response on social media. I would still give them the benefit of the doubt considering it has been launched as a pilot project, but hope they would be inclined to fix the website eventually.

Even every misfortune is worth the experience and I would say this is a lesson well learnt. A bit more practicality over trust in humanity might have saved the day. Hopefully, this post would equip you to better handle such a scenario in a far better manner than I did. See you until my next mobile adventure.

Tutorial #22: Optimal performance from the Samsung Galaxy A50 (or any mid-range device)


The demands from the hardware have arisen significantly with every passing year, which is only made worse by manufacturer-specific UIs adding an extra layer of cruft. While hardware capabilities increase demonstrably every year, the software demands more than negate the gains and ensure that even last year's flagship is not a safe bet anymore. However, not everyone needs the latest flagship device or wants to spend a small fortune for the extra processing power.

As I touched upon previously, my primary reason for getting the A50 was the large OLED screen. With gaming on the mobile out of the picture, all I really wanted was to not have a horrible user experience which becomes part and parcel of any mid-range device over time. Mi devices are most offending in that respect with MIUI but Samsung hasn't won itself any honors by bundling lots of promoted apps, some uninstallable, coupled with a Samsung Pay Mini card that interferes with the gesture system.

While adb commands offer a fair degree of control over the device, I prefer to root the device when possible to be able to customise it just that bit better with lesser hassles. The Samsung A50 has perhaps the unintended benefit of being able to boot into the rooted as well as the unrooted system at any point of time which kind of ensure the best of both worlds, if you are not looking to use rooted apps all the time.

With this, I present a step-by-step guide to setting up the device to run like it does when brand new, only better because of the uninstallation of all the bloatware. While it wouldn't make any of games run any faster than what the hardware allows it to, what it does is ensure that the phone is running optimally at any point of time, so no memory-hogs or sudden slow-downs or battery-drains.

1. Rooting the device (optional)

First the disclaimer. Rooting the A50 trips the Knox bit, so you are immediately foregoing device warranty as well as the ability to use any Knox-secured apps like Secure folder and Samsung Pass, though you can still run some Samsung apps like Pay Mini and Health.

For this, I will simply point you to John Wu's excellent tutorial. It has worked with every firmware released till date and allows you to upgrade to every new release while retaining your data, the downside being that you will have to download the entire firmware to do so as OTAs are no-go.

Also, as I mentioned previously, the peculiar partitioning and button combination allows one to boot in to either the rooted or the unrooted system. I personally prefer optimising the system in root mode but don't run it as daily driver as it has issues with WiFi disconnections and random reboots. However, the changes are carried over just fine to the unrooted system which is rock stable and has not rebooted randomly on me till date.

2. Installing Island and making it device admin

Island makes use of the 'Android for Work' feature to create a separate work profile for which it, and consequently you, are the admin. It can be made the device admin without root access provided you delete all other user accounts and make it the admin using adb commands. There is also the option of God Mode which essentially allows Island to control the Mainland apps.

3. Installing Greenify

However, Island by itself doesn't have a background service and it utilises Greenify for that purpose, unsurprisingly from the same developer. While Greenify can normally hibernate apps using Android Doze, the integration with Island takes it to the next level.

4. Deep Hibernation
The easiest way to ensure that apps undergo deep hibernation is to select the 'Auto-freeze with Greenify' option from within Island. This directly adds the app to the "Hibernation list" in Greenify with the 'Deep Hibernation (by Island)' option enabled. Alternately, one can manually add the app within Greenify and then select the same hibernation option.

5. Create 'Unfreeze' shortcut
Subsequent to selecting an app for Deep Hibernation within Island as mentioned in the previous step, it is a good idea to immediately select the 'Create Unfreeze & Launch Shortcut' option which does what it says. It allows you to directly launch the hibernated app but requires you to maintain the shortcut on the homescreen, iOS-style.

6. Create Hibernation Shortcut
Lastly, I would suggest selecting the 'Create Hibernation Shortcut' from the Greenify menu. This places a "Hibernate" shortcut on the home screen, selecting which immediately freezes all the apps for which 'Deep Hibernation (by Island)' has been selected while also queuing up for normal hibernation any other apps you might have selected within Greenify.

7. Profit
The screenshot above indicates my app drawer post-hibernation and as you can see, the "all-time" enabled apps don't even cover a single drawer page (the folders only contain about 4 apps each). At the end of the day, you really don't need Maps or Uber running all the time in the background and tracking your location while draining the battery. Another illustration is the immediate memory consumption which in this example goes from 951 MB free to 1.2 GB free, just by hibernating the currently running apps. The interface fluidity and memory consumption is certainly much better by having only a limited number of running apps at any point of time.
The other benefit is that you can run dual instances of nearly every app, independently within Mainland and Island. A tip over here - it is recommended to create a separate folder (or tab) within your launcher in which you can retain the Island apps that you wouldn't like to be frozen like the duplicates of Play Store or VPN apps. It simply makes the launcher look cleaner and perhaps helps prevent confusion in case the padlock symbol against the Island app icons doesn't work for you.

8. Loss

The only downside I have seen is that the apps don't come up for update on the Play Store unless they are enabled, so be sure to check the Play Store for updates every now and then. Also, as I mentioned previously, the hibernated apps altogether disappear from the launcher and don't reappear within the folder you might have assigned to them, as they are effectively seen as new apps by the launcher on every "unhibernation", though the app data is retained. Hence, the recommendation to create the unfreeze shortcuts on the home screen.

9. Conclusion

There can be some paranoia over having an app become the device admin, especially coming from China. However, I have previously interacted with the app developer over email and have found him to be polite while immediately addressing the issues reported by me.

If you simply want the benefits of an independent work profile, you can use the Test DPC app which allows you full control over the work profile as an admin. You can also use the open-source equivalent of Island known as Shelter.

However, neither of the apps integrate with Greenify like Island and neither are able to create a work profile when the Knox bit is tripped. Hence, in my case, it is the only feasible option to keep rogue Android apps in check. In case you feel differently or have any queries, feel free to drop a comment below and I shall do my best to address the same.

Review #62: Anne Pro II ★★★★✬


This is my first instance of writing a review of a product while using it to write the review. Having said so, this is the best experience I have had yet of the process of typing it out. Considering that I have been resigned to membrane keyboard until now and this happens to be my first mechanical keyboard, I would mostly like to recount my experience of using it rather than draw comparisons that I am ill-equipped to do.

Package:

Disregarding the fact that I received the product in a beaten-up box, the item itself was well packaged and the accessories included a red-themed Type-C cable along with a keycap puller and blank CMYK PBT keycaps to allow for some customisation. A good package for a budget keyboard.


Setup:

The first time around, the keyboard simply didn't power up due to the orientation of the cable which was extremely odd considering it came with a Type-C cable. However, I am pleased to inform that the issue has since been resolved with a firmware update, which is one of the positives of having a smart keyboard. Another quirk I encountered, that still exists, is that the keyboard would work properly only with some and not all the USB 2.0 ports on my motherboard.

Considering the bugs I encountered with the shipped firmware, I would recommend making the software setup part of the initial keyboard setup. The Obinslab Starter software for Linux, Mac and Windows can be downloaded from here. The firmware section is divided in to 3 distinct sections - Application Processor, Light Processor and Bluetooth processor. Mine came shipped with v2.06 for the first two and v0.06 for the latter. At the time of writing, the last firmware update was released on May 20, 2019 whose versioning is at 2.09 for Application/Light Processor and 1.00 for the Bluetooth Processor.


Product:

The first and foremost question about any mechanical keyboard is about the switches being used. Since I was looking specifically for a general-purpose keyboard, I had long decided to go with Brown switches rather than Red or Blue. The next logical question is about the brand and as ridiculous as it may sound, I decided to go with the default Gateron switches based on price alone. The preference for Cherry MX switches and its clones varies on an individual basis, so for my first mechanical keyboard, I chose to keep it simple, especially as I didn't have the means of comparing them. For those inquisitive, the Kailh variant commanded a premium of a little over 10% while the Cherry MX were dearer by 25%.

The first thing that hits you on picking up the keyboard is its weight. It comes it at about 630g which feels comparable for a keyboard of this size. Prior to this, I was using the Apple Wireless Keyboard, so you can ascertain where I am coming from. That is another reason why the 60% layout didn't come as much of a shock to me than would have been the case had I been using a full-layout keyboard. For the record, I was using a G105, a feeble attempt at getting a gaming keyboard, prior to switching to the Apple keyboard simply because it wouldn't fit in my new keyboard tray. So, size mattered to me a lot in making the purchase decision.

Having said so, the keyboard doesn't feel cramped by any means. I am not a professional typist, but my typing speed on 10fastfingers went up by about 10% on my first attempt compared to membrane keyboards. The beauty of the keyboard however is in its software which provides 3 levels of modifiers (FN1, FN2, TAP) to effectively quadruple the number of keys while being able to customise it in every conceivable manner. The keycaps are made from 1.2mm thick double-shot PBT plastic which is not meant to fade away with usage, but I will let time be a testament to that.


Lastly, there is the sound of the keys clacking. The sound of the keys are about as light as the force required to actuate them. They are not too disturbing and in a manner quite pleasant to listen to.

Bluetooth:

My idea behind getting this keyboard was to also be able to use it with the increasing range of devices capable of working with Bluetooth keyboards, ranging from mobiles to projectors. The Anne Pro II comes with Bluetooth 4.0 and supports pairing with 4 devices which is huge plus in my opinion. Pairing can be invoked by long-pressing the first 4 number keys along with FN2 while short-pressing the same key combo engages that specific pairing. I couldn't find any means of exiting the pairing process prematurely which can be a bummer if you happen to engage it erroneously.

Thoughtfully, the Anne Pro II contains a Bluetooth switch on the back which should be useful in conserving the 1900 mAh battery that the keyboard comes with. However, even with the latest firmware, I encountered a bug where Windows failed to detect the keyboard in wired mode until the Bluetooth switch was turned off, which I hope is fixed in a future update.

Another thing to keep in mind is that the keyboard requires a Bluetooth 4.0 Low Energy dongle. So, if you happen to have an old BL 4.0 non-LE dongle like I have, then using the keyboard with the desktop in wireless mode is a no-go. Another limitation of using the keyboard in Bluetooth mode is that the animated lighting effects like Rainbow are not supported, presumably to conserve battery life.

Lighting:

A major draw of the keyboard is its customisable backlighting. The keyboard features the following hardware combination to play with the lighting effects.

FN2 + 9 = Switch Light Effect
FN2 + 0 = Turn Backlight On/Off
FN2 + - = Reduce Backlight Brightness
FN2 + + = Increase Backlight Brightness

I found the Rainbow effect to be the most pleasing among the stock options, though further customisation can be done through the 'Light' section of Obinslab Starter.

Software:

I have already covered the 'Firmware Upgrade', 'Layout', 'Light' sections in earlier parts of the review which is where most of the action is. However, apart from those sections, you can also access 'General Information' about the keyboard and set up 'Macros' which can be extremely powerful depending on your use case.


Price:

The decision to get this keyboard would depend a lot on the price you can get it for. It is normally listed at $80 and at that price, it may not be as much value for money as you might expect it to be. I managed to snag it for $66 during an AliExpress sale and that price seems to be more befitting of the product. So, it might make sense to hold out for a sale whenever possible to make this more of a value purchase.

Conclusion:

The Anne Pro II is an ideal beginner's mechanical keyboard after factoring in the price, features and portability. Cheaper keyboards come with no-name brand switches while comparable ones come at a significant premium. If nothing else, the keyboard is pure value for money and preferable to purchasing portable, membrane-based Bluetooth keyboards.

P.S.: Till the time the default browser fonts start supporting the half-star, I have decided to improvise with the 'Black Center White Star' as a proxy for it.

Musing #71: Samsung Galaxy A50 Super Slow-Mo and Night Mode


A little over 24 hours ago, Samsung introduced the Super Slow-Mo and Night modes to the Galaxy A50. While Samsung does an impressive job with camera improvements on flagship devices, I had my expectations pared down for the A50.

With all reviews down and dusted for the device at the time of its launch, it is unlikely that anyone other that someone who owns the device would test these features on a short notice. Hence, here I am with this post.

Super Slow-Mo Mode:

The A50 had a Slow Motion mode since launch. That mode recorded 720p video at 240 frames per second and played it back at the same rate. Hence, the super slow-mo mode was a bit of a mystery since there was no official mention of what it comprises of.

The super slow-mo mode in the S9 managed to do 960 FPS for 0.2 seconds. It seemed unlikely that Samsung would push a mid-range device that far even though it has quite a capable chipset. The marketing material mentioned the Exynos 9610 as being capable of recording Full HD at 480 FPS but was unlikely to happen.

The best way to find out what a new mode does is to test it out. Since there is nothing better than watching a (digital) stopwatch in slow motion, that's what I did. The process of recording itself gave no indication to what was actually happening since it would take over 2 secs for the camera to start saving after initiation of recording, with the saving process itself taking longer.

Normally checking the metadata would sort things out, but in this case the output was clasified as a 8m 33s, 30 FPS video; nothing abnormal about it but for the fact that it was supposed to be a super slow motion video. Thankfully, this is where the rather vapid stopwatch came to the rescue.


As can be seen in the video, the actual super slow motion part of the video lasts for about 0.4s, from 0.69s to 1.09s. The video itself  contains 250 frames, so to accommodate 0.4s of super slow motion implies that the recording rate was 480 FPS as it constitutes 192 frames (480 x 0.4). The remaining 58 frames are created courtesy of normal 30 FPS recording preceding and following the super slow-mo part of the recording.

It's great having super slow motion video but to have it at 720p when the chipset is capable of 1080p is a let down. But then, considering the struggles of the sensor to capture light even at 720p, it seems that a 1080p clip might end up being downright unusable. That Samsung has even bothered to add this mode to this device is a huge plus since few would have expected it.

Night Mode:

The clamour for Camera2 API for the A50 has been incessant, if for nothing else, than the ability to use Google's incredible Night Mode. However, it is unlikely that Samsung would ever accede to that demand. Instead, A50 owners get Samsung's take on the Night Mode which was always likely to be somewhat credible rather than incredible.

As always, in matters of camera, it is more apt to let the images do the talking. The rather compressed collage below gives an indication of how the various camera modes deal with extremely low light. It wouldn't take a detective to find out which one is which, so I'd rather take the easy way out of not labelling any of the images. However, for the purpose of verification and lack of astonishment, I have uploaded the original images with rather curt labels at this link.


Review #61: Samsung Galaxy A50 (May 2019)


Being an early adopter of devices is a huge risk because you don't often know what you are getting into. In some cases, it is less of a risk because the company has a good track record and the device is a flagship one. However, that may not be true of mid-range devices, especially when the company doesn't quite have a track record of providing long-term, timely updates even for flagship devices.

It has been two and a half years since I switched from Android to iOS and the fact that I am still holding on to my first iPhone is a testament to the device continuing to meet my expectations. However, circumstances necessitated the move to a multi-SIM, consumption oriented device and for that, there are no shortage of options in the Android ecosystem that provide bang for the buck. Thus, for all the horrors in the world, I am now cohabiting with two mobile devices that are capable of going thermonuclear.

Review #60: Logitech MX Anywhere 2S ★★★★☆

Prologue:

For a lot of people, a mouse is what you need to simply move the cursor on the screen, everything else being inconsequential. For numerous years, I subscribed to the same school of thought and economised my mice expenses. Such a thought would be sacrilege to a gamer, though thankfully I don't count myself as one. However, that doesn't imply that I ignored the DPI, sensor and button customizations when making a mouse purchase.

While I had given up on office mice a long time ago, I couldn't help but put up the pretence of buying a gaming mouse. As a result, I purchased my first adjustable DPI mouse in the form of the Logitech G90 a few years ago, something a gamer would not be caught dead with. It only had 3 adjustable settings but it went up to 2500 DPI with a polling rate of 500/s which seemed plenty enough for almost everything I did. Unfortunately, the mouse met its demise prematurely in a quirky manner wherein the sensor went dead with the device still being detected and buttons still being functional.

Purchase:

For my next purchase, I needed to go a step further. This could have meant getting a higher DPI wired mouse, but I found better value in going wireless. Due to my setup, my mouse wire often tangled with the keyboard tray and I wouldn't have any more of it. I had a "wireless" mouse in the form of the Logitech M557 Bluetooth mouse which helped me realise the limitations of a low (1000) DPI mouse with a dodgy sensor. The best of both worlds would be getting a high(-ish) DPI wireless mouse and so began my scouting.

Despite my failure rate with Logitech, I wasn't ready to switch camp just yet. Razer has a range of fugly, high DPI wireless mice with a worse failure rate and no local customer support, so it wasn't as if I was spoilt for choice. I had set my mind on not spending more than INR 3500 (USD 50) and this narrowed the field to the point that nothing caught my eye. Raising the bar a bit led me to the concerned product but at 5k INR (USD 70), it seemed a bit much compared to its US pricing of $50.

However, there is an e-tail world beyond Amazon and Flipkart which led me to check Croma and surprisingly, the product was listed for less than INR 3000 (USD 40). Well, to be clear, the listing wasn't for the Anywhere 2S but rather for the Anywhere 2. I called the local store to check the availability of the product and was rather pleased to hear them confirm that the product is indeed the Anywhere 2S. I can only put it down to a product listing error considering the price difference and the fact that it is no longer available on Croma.

Packaging:
As far as packaging goes, it is a case of keeping it simple and elegant, the black-green theme of the box goes well with the box image depicting the blackish-grey mouse with its green power LED. Flipping the magnetically locked box open brings in to the spotlight the thing that you spend your hard cash on.
Apart from the product and documents, the packaging contains a Micro-USB cable which I don't see the use for considering its persisting ubiquity after all these years and a 2.4 GHz Logitech Unifying Receiver (technically transreceiver). The older versions of the "Nano USB" receiver were susceptible to MouseJack, but the one that comes with this mouse (C-U0012) is supposedly safe.

Features:

The reason for selecting the mouse was its versatility. In addition to the Logitech Unifying receiver, it also works with Bluetooth thereby offering universal functionality across devices and operating systems. On Windows 10, using the receiver was as simple as plugging it in, following which the Logitech Options software was automatically downloaded and installed by Windows, offering a pretty seamless experience. Bluetooth pairing is simple too, requiring a press of the button at the bottom to switch to one of the three available slots, each accompanied by a LED. Irrespective of the receiver, it does the job to the effect that wires wouldn't be missed.


The ability to pair and switch between three devices is by far the most utilitarian feature of the mouse as wireless mice tend to be used with multiple devices, in my case with my desktop, laptop and Fire TV. The state of each slot can be deciphered with the LED behaviour, the currently used one doesn't blink, the other occupied ones blink slowly whereas the unoccupied one blinks rapidly. Any occupied slot can be paired again by long pressing the button. The LEDs switch off when the device is in use, thereby preserving battery.

Battery:

Speaking of battery, the battery life is stated as 70 days. I have used it for 45 days now and the battery status is at level 2 out of 3, termed as "Good" within Logitech Options. Low battery life is (supposedly) indicated with a blinking of the green LED on the front face which also doubles up to indicate charging status and completion. I presume it will exceed the stated battery life of 70 days but the only way to know for sure would be to let the battery drain out completely. When it does, charging shouldn't be bother as it doesn't take hours to do a complete charge using the integrated Micro-USB port while a minute of charge provides enough charge to last for 2 hours. Unfortunately, the Micro-USB port cannot be used to convert the mouse in to a wired one which would have been a great addition to the feature set.

Tracking:

While marketing teams tend to generate buzzwords with the sole intention of swaying customers, it seems that they have managed to resist departing the realms of reality with the term 'darkfield laser tracking' as the mouse does uses dark field illumination. This allows for tracking on glass and I can attest to its ability after seeing my optical M557 mouse fail miserably on a glass surface. Even if you are not one to go to extreme surfaces, the 2S does a great job of tracking on mouse pads, a necessity for any mouse warrior.

Software:

This mouse is supported by the Logitech Options software which extends the utility and customization of the mouse. As I mentioned previously, it was auto-installed on Windows and I assume the same for Mac. Unfortunately, those are the only two platforms supported, so it works like any other mouse when paired with other platforms. The ubiquity of Bluetooth implies that the product will have universal support and the only time one is likely to be caught out is when accessing the UEFI on a PC with an unsupported motherboard.

The main benefit of the software is the button customization. While each button can be assigned a distinct function, the button on the face of the mouse acts like a gesture button, combining the button press with the mouse movement direction to provide a total of 5 functions. Unfortunately for me, the customized gestures stopped working after a few reboots and Logitech Options kept on crashing when the gesture button was selected from within the software. This hasn't yet been resolved even after multiple Logitech Options updates, so I assume it is not a priority. In the meantime, I am using the gesture button only for showing/hiding the desktop.

Another irritant for some people would be that the scroll wheel doesn't click. It moves left/right to provide two additional "buttons" but clicking the wheel changes the scroll resistance which some people might end up invoking inadvertently. This doesn't bother me so much as I have assigned the top side button to the middle click function and find it convenient to use for applications and games.


Lastly, one of the key features of the mouse - adjustable DPI is inexplicably made accessible in a manner that beggars belief. While other mice have a button dedicated for this function, in case of the MX series, it can only be accessed by assigning the "Change Pointer Speed" function to one of the buttons which can be a bit misleading. However, for intents and purposes, it seems to refer to DPI adjustment as the function toggles between two sensitivity values on click which can be adjusted on the fly. Moreover, there are 76 steps between the minimum and maximum values which fits in well with the 200 to 4000 DPI range of the mouse in increments of 50 DPI. I prefer to use the mouse at around 1000-1200 DPI for normal use and anywhere between 1600-3000 DPI for gaming and it works admirably for either use cases.

Conclusion:

What's in a mouse? A lot, if you care for it. Even if you don't, the Anywhere 2S is a great wireless option for anybody. If you don't harbour pro-gamer aspirations and have a job to do in front of the PC, then this mouse tackles work and leisure admirably in equal measure.