Tuesday, September 29, 2015

Overview of new devices from Google's event today - 9/29/2015

  1. New Phones - Nexus 6P ( in colors Frost White, Graphite, Aluminum ), Nexus 5X ( Also in three colors ) . 
  2. Fingerprint Sensor - Both comes with Fingerprint sensor ( called as Nexus Imprint ).
  3. Camera Improvements - Nexus 6P has 240 FPS Camera mode, and Nexus 5X has 120 FPS Camera mode. Both cameras have a fast burst mode to capture pics at 30 FPS. Both Cameras have a big sensor size ( larger than iPhone 6+ ) which improves low-light performance, and reduces the need for OIS ( Optical Image Stabilization ).
  4. Power Management : Fast Charging - Both come with Fast Charging, and with the software-driven Doze mode which improves battery performance by 30%.
  5. Ordering and Availability - Pre-order available later today - 9/29/15 -> Nexus 5X starts at $379 - Nexus 6P starts at $499, will be available mid-October. Google store will be the store of choice for this hardware.
  6. Google Play Music – Purchasing either of these devices has an included offer of 90 days free access to Google play music. $15 per month for 6 accounts for Google Play Music as a new service.
  7. Google Play Credits - $50 Google Play credit when either of these devices are updated.
  8. Warranty Plan - Nexus Protect ( $89 ) – gives you a total of 2 years of coverage for mechanical breakdown ( rather than the 1 year standard ). Get a new device as early as the next business day in-case of a breakdown. 
  9. Project Fi compatibility - Nexus 5X, Nexus 6P are available on Google’s Project Fi network. [ meh ]
  10. Google Photos Improvements – 1. Shared Albums, with minimal setup ( for example, auto sharing of children’s pics etc ), notifications will be communicated when new photos are added. 2. Improved search capability – enabled via give labels to folks leading to queries like Search for Person 'X' hiking, Search for Dad at the baseball game 3. Chromecast support to be added Photos ( finally ! ). 
  11. ChromeCast –> 

  • More apps ( including Sling TV etc ) to support Chromecast. 
  • The new Chromecast for $35 – modern new look ( Black, Lemonade, Red colors ), improved performance, new adaptive antenna system, 
  • Chromecast Audio - also $35, will support mirroring in addition to streaming, and will also support multi-room synchronization. 
  • Re-designed Chromecast app to improve discoverability of content ( excellent ! ). 
  • Fast Play, allows Pre–fetching of content to improve streaming experience. 
  • Gaming on Chromecast – use Phone as a game controller. 
  • New Feeds coming for Backdrop – Facebook, 500PX, Flickr etc.

  • And lastly, Pixel Team update Pixel C ( Convertible ) – running Android Marshmallow. Built with precision engineering. Keyboard connects to tablet via Bluetooth, and is sturdy. Quadcore processor with GPU. Stereo Speakers. 3 GB memory. Far-field voice activation with four microphones. Starts at $499 for tablet, and $149 for the Keyboard. Availability, this Christmas. 

    Friday, June 19, 2015

    On Focused Reading...

    Reading without focus can often be like mindlessly watching whatever is being shown on TV. In other words, it is highly important to focus your reading to topic(s) that genuinely interest you, and not just which are 'out there'. Another analogy for unfocussed incessant reading, is snacking incessantly on potato chips. Reading without focus, can thus also be termed as 'info-snacking', i.e. continuous intake of info-snacks, without thinking whether they are causing an improvement in intellectual health or not. Since, this realization I have tried to be more focused in what I read, and where I read it from.

    Tuesday, June 9, 2015

    When [NSFileManager defaultManager] became nil

    A few days back we faced an interesting problem. To use / manipulate a locally stored file, we were using the [NSFileManager defaultManager] to obtain an instance of the default File Manager, and then were trying to access the file. However, whenever this code fragment was executed the app would crash. We setup up breakpoint(s) to try to isolate the issue, and during debugging it showed up that on the very first line, where we tried to obtain a reference to the defaultManager, the instance was a valid one, but the moment we actually tried to use the reference to do something useful, the instance showed up as nil. We checked online as well, and couldn't find any references to other having a similar problem and spent some time being perplexed by why would the defaultManager be returned as nil. 

    After sometime when we didn't make progress on resolving the defaultManager issue, we decided to check on the path to the file that we were trying to access and found that the path was invalid due to a bundling issue, which was in turn invalid because of build script issue. We immediately resolved the build script issue, and subsequently the defaultManager returned a valid reference ( as expected ! ). While we were happy at resolving the issue, we were also hoping that the defaultManager didn't show up as nil in the debugger, which led us to spending quite a bit of time in trying to figure that one out ( which ultimately turned out to be a "ghost" issue distracting us from the real problem ).

    Wednesday, June 3, 2015

    Unchartered Territory....


    What's the good about unchartered territory ? By definition, no one ( or atleast you yourself :-) ) has explored it, it is wide open for exploration, you set the pace, you set the rules and you show the way, and this can lead to personal growth. Ultimately, life is about exploration, and people usually remember the explorers, and not the followers. The objective of life should be to try to stay in explorer mode, and resist the urge to be in follower mode. There are other ways of saying the same, namely try to leave your comfort zone and go and do something new and unchartered...

    Friday, May 29, 2015

    Google I/O Keynote - 2015 Notes

    Some new updates from Google, arranged roughly in descending order of what I think is important to the Android Developer Community…

    Android M (Developer Preview will be available later today, final release around September this year. ):
    • Native platform-level Fingerprint API’ support. 
    • Granular permission model, bringing it at parity with iOS. No upfront check for Permissions, which has been the case with Android till date from inception. Permissions are requested for as and when needed. Geez, thanks Google !
    • App Links’ - An improvement on ‘Intent’ model which allows ‘Auto verification’, which allows by-passing the ‘Chooser menu’ when sharing content, and allowing an ‘AutoVerified’ app to automatically be launched in response to a share request. Not sure if this is exactly an improvement, since I don't mind the 'Chooser' model.
    • Chrome Custom Tabs’ - ability to customize WebView when launched from within the context of an app.
    • Smarter sharing – the Androijd System learns how you share links / data between App(s) and People, and improves defaults…
    • Android Pay’ - Android’s take on mPayments using NFC/HCE.
    • Power management updates’ - upto 2X improvements in Battery with a new ‘Doze’ mode. Also USB type-C charging will improve charging time by 3X – 5X.
    Free Automated Android Testing on Top 20 Devices ( sourced from Google I/O, Engadget ):
    • Cloud Test Lab’ - Upload your APK and Google will test it against the top 20 Android devices for free.
    • Submit your app to the developer console staging channel and Google will perform automated testing
    • If they run into any crashes, they'll get a video of the app before the crash and a crash log to help them debug things.
    • With the Test Lab, developers only have to upload their application to the service and the tool will automatically work its way through every screen in the app.
    Android Wear:
    • 4000 apps targeted to Android Wear, already available.
    • Several UI updates.
    Play Store:
    • Developer Console - Support for A/B testing
    • Better app installation / usage analytics. 
    • Support for ‘Developer Homepages’ where people can upload more Custom graphics to differentiate their apps and serve as a single page to showcase all your apps.
    • More filters added to the Google Play Store, including Age filters etc...
    Android Studio:
    • updated to version 1.3
    • Added support for C/C++
    Google Now:
    • Now on Tap’ - available on Android M.
    • Can be invoked from the context of Any app. If you are on any app, and invoke Google Now, Google Now is able to understand / scan the screen and obtain context, and then be able to provide information as needed with this contextual information. 
    Project Brillo OS:
    • Google’s official OS for Internet of things. Available Q3 of this year.
    • Derived from Android.
    • Weave’ communications layer for Internet of things project. E.g. A Recipe app, could interface with a smart oven to set the correct temperature etc from the app itself etc… Available Q4 of this year.
    Google Photos ( Brand New App ):
    • Backup and store – Unlimited Automatic High-resolution Photo & Video backup.
    • Auto-Organization / Grouping – of People, of Faces, History of people in your albums.
    • Search – textual search for Photos. Search for Snow storms
    • More functionality – create custom animation, movies, collage etc.
    • Photo suggestions – auto edited photos / compositions which user can choose to use or discard.
    • ‘Login-less’ photo sharing.
    • As of yesterday, Google Photos is my default photos home, especially after the unlimited photos announcement,
    • Google Photos also has a feature which 'releases' memory on your phone to 'auto-delete' photos which have already been backed up. Using this technique, I was able to make 9 GB memory available on my phone easily.
    Other Stuff:

    Friday, May 15, 2015

    Portfolio

    A collection of link(s) representing some of my code, apps, certifications and profiles.
    ---------------------


    Certifications


    ---------------------
    Code

    ---------------------

    Apps

    - Developed / architected significant modules for the following top-rated consumer applications.

    - Developed and architected significant modules for internal mobile applications used within Fidelity by Portfolio Managers and Research Analysts.

    ---------------------

    Profiles

    ---------------------

    Blog 

    ---------------------

    Photography

    ---------------------



    Wednesday, November 6, 2013

    A brief review of Nexus 5 and KitKat

    So, after a long wait, the world's 'most leaked' phone a.k.a the Nexus-5 was finally launched last week. Most of the information with regards to it's specifications had already been leaked multiple time prior to it's official launch. Thanks to Android Police for tracking the final official launch of the Nexus-5. What follows below are some observations after a few hours of using the phone.

    About this review

    This is going to be a personal ( and subjective, i.e. non-benchmarked ), at a glance review of the (just received) Nexus 5, and Android 4.4. As of right now, Android 4.4 is only available on the Nexus 5, but since Google has reduced the memory foot print of Android 4.4, so it should be spreading to other devices pretty soon. The official exclusion of Galaxy Nexus ( at least as of now ) is surprising and disappointing to me, however.

    General comments with regards to the size
    My general comments with regards to the size are that coming from a Galaxy Nexus, the Nexus 5 seems a tad big to me. However, it is of the a size which I feel I will get used to it in a few days just as I got used to the Galaxy Nexus when I first got it. Nexus 5 is also marginally bigger than the Nexus 4.

    General comments with regards to performance
    The phone has a solid overall performance in terms or launching apps for the first time, restoring currently running apps, switching between apps via the task switcher, overall fluidity and refinement of transparency and motion animations. I believe that Google hit a sweet spot in Android UI design from Android 4.0 onwards, and Android 4.4 builds up on top of all the incremental updates to improve the overall look and feel across the board. In common tasks, like browsing, listening to music, watching videos etc, I didn't find a significant change between the Nexus-5 and the Nexus-4, which is not a bad thing at all. The Nexus-4 ( with 4.3 ) screams while performing these common tasks and Nexus-5 incrementally improves that. I am sure that for highly performance intensive tasks, Nexus-5's updated processor truly shows it's power. Indeed, in some tests it has shown itself to be one of the best performing Android phones in the market today.

    General comments with regards to Android KitKat 4.4
    Some of the features of the software package on Nexus-5 are listed below:
    1. Google Now is just a left swipe away due to a totally re-designed Launcher App.
    2. Google Now is also accessible from the home-screen via the keyword 'OK Google'. This is still not as nice as the 'Always-On' mode of Moto-X, or the ability to launch Siri from any screen in iOS devices.
    3. Minor improvements like transparent status bar, and bottom menu bar.
    4. The Camera app contains an HDR+ mode which actually takes multiple pictures at multiple exposures, and combines them. This is different than the traditional HDR Camera apps which do not follow this process. It should also be noted that the Camera is Optically stabilized, which is useful for certain shots when your hand may not be stable.
    5. A full-screen mode which is useful for Apps like Games, or Videos, or for reading eBooks.
    6. Higher security with SELinux in enforcement mode.
    7. Typing in Hindi is now much easier.
    8. A foray into a totally new run-time known as ART, which promises to significantly boost overall performance.
    9. Number of home screens is unlimited.
    10. Pedometer like functionality is now a part of the Nexus-5, KitKat combination so devices like Fitbit etc have a new challenger.
    11. Business Caller-ID is now integrated as part of the Dialer App. What this means is that if you receive a call from a Business that Google has catalogued, then you will be presented with the relevant information when they call you. It also means that local Business search is integrated as part of the Dialer App. So if you want to order pizza, you don't need to open the browser and search for Pizza, but instead go straight to the Dialer App, search for Pizza there and Google starts showing local options immediately. There are plans to expand this to Individual Caller-ID as well.
    12. Expanded developer options.

    Q. Why did you choose a Nexus device ? Isn't Android Phone X better in parameter Y than a Nexus device ?
    A. One word ( or two actually ) - OS updates. To me Android OS updates coming straight from Google, without having to wait for carriers, and/or OEM ( Original Equipment Manufacturers ) is one of the most important aspects of owning a device. Staying on the latest platform, not only ensures that you receive the obvious visual features, but also most importantly, the latest security patches and updates.

    Q. What about the cost ?
    A. Unlocked - 16 GB ( $350 ) , 32 GB ( $399 ). For the above mentioned performance and features, this is an unbeatable price since it compares favorably with many of the phones which cost double unlocked.

    Q. What about the battery ?
    I am expecting a battery life analogous or marginally better than that of the Nexus 4, due to the slightly larger battery. I will update this section once I have more info. It is interesting to note here that the Nexus-5 features some technology to reduce Battery consumption

    Additional Reading and Extras:
    1. Excellent overall summary of Nexus-5 and KitKat.
    2. Google's official listing of KitKat updates.
    3. KitKat's official video on Kitkat .
    4. Last but not the least, Google's official promotional video for Nexus-5.