LightBlog

lundi 16 janvier 2017

RAW Smartphone Photography: A Look at The Difference RAW Editing Makes (Ft. OnePlus 3T)

Oddly enough, my first transformative experiences with photography initially transpired through the lens of an HTC Incredible 2, sometime around late 2011. As a nascent technology addict and with the Incredible 2 as my first true smartphone, I was keen to explore the full breadth of its utility and capabilities.

I rapidly adopted the habit of riding around my neighborhood on a longboard, phone in hand, and would take dozens or sometimes hundreds of pictures a day throughout the final months of fall. The Incredible 2 had what was at the time an impressive 8MP rear camera with laser autofocus, and I found it more than capable of producing beautiful images in the right lighting conditions. It even had the ability to perform reasonably well in low light situations, assuming one had a very steady hand. Below are some shots from that trusty little device:

Jump forward five or so years, and smartphones are considerably different, arguably for the better. Indeed, they are still in essence rectangular slabs of glass, plastic, and metal. However, the internals have improved drastically and offer consumers far more capable devices for essentially the same price. My current daily, a OnePlus 3T, is a breath of fresh air even while coming from the fairly recent LG G4. Regarding the camera, it is at least on par with the G4, assuming one is shooting with RAW output. In my experience, the G4 and G3, for that matter, provided wonderful smartphone cameras with solid JPEG processing and one of the best manual modes for a phone at the time, especially with the G3. The 3T does have rather weak out-of-camera JPEG performance, but this weakness is easily overcome by shooting in RAW and making use of its equally-useful manual mode. In fact, as I will attempt to demonstrate, the 3T is able to compete admirably with my (admittedly aging) mirrorless Sony NEX-5 in a variety of conditions.  

In order to aid the comparison, I visited Point Defiance Park in Tacoma, WA, as well as the famous Mount Rainier National Park. Point Defiance happens to be one of the largest metropolitan parks in the United States, second only to Central Park in New York City. It's a gorgeous densely forested peninsula with views of the Puget Sound, the Tacoma Narrows Bridge, and several local islands located just offshore. In fact, the wet climate of the Pacific Northwest means that most of the forests of Washington State are rainforests, blanketed with emerald green mosses and hosting clear creeks and rivers courtesy of snowmelt and runoff from the Olympic Mountains. Beautiful scenery certainly doesn't guarantee better pictures, but it can only serve to improve the final product in most situations.  


Why RAW?

When choosing to shoot in a RAW format, the singular crucial benefit that one can hope to gain is having access to what is essentially a lossless, uncompressed copy of the data your camera gathers while taking each photo. While it is generally likely that the result directly out of camera will be less sharp and possibly flatter than a JPEG alternative, one avoids the side effects of the aggressive compression that have made the aforementioned file type a heavyweight in the realm of online photo standards. Assuming that one knows their way around a RAW-compatible photo editor like Adobe Lightroom, Apple's Aperture (R.I.P.), or Affinity Photo, switching to RAW format photography can offer a user the ability to extract far more detail largely in the form of extended dynamic range. This tends to mean that data in overblown shadows and highlights can be recovered, while at the same time allowing an editor to create imagery with more controlled and uniform levels of dynamic range. While attempting to edit lossy formats like JPEGs might result in extreme compression artifacts and excessive levels of noise, editing the same image taken in a RAW format can result in an end product that maintains high production value due to the added ability to account for imperfect camerawork, lighting conditions, and a combination of some amount of both.

Of course, the absolute best one can hope for is to nail the original shot in camera, thus requiring as little post-processing as possible. Even with RAW files, there will be no miracle recoveries of truly fumbled shots. If subtle modifications result in an image that you can be satisfied with, nothing more necessarily needs to be done. In the (likely) eventuality that lighting or the color profile is sometimes unpleasing even with many attempts at editing a photo, it is reasonable to begin considering filters, which can often excel at obscuring subpar shooting conditions or camerawork with things like exaggerated contrast and fade filters, as well as different color profiles. Aesthetically pleasing compositions need not always be tossed out due to other certain unavoidable flaws, thanks to filters and a more heavy-handed approach to editing. VSCOCam arguably offers the best present experience for anyone looking to add a filter, featuring a relatively subtle spread of options and an admirably fully featured editing suite with a multitude of basic options for mobile photographers. It even offers plugins for Adobe Lightroom if one so wishes to utilize its many filters outside of VSCO's mobile ecosystem. Furthermore, iOS users were recently given the ability to edit RAW files through the VSCOCam app itself, allowing those with the desire to do so a functional way to take advantage of iOS 10's RAW photography capabilities while still retaining the ability to quickly edit and upload a RAW file format without requiring access to a desktop-class photo editor. This feature will no doubt arrive on Android in the near future, so there has never been a more user-friendly and convenient time to make the transition to RAW.


RAW Results on the OnePlus 3T and Sony NEX-5

Due in part to Sony's use of a proprietary RAW format and OnePlus' decision to use Adobe's open source DNG format, the OnePlus demonstrates the flatness and subdued color of RAW shooting to a far greater extent. This can be perceived as both a blessing and a curse, as it leaves the user to the options of either attempting to massage the image into something recognizable from memory or choosing to take the clean slate approach and altering it in a way that is simply aesthetically pleasing. Furthermore, as someone extremely adapted to the process of editing JPEGs and other lossy formats, there is something immensely satisfying about starting with a RAW image that is highly washed out (something that the DNG format generally suffers from). It allows you to reduce black levels, shadows, and overall brightness while not having to suffer the opposite fate of attempting to salvage an underexposed lossy format image, a process which will in many cases inevitably result in untenable levels of noise and compression artifacts. There also is something to be said for the experience of beginning with a photo that arguably looks hideous and transforming that same photo into something absolutely stunning. While the differences before and after editing Sony's ARW format are minor, DNGs offer a downright absurd contrast when comparing the end result to the out-of-camera image.

