Lumia 630

A couple of years back I never thought I’d be buying a Windows phone, but I have used Windows  Mobile quite extensively in the past. At R$ 320 (approximately US$ 104) I found a Lumia 630 to be a really good upgrade for my wife, after a LG L40 she’d been using.

Nokia Lumia 630

Here’s what I like about it:

  • 4.5 inch screen with good viewing angles and blacks.
  • Nice sturdy plastic body.
  • Replaceable 1830 mAh battery. The phone lasts almost two days on a charge without heavy use.
  • Dual Sim.
  • Quad-core Snapdragon 430 with sensor core technology for activity tracking.
  • 5 megapixel back camera with autofocus.
  • Digital TV.
  • It’ll get a free update to Windows 10 for phones.

Here’s what could be better:

  • It has 512 MB of RAM. The kinds of apps my wife uses hardly demand any more.
  • No camera flash. The situations where that would help are very few. It does make a handy flashlight though.
  • No screen brightness adjustment based on ambient light.
  • Mail app does not support push notification, and GMail specific features. My wife ended up trading the phone for my daughter’s Moto E.
  • Poor app ecosystem means you end up having to use the browser a lot more often.

Moto E

Moto E

I just bought a Moto E for my daughter. At R$ 360, approximately $ 140, it is quite cost-effective. It’s in white, has digital TV, and comes with a couple of extra back covers. Here’s what I like about it in comparison to an LG L40 (D175F) I bought almost a year back

  • At 1 GB, it has twice the RAM of the L40
  • 5 MP back camera that, sadly, lacks autofocus
  • A 4.3 inches, 256 ppi (540 x 960 pixels) display

Comparison of Personal Finance Apps

Here’s a comparison of personal finance based on features I’ve come to consider as necessary. After using Pocket Money for three years, I have chosen Account Tracker as my app of choice.

Personal Finance Apps

Getting Started with Bluetooth Low Energy by Kevin Townsend et al; O’Reilly Media

Getting Started with Bluetooth Low Energy, Tools and Techniques for Low-Power Networking

Bluetooth LE, or Bluetooth Smart as it is officially known, has generated a lot of interest for all the good reasons. Getting Started with Bluetooth Low Energy by Kevin Townsend et al is a solid guide to the topic, along with other good books such as Bluetooth Low Energy: The Developer’s Handbook.

The book begins by discussing the key characteristics, limitations, and use cases of Bluetooth LE technology, in chapter 1. The following four chapters take a deep dive into the protocols that comprise Bluetooth LE, beginning with an overview in Chapter 2. Chapter 3 delves into the Generic Attribute Profile or GAP (advertising and connections). Chapter 4 delves into Generic Attribute Profile or GATT (services and characteristics).

Makers need to select hardware to leverage Bluetooth LE. It may come in the form of a module that you program to act as a peripheral, or a USB dongle that you may plug into a USB host. Chapter 5 discusses several such options. Chapters 6 and 7 delve into debugging and design tools that aid developers during development and troubleshooting.

Chapter 8 shows how to leverage Bluetooth LE on Android using the Bluetooth Application Accelerator library from the Bluetooth SIG. You’ll learn how to establish connection and communicate with a remote device. Chapter 9 delves into Bluetooth LE programming on iOS by demonstrating several practical applications.

Chapter 10, the concluding chapter, shows how to leverage Bluetooth LE on embedded devices. It uses a hardware module introduced in chapter 5, in conjunction with ARM’s mbed platform, to build a peripheral that can be used with Android and iOS devices.

All source code shown in the book can be forked from the author’s GitHub repo. The text has occasional spelling mistakes that don’t affect readability.

I’d like to thank O’Reilly Media for providing an e-book for review.

Monthly news review

This post reviews news in the month that has passed.

Everything Google announced at Google I/O 2014 in one handy list

Google announced a lot in one long keynote at I/O. Android One, Android Auto, Android Wear, and Android TV, are probably the big announcements this year. Looks like Google is prefixing all mobile-oriented hardware with Android, web-oriented hardware with Chrome, and services with Google. Unless it is something coming out of Nest, who’ve just launched a developer program for the programmable home.

Aereo Lost. What Now?

TV broadcasters are celebrating while the tech industry is up in arms. Are customers the real losers? Why should we need airwaves to transmit TV in the era of mobile internet? Why hasn’t the TV business adopted on-demand programming more actively? It isn’t as if their business isn’t being slowly driven to the ground.

This is Microsoft’s first Android smartphone, the Nokia X2

Nokia could have hedged its bets with Android a long while back. So why now? It is a cheap but attractive Android Smartphone full of Microsoft software and services.

Amazon’s Fire phone launch: Hits, misses, and takeaways

From inexpensive tablets to a fairly expensive phone, Amazon as come a long way. Lack of Bluetooth 4.0 (especially Smart) is annoying. It does seem to sport universal LTE, like the Moto G 4G. Will the Fire Phone truly delight users?

Google Donates Mod_Spdy To The Apache Foundation

HTTP 2.0 is around the corner and changes one crucial aspect of HTTP 1.x. It will no longer be a text-based protocol. An important feature is that data will be multiplexed over a single connection a browser maintains with a server.

Docker hopes its container platform will ease the lives of developers