Regarding the physical cameras and sensors themselves, there are of course some innate differences that cannot be avoided. Due to the significantly larger sensor in the NEX-5, it also has larger individual pixels, allowing more light to be gathered. This generally results in far superior low-light performance by simply gathering more light, while also allowing for higher ISO usage with less of the resultant noise. The fixed aperture of the OnePlus 3T also prevents certain shots, and prevents the user from increasing the f-stop, which can offer a photographer the ability to keep more of an image in sharper focus.

In order to best compare the results of both cameras, I generally tried to keep the playing field even and avoided (when reasonable) using too much of my NEX-5's 18-55mm lens, given that the 3T has no analog zoom capabilities. I generally treated it as a prime lens, with a little variability allowed for. The end results were exactly what I would expect from a camera I have been shooting with for the better part of half a decade, with decent detail preservation and a reasonable f.3.5 aperture. With a 14.1-megapixel sensor in the APS form factor, it pairs quite evenly against the 3T's 16 megapixels. Regarding autofocus capabilities, the 3T admittedly jumps to the front with ease, as it utilizes phase detection autofocus which handily outclasses the NEX-5's circa-2010 contrast-detection alternative. As such, I nearly universally use the manual focus ring control located on the lens itself. I also shot in manual mode with each camera in order to keep the 3T around the same ISO (to more objectively compare noise levels) and to tame the rather jumpy autofocus when taking macro shots with the 3T.


Sony NEX-5

While my stock 18-55mm Sony lens is beginning to show its age in less than crisp bokeh and sharpness, the camera performed wonderfully. The ARW format also allowed me to better recover overexposed, noisy, and slightly out of focus images, all of which I am accustomed to as a consequence of having to use the small and somewhat dark LCD display as a viewfinder. The final photo with water trails is an example of something that the 3T simply is not capable of in daytime, as the bright ambient light required something like an f.32 aperture to prevent the image from being exposed. It is also considerably easier to set a small camera on a log to take long exposures when you forget your tripod at home! In general, the decent light conditions meant that noise was almost a complete non-issue for the NEX-5 on the two days I shot. One of the biggest boons for any camera with analog zoom abilities is the far more flexible framing options one has, something which I ended up using in my shots of the Puget Sound. Better framing in camera means that less cropping is necessary to find a nice composition, and of course prevents the editor from having to sacrifice too much resolution and detail in the pursuit of that composition.


OnePlus 3T

After only a brief experience of shooting in a RAW format on the OnePlus 3T, I am incredibly impressed with its performance and the sheer quality of the photos it is capable of producing. All inherent weaknesses aside, it is clear that the 3T is more than capable of competing with a dedicated mirrorless camera like the Sony NEX-5. Not only is it capable of competing, but there were more than a few instances where the 3T's portability, convenience, phase-detection autofocus, and large screen led me to actually prefer the photos it produced, as well as the experience of taking those photos. In 90% of the photos I shot, the 3T did admittedly have quite a bit more noise and of course was unable to pull off any daytime long exposures, but it consistently offered at least as much dynamic range as my NEX-5, and sometimes even more. The extreme desaturation and flatness of the DNG files the 3T produced was less than optimal, but that is partially only inconvenient because of my inexperience with editing RAW photography. With a little experience, it would undoubtedly be easy to consistently arrive at finished photos that offer more natural saturation and color profiles. If that had been my goal, I could have compared the end results and tweaked until that was the case, but my goal here was more to explore the differences and weaknesses of both the cameras and the different RAW formats.

Going forward, I will approach my OnePlus 3T with far more confidence than I would normally allow myself to have with a smartphone camera, and it will doubtlessly become a central facet of my future photography, rather than an ancillary, second-class tool as I have treated my smartphone cameras in the past. It goes without saying that this comparison between the 6-year-old NEX-5 and my cutting-edge 3T should not be extended beyond that concept, in the sense that a brand new compact camera would very likely trounce an equally new smartphone. I will of course happily explore exactly that question in the future, as my trusty NEX-5 is in severe need of an upgrade, and improvements in mobile photography will likely continue to be one of my personal favorite things to explore and experience.

The Draw of RAW Smartphone Photography

Given just how well my 3T performed, there are several conclusions that can be drawn on this subject. One of the most important things to consider is that in essence, I found that a modern $450 smartphone is entirely capable of performing at the same level as a dedicated mirrorless camera that cost upwards of $500 new at the time it was released, assuming that the user shoots in a RAW format on the smartphone. Given the inherent utility of a smartphone when compared to a dedicated camera, it almost goes without saying that someone interested in photography with around $500 to spend would be best off simply buying the OnePlus 3T. Not only would they be able to have one of the best smartphones available in their pocket, but also a camera capable of editing on the spot the pictures they take, while also having considerably better battery life than a dedicated camera. As an example, after shooting about 100 photos on each device over the course of an hour, my 3T ended up at around 80% and my NEX-5 around 50%. With the 3T's Dash Charging, I could replace that lost battery in about 5 minutes, whereas the NEX-5 requires an awkward wall-mounted charger that you place the battery in, and would take at least an hour to charge halfway.

I must reiterate that the 3T's ability to compete so effectively derives almost entirely from the fact that it is able to shoot in a RAW format. Smartphones have some of the most notoriously aggressive in-camera image processing in order to further compress the images they produce, while also featuring often heavy-handed noise reduction and sharpening that cannot be normally disabled. RAW photography essentially hands all of those decisions over to the user, giving them the ability to tailor the final product with a level of finesse in a such a forgiving manner that it is almost hard to believe the photos you are editing came out of a smartphone.

Of course, there are undoubtedly barriers to entry into the realm of RAW shooting, especially on a mobile device. For amateur photographers that mainly or entirely rely on their phones, it is even more difficult. Nevertheless, the hurdles are easily surpassable. The main problems for mobile users are ease of editing and storage. As RAW photos are essentially uncompressed copies of the data a camera receives, they inherently end up being at least several times larger than the JPEG files cameras would otherwise output. For the DNG format the 3T's RAW mode uses, each photo is essentially 30MB, meaning that a typical session of an hour or two can result in upwards of 2-3GB of photos being produced. Thankfully, the OnePlus 3T offers 64GB of storage at a minimum, with 128GB available for only $40 extra. However, for many of the other phones that offer RAW modes, 32GB is often a common denominator for the base levels. A microSD card would be optimal for anyone with a phone that has little internal storage but is still interested in trying out RAW photography. Most importantly, of course, is having the ability to edit RAW photos in the first place, as nearly all photos out of camera will look less than optimal and be in a format that cannot be shared in any of the usual locations. At the moment, iOS users have the best out of box experience available, as they are able to shoot in RAW and edit those photos in VSCOCam. Android will no doubt eventually have that feature trickle down, but at the moment lacks the ability to do so. In the case of Android users who need or want to edit on their phone, you will be best off subscribing to Adobe's Creative Cloud Photography service. For $10 a month, you will get access to both the mobile and desktop versions of Lightroom and Photoshop, which are both fully-fledged and highly capable editing suites. This is the option I have gone for, although I still prefer to edit my photography on my desktop PC. Nevertheless, the OnePlus 3T is still a very strong option for mobile editors, given its 6GB of RAM and optional sRGB color profile.

With the mobile version of Lightroom and its RAW mode enabled, I can in good conscience recommend the 3T for photography entirely in lieu of a dedicated camera, especially for those who may have been considering buying a camera or generally getting more involved in photography. Not only will you end up with something that is more useful and portable than a dedicated camera, but by shooting and editing RAW you will already be a step ahead of many fellow photographers. Even if the end result is something as simple as improved photos for use in social media, diving headfirst into photography is almost guaranteed to be highly rewarding and creatively satisfying.

Lastly, for those who lack experience or general understanding when it comes to editing photos or even the process of taking photos, keep an eye out at XDA for one or two future articles in which I will provide introductions to editing software like Adobe Lightroom and explore my personal workflow, as well as general tips and suggestions for taking and editing RAW photos!

Have you taken a smartphone picture you are proud of? Share the results in the comments below!

All photos taken by Eric Ralph, 2011-2017.



from xda-developers http://ift.tt/2jDemW1
via IFTTT

NVIDIA SHIELD TV Upgraded to Android Nougat as New SHIELD TV (2017) Releases

NVIDIA has jumped ahead and updated their SHIELD TV from 3.3 to 5.0, running Android 7.0 Nougat. This upgrade brings with it several useful improvements, with the central changes coming in the form the NVIDIA Games application, which now supports the company's recently announced GeForce NOW game streaming subscription service.

The new Games app replaces the SHIELD Hub and could potentially be a boon for those who are interested in playing modern titles but lack the console or gaming PC otherwise required. GeForce NOW will allow SHIELD TV users to stream games from the cloud with the performance of up to what'd you'd expect from a dedicated GTX 1080 setup.

Equally exciting for couch gamers are the improvements coming to GameStream, which allows a dedicated PC to stream games to the SHIELD. GameStream will now be capable of outputting 4K and HDR content and has also been optimized for smoother, lower latency streaming.

The 5.0 Upgrade also brings the expected Android Nougat optimizations and features. This includes a refreshed UI with a better Recent Apps page accessed by double-pressing the home button, a slicker settings menu, and support for picture-in-picture video playback thanks to Nougat's multi-window multitasking capabilities, and more! Other smaller improvements coming with the update include the ability to write to attached USB and SD storage and the ability to now use cast features with HBO GO. Support for Amazon Video in up to 4K HDR can now be taken advantage of, as well.

All of this comes right alongside the release of a new NVIDIA SHIELD TV, upgraded for 2017 with a smaller profile and a lighter chassis for the regular model. The internals are the same, though, so it won't be any faster nor any better at the key features. The remote control and gamepad are improved as well, but those are sold separately. You can buy the regular version (16GB) for $199 or the Pro version (500GB) for $299 (starting January 30).

Source: NVIDIA.



from xda-developers http://ift.tt/2jpyw8Q
via IFTTT

LG Promises LG G6 Battery is Safe from Overheating