Will an open container help big companies and other providers overcome the dependency on and momentum of Amazon, Google, and Microsoft?

Turing Test breakthrough as super-computer becomes first to convince us it’s human

Not everybody is convinced though, but the implications are important nevertheless. How do you know an e-mail message wasn’t sent by a real person? Are we at the cusp of having to deal with endless amount of believable spam? Looking at the positive aspects, customer support, distance education, and other areas that depend on personal interaction, may benefit.

Skype Translator Will Change the World

Real-time voice translation is a hard problem. You have to translate speech to text. The text then needs to be translated to the target language. The translated text then needs to be converted to speech. Imagine doing all of that in real time. Imagine doing that wrong in a UN session discussing climate change.

Google’s secretive 3D-mapping project now has a tablet

Google is keen to map the indoors. I see huge potential for indoor mapping. Imagine your interior designer mapping your house so that she can show you exactly how your renovated indoors will look? A robot that can go about your house tidying it? Are we heading towards becoming Wall-E lazy?

Apple announces iOS 8 at WWDC 2014

Easily one of Apple’s best WWDC considering all the news. A new programming language called Swift, Mac OS X Yosemite, Metal, HomeKit, CloudKit, and extensions in iOS 8. For those eager to learn Swift, Apple has provided an iBook for it already. A good news for all Netflix viewers, Safari on Mac OS X Yosemite now allows streaming using HTML5, no Silverlight required.

Monthly news review

This post reviews news in the month that has passed.

Xamarin 3 Enterprise Edition Reviewed

Is cross-platform native GUI development a reality? Forms is something I’d be eager to adopt. Xamarin licensing is a bit on the expensive side of things though, and aimed squarely at enterprise developers that can afford it.

DMV Lays Out Rules Governing Self-Driving Car Tests

If you live in California, you’re now one step closer to riding a self-driving car. The rest of the world will probably benefit too. Google has been making a lot of press this month with their new self-driving car. That its brand has surpassed Apple in value is probably attributable to projects like these, and the good-enough smartphones.

Microsoft announces 12-inch Surface Pro 3, wants to replace your iPad & MacBook

Wish I could replace my laptop, though I think it is hard to beat the one I currently use in versatility. Care to guess which one?

Xiaomi’s 49-inch Android TV boasts 4K for just $640

Xiaomi already sells an Android powered TV, but this one has an incredible 4K display.

Motorola Says It’s Time to Ditch the Feature Phone, Intros $129 Moto E

Not satisfied with the price point achieved by Moto G, Motorola has launched Moto E. Lenovo must be pleased. Motorola has had to make a few trade-offs. Moto E has only 4 GB of internal storage and no front-facing camera. To its credit it comes with a microSD slot and Android KitKat.

GitHub open-sources all of its Atom text editor

Imagine Google Chrome as a full-fledged development environment. Atom is eminently customizable and already has a huge number of packages. Need Lua script editing capability? Just search for Packages with “lua” in their name and install.

Apple Launches Recycling Program for All Old Products

Have old Apple gadgets that friend and family refuse to accept? Apple will now take them back for free or a credit towards new purchases.

Learning Android by Marko Gargenta and Masumi Nakamura; O’Reilly Media

Learning Android is a relatively short book that leads you through building a real-world application. It is a book for beginners of Android who want to start building end-to-end applications, now. It does not cover server-side programming, or cloud programming as we’re increasingly apt to call it, but reuses existing services developed by the authors.

The books starts with an overview of Android in Chapter 1, with topics such as its history and marketshare. That chapter is followed by a review of Java programming in Chapter 2, which I read because I have been away from Java programming a while.

Chapter 3 provides an overview of Android’s architecture. I wasn’t aware of the Binder RPC mechanism, that the Bionic libc was implemented to avoid L-GPL licensing restriction of glibc, nor that Dalvik is a register based Java virtual machine named after a village in Iceland.

Chapter 4 contains instructions on downloading and installing Java and the Android SDK. The book uses Eclipse IDE in all how-to discussions but does mention Android Studio. Chapter 5 dives into the main building blocks available to developers such as Activities, Intents, Services, Content Providers, Broadcast Receivers, and Application context. The remaining chapters thoroughly explore these building blocks as you build an application called Yamba.

You get introduced to the Yamba application in Chapter 6. Chapter 7 builds the main user interface using Activities. It also discusses performing tasks in the background using AsyncTask. Chapter 8 delves into composing UI using Fragments. Chapter 9 delves into managing preferences stored in the filesystem. Chapter 10 discusses a background service to refresh data obtained over the internet. Chapter 11 discusses SQLite database and content providers to manage and provide data. Chapter 12 delves into list views and adapters to present large amounts of data efficiently. It also discusses building a landscape version of the Yamba app.

Chapter 13 delves into receiving intents using broadcast receivers to periodically refresh data over the internet and to notify the user. Chapter 14 discusses creating a Widget for the app, that can be placed on the home screen. Chapter 15 delves into accessing data over the internet using HTTP. Chapter 16, the final chapter, shows you how to create live wallpapers and handle user interactions using handlers.

To keep up the pace, I wasn’t actually coding the app. Readers who did, have reported inconsistencies in the code. Look at the book’s errata page, and report any new problems you encounter. I thank O’Reilly Media for providing me an e-book for review.