Consumer safety is a serious issue – and for very good reason. We lug around a mixture of chemical elements in our pockets everyday without a second thought to its flammability. That is because we assume that due diligence and strict testing procedures have been carried out to guarantee a high level of safety. But sometimes incidents can occur which shake up our trust in these products.

Samsung's experience with the Note 7, as unfortunate as it may be, did trigger a renewed focus on safety and testing procedures. There is no doubt that Samsung will be adopting stricter testing and accept lower error margins for the upcoming Galaxy S8, but this reaction is spreading across the rest of the mobile industry too.

LG has promised that it is doing its part to make sure the LG G6 does not suffer from unsafe defects. LG will be adopting new technology and will be conducting tougher tests to improve on the safety of the upcoming flagship that is set to be unveiled in Mobile World Congress in February 2017.

The LG G6's internal design will keep parts that tend to heat up as far apart as possible, avoiding situations where heat is concentrated in just one area. Furthermore, the device will also be incorporating heat pipes made of copper to conduct heat away from such areas.

LG is also conducting battery heat exposure tests to a temperature 15% higher than the temperature set by international standards of U.S. and Europe. The G6 is undergoing a new, more complex accelerated-life test as well. This will help analyze how the product and its components age when mishandled which is important to know in the context of smartphone batteries.

Overall, LG is trying its best to give assure potential customers that they have made safety their utmost priority. While you're at it, LG, can you also take a look at those bootloops?


Source: The Korea Herald



from xda-developers http://ift.tt/2j1JjlX
via IFTTT

Use Tasker to Notify when your Tethered Devices lose Internet Access

From the last article, you know that I spend quite a bit of my time on a train. It's an excellent time to write an article or two, provided I have access to the Internet to look up facts and ideas. Tethering can be tricky on the train, as reception-less areas are scattered across my route. I find it quite easy to tell that I'm about to go offline when I'm in a tunnel, but the situation is less apparent when the train cruises through the open meadows of North Yorkshire. Android's built-in tethering solution doesn't have any way to let you know that you are not going to be able to load that website for the next 5 minutes.

That's why, as a Tasker aficionado, I thought about how to solve my problem using the popular Android automation app. I've solved my problem by building a tethering 'no network' warning using Tasker. The aim of the project is to let you know when your phone no longer is in cellular network range. This will be done in 3 ways:

  • Using notification LED (best for when you tether for friends)
  • Using a smartphone icon (needs a smartwatch)
  • Using a Join push (best for personal devices -can be replaced with AutoRemote)

You can get more creative with notifications, however, I will use only discrete options as tethering is most likely to be used in public places. No one likes obnoxious notifications, right? Please bear in mind that the notifications will use an internet connection to show up on the connected device. You could use AutoRemote (via Bluetooth) to send out warnings when the network is not present. This will require the device in question to be paired via Bluetooth.

You will need:
Android version: 4.0+, Android 7.0 needed for the notification tile
Apps: Join
Plugins:  AutoWear (optional), AutoRemote (can replace Join), AutoNotification (optional)


Enable a tethering 'no network' warning with Tasker

Instead of checking if tethering is enabled, it's easier to replace a tile in the status bar with AutoNotification and set up a toggle behavior. If you are not on Android 7.0 you can use a shortcut or a widget instead.

If you have never enabled a tile with AutoNotification – you will see that this is a bit awkward. You will need to create a setup task which will convert a template tile into a tile of our choice. Place an empty tile, i.e. AutoNotification 02 onto the tiles area (click edit to edit the visible tiles).

Create a Tethering tile

Tethering tile

  Tile Setup          A1: AutoNotification Tiles [ Configuration:Tile: 2  Command: hotspottoggle  Label: Hotspot  Icon: android.resource://net.dinglisch.android.taskerm/hd_aaa_ext_signal  State: 1  Require Unlock: false  Hide Notifications: true Timeout (Seconds):60 ]           A2: Variable Set [ Name:%HotspotVariable To:0 Recurse Variables:Off Do Maths:Off Append:Off ]           A3: Variable Set [ Name:%HotspotDialog To:0 Recurse Variables:Off Do Maths:Off Append:Off ]  

You will only need to run this once to set up the tiles and variables. The tile will use a command hotspottoggle to change the state of tethering and will set it as inactive. It will also collapse the status bar once pressed. You can dress up the tile with a label of your choice and the icon.

Two more variables will be created and set to 0. %HotspotVariable will display the status of the tether (0 = no, 1 = yes) and %HotspotDialog will display a dialog asking us what device we want to notify (0 = do not show, 1 = show dialog).

Tethering toggle

Tethering toggle

  Hotspot Toggle           A1: Variable Add [ Name:%HotspotDialog Value:1 Wrap Around:2 ]           A2: AutoNotification Tiles [ Configuration:Tile: 2  Command: hotspottoggle  Label: Hotspot  Icon: android.resource://net.dinglisch.android.taskerm/hd_aaa_ext_signal  State: 999  Require Unlock: false  Hide Notifications: true Timeout (Seconds):60 ]           A3: WiFi Tether [ Set:Toggle ]           A4: Perform Task [ Name:Hotspot Dialog Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:Off ] If [ %HotspotDialog ~ 1 ]          A5: Wait [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ]           A6: Variable Add [ Name:%HotspotVariable Value:1 Wrap Around:2 ]           A7: Variable Clear [ Name:%HotspotDevice Pattern Matching:Off ] If [ %HotspotVariable ~ 0 ]  

I want to display a dialog only when tethering is enabled. The dialog will show some devices I own and will allow me to set the target for the notifications. In each case, I will set my tethering phone to blink the notification LED rapidly each time the reception is poor.

When the tile is pressed, it changes the status to active. %HotspotDialog changes to 1 and it triggers the HotspotDialog task. While we select our device, the Hotspot profiles are armed by setting the variable %HotspotVariable to 1. When I press on a tile again to end tethering, the HotspotDialog returns to 0 and no longer prompts the dialog to be displayed, and the %HotspotVariable is set to the neutral value 0.

A1,A6

The action Variable Add +1 will change the value of our starting variables from 0 to 1 and will wrap it around 2. This means these variables will always take values of 1 or 0. The action placement is relevant as well, as the %HotspotDialog will control when the dialog is displayed. We are running the same task to disable and enable the tethering, but we don't want the dialog to appear each time we toggle it.

A7

While we are at it, if the task is performed to disable the tether (%HotspotVariable = 0), we want to clear the variable that stores the name of the device which gets notified by the Hotspot Dialog task.

A5

The Wait action is added to prevent the information about poor range from being displayed straight away which may happen when the hotspot setting is toggled.

A3

Simply toggle the WiFi tether action. Nothing complicated about this step.

A4

A separate task is displayed to show the AutoTools Dialog and action for the choice I've made. This will run when our dialog controlling variable %HotspotDialog = 1.

A2

When the toggle is pressed, we want to make sure that the tile toggles the state active/inactive and retains the same command: hotspottoggle. Lastly, make sure it will collapse the status bar.

Hotspot Dialog

Hotspot dialog

  Hotspot Dialog           A1: AutoTools Dialog [ Configuration:Dialog Type: List  Title: Enable poor network notification?  Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png  List Type: 1  Texts: Tablet,Mobile,Computer,Watch,Laptop  Text Size: 20  Images: /storage/emulated/0/Tasker/Material Icons/ic_tablet-1.png,/storage/emulated/0/Tasker/Material Icons/ic_cellphone_android-1.png,/storage/emulated/0/Tasker/Material Icons/ic_desktop_mac-1.png,/storage/emulated/0/Tasker/Material Icons/ic_watch-1.png,/storage/emulated/0/Tasker/Material Icons/ic_laptop-1.png  Image Width: 50  Dim Background: true  Number Of Columns: 3  Top Margin: 16  Bottom Margin: 16  Bottom Buttons Top Margin: 16  Bottom Buttons Bottom Margin: 16  Close On Select: true  Separator: ,  Command Variable: atcommand  Cancelable: true  Turn Screen On: true Timeout (Seconds):60 ]           A2: Variable Set [ Name:%HotspotDevice To:%attext Recurse Variables:Off Do Maths:Off Append:Off ]   

The AutoTools dialog is used to display available devices. When the device is selected, dialog will close and set the value of the %HotspotDevice to the name of that device. This variable gets cleared each time the tethering is stopped.

Poor reception/No data

Poor reception/No data profiles

I have created 2 profiles which will check the signal strength and the Internet connection. Each one is controlled by the variable %HotspotVariable and is only active when tethering is enabled. Both profiles will trigger the same task when activated and deactivated. One contains the state context – signal strength –  and the other the mobile network. Ideally, the connection will be still present when the notification is issued. This is why I'm including the signal strength set to 1 in the profile condition.

Poor Signal

Poor signal

  Profile: Poor Reception (91)          State: Variable Value [ %HotspotVariable ~ 1 ]          State: Signal Strength [ From:0 To:1 ]  Enter: PoorSignal (89)                    A1: AutoNotification [ Configuration:Use HTML: false  Title: Poor reception  Icon: android.resource://net.dinglisch.android.taskerm/hl_device_access_network_cell  Status Bar Icon: device_access_network_cell  Status Bar Text Size: 16  Id: 55  Priority: -1  Persistent: true  Is Group Summary: false  LED Color: red  LED On: 300  LED Off: 30p  Skip Picture Cache: false  Update Notification: false  Only on Phone: true Timeout (Seconds):20 ]                     A2: Join Send Push [ Configuration:Device: Chrome@Laptop  Text: Poor range  Title: Poor reception  Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Laptop ]                    A3: Join Send Push [ Configuration:Device: Chrome@Home  Text: Poor range  Title: warning  Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ]                     A4: Join Send Push [ Configuration:Device: Tablet  Text: Poor range  Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Tablet ]          A5: AutoWear App [ Configuration:Execute Now: true  Trigger Event: true  Haptic Feedback: true  Name: App  AutoWear Elements: Show  AutoWear Element Id: poorrange  Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]    Exit: Cancel (90)          A1: AutoNotification Cancel [ Configuration:Id: 55  Cancel All: false Timeout (Seconds):0 ]           A2: AutoWear App [ Configuration:Execute Now: true  Trigger Event: true  Haptic Feedback: true  Name: App  AutoWear Elements: Hide  AutoWear Element Id: poorrange  Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]    Profile: No Data (92)          State: Variable Value [ %HotspotVariable ~ 1 ]          State: Mobile Network [ 2G:On 3G:Off 3G - HSPA:Off 4G:Off ]  Enter: PoorSignal (89)                    A1: AutoNotification [ Configuration:Use HTML: false  Title: Poor reception  Icon: android.resource://net.dinglisch.android.taskerm/hl_device_access_network_cell  Status Bar Icon: device_access_network_cell  Status Bar Text Size: 16  Id: 55  Priority: -1  Persistent: true  Is Group Summary: false  LED Color: red  LED On: 300  LED Off: 30p  Skip Picture Cache: false  Update Notification: false  Only on Phone: true Timeout (Seconds):20 ]                     A2: Join Send Push [ Configuration:Device: Chrome@Laptop  Text: Poor range  Title: Poor reception  Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Laptop ]                    A3: Join Send Push [ Configuration:Device: Chrome@Home  Text: Poor range  Title: warning  Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ]                     A4: Join Send Push [ Configuration:Device: Tablet  Text: Poor range  Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Tablet ]          A5: AutoWear App [ Configuration:Execute Now: true  Trigger Event: true  Haptic Feedback: true  Name: App  AutoWear Elements: Show  AutoWear Element Id: poorrange  Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]    Exit: Cancel          A1: AutoNotification Cancel [ Configuration:Id: 55  Cancel All: false Timeout (Seconds):0 ]           A2: AutoWear App [ Configuration:Execute Now: true  Trigger Event: true  Haptic Feedback: true  Name: App  AutoWear Elements: Hide  AutoWear Element Id: poorrange  Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]  

The AutoNotification notification is created on the phone, but only to make the LED blink. Choose the other values of the notification to your personal liking and set fast LED blink (mine is 300ms on/off) in your preferred color. The idea is to display discrete information rather than a fully invasive alert when the screen wake. The notification is saved as a permanent notification with ID 55.

What follows next is a Join push for each device you own. Select a Join push for each device, and use the IF condition to match the value of %HotspotDevice variable.

Configure the Join push action to send a notification of your choice. Since these notifications will be dismissed on the target device, no other actions are needed.

SmartWatch

Smartwatch profile

  Profile: Remove Watch Icon           Event: AutoWear Command [ Configuration:Command Filter: closepoorrange  Case Insensitive: false  Exact: true  Regex: false  Variable Array: false ]  Enter: Close WearIcon (55)          A1: AutoWear App [ Configuration:Execute Now: true  Trigger Event: true  Haptic Feedback: true  Name: App  AutoWear Elements: Hide  AutoWear Element Id: poorrange  Turn Screen On: true Timeout (Seconds):60 ]   

You will notice that I have changed the way the notification works for the smartwatch. None of the above will show up on my watch. The only thing I want to show on my watch is a small icon which can be dismissed on request.

Create an icon using AutoWear Manage Floating Icons *(you have to go to the AutoWear app) and test the size and placement on your watch. The icon will draw over any screen, so make sure it contain a command on tap to close it. I used closepoorrange and named the icon poorrange. The size of my icon is 30×30 pixels and it is placed 65% to the right and 20% from the top.

Once you are happy with the size and location – use the AutoWear App action to show the icon and the IF condition to link it to the %HotspotDevice variable.

Cancel

Cancel

  Cancel (90)          A1: AutoNotification Cancel [ Configuration:Id: 55  Cancel All: false Timeout (Seconds):0 ]           A2: AutoWear App [ Configuration:Execute Now: true  Trigger Event: true  Haptic Feedback: true  Name: App  AutoWear Elements: Hide  AutoWear Element Id: poorrange  Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]  

To end the LED blink and remove the floating icon from the watch, I'm going to use a simple AutoNotification Cancel action with the ID of my notification (55) to perform the AutoWear App action which hides the floating icon.

The smartwatch has an additional profile that will remove the floating icon if the icon is pressed. To do this I use the AutoWear Command event 'closepoorrange' then I run a separate task that contains pretty much the same action as the Cancel task.


We hope you enjoy this little creation of ours, and let us know if you think we can make any enhancements! As always, you can download the project by clicking the link below.

Download the Tethering 'No Network' Warning Project File here!

In order to import the tethering 'no network' warnings with Tasker project file, download the above file and save it anywhere in your internal storage. Open up Tasker and check to make sure that "beginner mode" is disabled in the preferences menu. Then, long-press on the "home" icon in the bottom left hand corner and click on "import". Find the prj.xml file you saved earlier, and select it to import it. You will now see a new tab in the bottom row containing all of the profiles and tasks we referenced in this article.



from xda-developers http://ift.tt/2jsjA9l
via IFTTT

PSA: Double Tap to Fast-Forward Rolling Out to YouTube App on Android

Some of my biggest personal pet peeves with the official YouTube app is the inability to set the video playback speed (to plow through slowew instructional videos) and the inability to skip short sections of the video to avoid irrelevant information. Although you can use the seekbar to jump around, on longer videos showcasing something like game play, even small seekbar movements can jump through large sections of the video.

One remedy that people discovered a few months back involved enabling the "Switch Access" accessibility service. Once enabled, the YouTube app would display two additional buttons on both sides of the video that allow you to skip 10 seconds forwards/backwards.

However, for those of us who prefer not to enable needless Accessibility Services, we could not use these buttons. But it appears that a server side switch on the YouTube app (as found on version 11.49.55 for us) makes this happen.

As you can see in the video below, all you need to do is double tap to initiate fast forward/rewind for a 10 second skip.

This change is rolling out via a server side switch, so have some patience.We should note we have not found this feature enabled on later versions of YouTube, such as on version 12.01.54 of the YouTube app, so don't expect to upgrade your YouTube app to gain this functionality. Though it wouldn't hurt to be on the latest version anyways.

While a very small change, this will surely help a lot of content consumers navigate quicker through a video right to the juicy bits. It is also beneficial in case you missed out on some instruction and just need a short rewind. Here's hoping Google also implements speed controls on the mobile app.

Have you received this functionality? Let us know in the comments below!



from xda-developers http://ift.tt/2iEy8lN
via IFTTT

Can Nokia’s Long-Awaited Return Bring Back Confidence and Relevance to the Brand?

Nokia, a brand that most on XDA have been touched by at some point over the years, is finally making a return to the smartphone market since its slow demise in 2011, following an agreement with Microsoft for Nokia devices to sport the Windows Phone OS exclusively.

This was a decision made with good intentions at the time, as Nokia was struggling to keep up with the leading market competitors.

Nokia worked with Microsoft until 2014 when they decided to end manufacturing, and they sold the mobile business to Microsoft, giving birth to the Lumia series which has since slowly died out itself; the line-up  could be rebuilt by a Surface Phone in 2017, as it hasn't seen the renowned success other phones – on all price brackets, running different operating systems – have seen. But now, after 4 years of having the much-beloved brand name tarnished by the rather questionable Lumia series, the license that Microsoft holds has now expired and Nokia has taken this opportunity to give exclusive licensing rights to HMD Global, a Finnish company founded in May 2016 by senior ex-Nokia staff. Since its launch, HMD has only released more basic feature phones with the Nokia brand so the decision to take advantage and make use of the very successful Android OS is going to be a very big step for them. This will not be the first time that a Nokia device will run Google's mobile operating system, due to the rather-forgotten release of the Nokia N1 tablet back in 2015 running Android 5.0, but this will be the first time a Nokia branded phone has carried the OS.

Suggested Reading: Over 100,000 People Pre-Ordered the Nokia 6

While Nokia will no longer be manufacturing the devices, they will very much be involved with the production process as the licensing agreement will keep a member on the board of executives who will set performance requirements for the brand, and help maintain the brand's reputation to prevent any more damage to the name the devices are carrying. Alongside this, HMD have also made the decision to make the new Nokia 6 an exclusive release for China, in hopes of meeting the needs of the rapidly-growing number of smartphone users (which is expected to expand by around 50 million in 2017) and will be marketed by JD.com. Even though the brand is not as popular in the region as its competitors, it holds a market where premium design and product quality are highly valued and if Nokia is known for anything, it is the solid design and reliability of their products.

Many of us living in the West have a love for Nokia that pre-dates the smartphone era, back to a time when high screen resolutions and fancy cameras were nowhere to be seen, but the same cannot be said about developing countries who adopted the mobile technology much later. Because of this, in countries such as India, there is little nostalgia for the brand as the first experience with a Nokia device the population had was alongside both Apple and Android devices that had already excelled in the mobile market by this time — and while Lumia devices were solid performers for their price, they never stood out against its faster, more premium competitors. Despite the decreased attention and popularity Nokia may receive away from the West, they are determined and driven to connect people together from all parts of the world with an ideal to transform future technology to reshape the human experience. With a focus that has always been on pushing boundaries to create new ways of connecting people it is Nokia's vision to invent and develop to create human technology that helps people thrive.

Now onto the device itself

Nokia is making its way back into the mobile market with the launch of the Nokia 6, reaching over 250,000 pre-registrations within the first 24 hours of becoming available, it seems that the love for the brand is still as strong as ever. The Nokia 6 isn't going to provide much competition for the current market leaders such as Samsung's Galaxy series, but will provide an affordable piece of tech without the loss of product quality, which is likely to fit well with the expected increase of mobile users, as newcomers to the smartphone epoch may be a little hasty and less willing to expend a large sum for a device that will, in essence, provide the same functionality as a high-end device such as Apple's iPhone.

This does not mean that we are going to see a release that will drop short of current devices — in fact, it looks like the Nokia 6 will be giving the Xiaomi Redmi 3S, released June 2016, a good run for its money with Nokia also expecting to launch with the Qualcomm Snapdragon 430 chipset, an Octa Core 1.4 GHz Cortex A53 processor and an Adreno 505 GPU. It will also match the 3,000 mAh battery however, the Nokia 6 will be boasting a 16 megapixel rear facing camera rather than the 13 megapixels Xiaomi has to offer. The Nokia device will also be providing 64GB of storage and 4GB RAM over the 2GB from the Redmi 3S and give us a ½" more in the size of the display running a 5.5" full HD Gorilla Glass screen. The release price announced by retailer JD.com is CNY 1699 (about $250), looking to accommodate new users to smartphones, and will be available on January 19.

As new devices from competitors reach the shelves, however, the Nokia 6 might begin looking less appealing — Nokia just got onboard a populated market with cut-throat competition, as the affordable segment has seen some of the biggest developments in recent smartphone history. Today, affordable smartphones are fiercely marketed and have gotten good enough to seriously attract the mainstream, even eating away at "affordable flagships" just a tier or two above them in the price hierarchy. Only time will tell to see if this new release and rekindled approach to licensing and phone production will help stamp Nokia back on the map in the mobile industry, prompting for only more of the products we have come to know and love from the beginning of the mobile phone age.

Do you think Nokia and its Nokia 6 have what it takes to make the brand relevant again? Discuss below!



from xda-developers http://ift.tt/2iup3xi
via IFTTT

Google App Prepares to add Support for making Payments through Google Assistant

Google Assistant is proving to be rather useful with its robust Google services integration. Plus, with the expanding availability of third-party APIs, the platform is shaping up to make for a killer Home Assistant. But the success of Google Assistant does not lie with its more complex functionality, rather it begins and ends with how it can handle the most basic tasks.

Currently, the service lacks the ability to handle to-do lists, reading notifications/texts from your phone, or adding events to your calendar. But from what we can discern from an APK teardown of the latest versions of the Google App, Google's fledgling Home Assistant service seems to be adding one key functionality in the near future: the ability to directly make payments.

Although a teardown can provide valuable information regarding upcoming features, it is entirely possible that these features may not make their way into the final product. Do not take these teardowns as proof that a feature will be added, but rather as a hint of what could be coming.


Making Payments through Google Assistant

Google App version 6.11.13 beta is now rolling out (which you can grab over at APKMirror), but the strings found below have existed for a few versions before this one. Currently, the only functionality that is available to users can be found in the Google Home app, and as you can see – making payments is not one of them.

But as shown in strings reproduced below, the Google Assistant is preparing to add support for making payments through the service.

Google App Teardown

    <string name="assistant_payments_preference">assistantPayments</string>    <string name="assistant_settings_payments_add_new_address">Add new address</string>  <string name="assistant_settings_payments_address_address_line1">Address line 1</string>  <string name="assistant_settings_payments_address_address_line2">Address line 2 (Optional)</string>  <string name="assistant_settings_payments_address_gate_code">Gate code (Optional)</string>  <string name="assistant_settings_payments_address_gate_code_too_long">Max %1$d characters</string>  <string name="assistant_settings_payments_address_list_title">Delivery address</string>  <string name="assistant_settings_payments_address_phone_number">Phone number</string>  <string name="assistant_settings_payments_address_required_field">Required field</string>  <string name="assistant_settings_payments_address_save_error">Error saving address.</string>  <string name="assistant_settings_payments_device_title">Shared devices</string>  <string name="assistant_settings_payments_done_button_text">Done</string>  <string name="assistant_settings_payments_edit_address">Edit address</string>  <string name="assistant_settings_payments_enabled_title">Pay through your Assistant</string>  <string name="assistant_settings_payments_instrument_item_disabled">Disabled</string>  <string name="assistant_settings_payments_instrument_item_expired">Expired</string>  <string name="assistant_settings_payments_instrument_item_inapplicable">Inapplicable</string>  <string name="assistant_settings_payments_instrument_item_needs_fix">Needs fix</string>  <string name="assistant_settings_payments_instrument_item_unknown">Unknown</string>  <string name="assistant_settings_payments_instrument_list_title">Payment method</string>  <string name="assistant_settings_payments_oos_screen_description">Need help? Contact the Google Support Team for assistance</string>  <string name="assistant_settings_payments_oos_screen_title">"Payments isn't currently available on the Google Assistant"</string>  <string name="assistant_settings_payments_save_button_text">Save</string>  <string name="assistant_settings_payments_setup_accept_button_label">Accept</string>  <string name="assistant_settings_payments_setup_device_description_p1">"You'll soon be able to pay for things when you use Google Assistant, including on the following shared devices."</string>  <string name="assistant_settings_payments_setup_device_description_p2">Customize which of your shared devices are allowed to help you with payments and other personal tasks, like your calendar and services. You can also turn "Personal results" on or off later in your Assistant settings. <a href="http://ift.tt/2iumv2f">Learn more</a></string>  <string name="assistant_settings_payments_setup_devices_title">Confirm shared devices</string>  <string name="assistant_settings_payments_setup_instrument_list_title">Choose card</string>  <string name="assistant_settings_payments_setup_next_button_label">Next</string>  <string name="assistant_settings_payments_setup_shipping_address_title">Choose address</string>  <string name="assistant_settings_payments_setup_splash_screen_button_label">Get started</string>  <string name="assistant_settings_payments_setup_splash_screen_subtitle">Set up payment info and addresses for your packages, groceries, and other purchases</string>  <string name="assistant_settings_payments_setup_splash_screen_title">Set up payment &amp; delivery info</string>  <string name="assistant_settings_payments_setup_terms_of_service_title">Terms of Service</string>  <string name="assistant_settings_payments_summary">Manage payment methods and addresses</string>  <string name="assistant_settings_payments_title">Payments</string>  <string name="assistant_settings_payments_update_error">Error while updating payments settings. Please try again.</string>    <string name="common_device_personal_info_permission_summary">Allow this Google Home to read out your private info like your calendar and flights, display your photos on TV, and help you with orders, reservations, and payments</string>    

The string "you'll soon be able to pay for things" when you use Google Assistant indicates the service is not yet live (as none of us using Assistant have found evidence of the service being live), but it soon will be. Plus, you'll be able to specify which Assistant-connected devices will be able to participate in making payments.

In order to make payments, of course, you need to specify what specify a delivery address for your items. Billing is of course handled through Google's APIs for adding payment methods. It'll be interesting to see exactly how this functionality will work – but we're hoping it will work as well as Amazon's Alexa when placing orders through voice.

We have also found evidence that this functionality is at least partially implemented in the APK file, as we have found numerous references to layout files that set up the payment interface. It is possible that the functionality is baked in, but Google is still working on the back end to make the service work before rolling it out to everybody.



from xda-developers http://ift.tt/2jhhyHe
via IFTTT