Pages

Monday, March 18, 2013

Galaxy S3 + Touchstone = Awesome Without Wires



After promises of a wireless charging kit, expensive 3rd-party options, getting a semi-official version months and months later from Samsung/Verizon and numerous delays, I decided to stop waiting. I don't particularly care for wireless charging, I think it is pretty cool, but it is a bit slower than just plugging in a device. The cost has been a major issue for me, even if the device came with it built-in like the Lumia 920 and Nexus 4, the docks cost 3x as much as a standard wall adapter, I just didn't think it was worth the money.

Enter the Palm Touchstone.





A few years ago the world, okay the tech world, was caught off guard by the newly announced Palm Pre, it was to be a resurrection of the Palm brand. Along with the new software and, at the time, impressive new hardware, the Pre brought with it a wireless charge kit, you could spend $50 to get a replacement battery cover and the dock. Unluckily for Palm, the devices, and to a lesser extent their software, never made a significant impact on the market, Android and iOS dominated and crushed Palm's aspirations. Luckily for me, and many others, the Palm Touchstone docks are real cheap, between $8-$15 a piece. The battery covers are even cheaper, between $1-$8 and come in a variety of colors and styles.




I found this handy guide online (thanks XDA!), that outlines all that is needed to transplant the innards of a single Palm Touchstone enabled battery cover onto my Galaxy S3. This doesn't not work with most phones, so unless you have a GS3 you may have to go with a sled or complete battery cover replacement to get the same result. Since Samsung announced the availability of wireless charging for the GS3 it comes prewired for a replacement cover that would just snap into place. There are two nodes on the back (inside) of the device which makes this hack a breeze.





I'm not going to do a tutorial I just wanted to show off and explain my experience with doing the hack and my results. The guide was easy to follow, I ordered a battery cover and dock, when they came in, I got to work. The battery cover was surprisingly easy to deal with, I pulled up all of the important pieces amend popped out the magnets. Then lined up all the pieces within the back of my phone and taped them down. After figuring out where to buy copper tape (Hobby Lobby or other craft stores, apparently it is used for Stained-Glass window making...), I added the final pieces, snapped everything together, and hoped for the best.




It didn't work at first, I had to re-align the copper contacts to get them to line up just right and not cross over. Then I dropped it on the charger, everything lined up correctly, the device snapped into place, the screen came on and began charging. Awesome! It took about $15 and about 30 minutes to complete the hack. The back cover now bulges out slightly but everything snaps down and it looks the same to the untrained eye. I only have one dock for the time being, and it is great being able to just pop it on the dock right before bed and not have to fiddle with the cable in the dark. Daydream (available in Jelly Bean 4.2) allows the clock to display after the phone begins charging, now I have an alarm clock that I can actually see while laying down in bed. If you have a GS3 and are wanting to have a little (somewhat risky) fun with your device, this is a great and cheap hack, easily reversible, unless you snap the thin battery cover while removing it. Or you can wait for the Galaxy S4, which will, just as Samsung promised with the GS3, have a wireless charging kit available for purchase at/or around launch.



Friday, January 11, 2013

Galaxy S(uperphone) III - How I fixed a flawed phone


I upgraded my aging T-Mobile G2 (HTC Desire Z) in November, and boy what a difference 2 years makes. The Samsung Galaxy S III (SGH-T999) is leaps and bounds better than my old phones. It isn’t just the pretty hardware and speedy internals, Google’s latest OS update, Ice Cream Sandwich (Android 4.0) is a HUGE improvement and eliminates almost every complaint someone could throw at Android. The Galaxy S3, as of this writing, is the best Android phone to get, and it is available everywhere, on any carrier. Despite my praises however there are some things that hold it back, and Samsung is to blame, not Google or Android.

I’ve rooted and installed CyanogenMod on each of my previous phones, including the original Android phone, the T-Mobile G1. Both of my previous phones came with stock or close to stock Android straight from Google. I flashed CyanogenMod (CM6 on my G1, CM7 on my G2) mostly due to lack of official updates from Google, both the G1/G2 were left behind due to hardware limitations. CyanogenMod breathed life into my aging devices and allowed me to prevent spending money on newer hardware for that much longer. 2 years is a long time to wait in the mobile world, especially when newer and much better devices were being released every few months in the early days of Android.

When I bought the phone I decided to leave it alone and give Samsung’s stock experience in tact. Their custom interface, which runs more than skin deep, is called TouchWiz. TouchWiz does a few things for Samsung, it makes their devices “look” like Samsung, this is good for them, since this skin is consistent starting with their Galaxy S line of phones. TouchWiz also adds some nifty features (notification toggles, gestures, camera) that make it compelling to people that are new to Android, they also add some features that Google doesn’t provide natively in Android. However they also break a few things and ruin the Android experience with their proprietary sharing implementation, their confusing USB Mass Storage options, and other little things that, admittedly, many people don’t notice or care about.

I lived with a completely stock, out of the box Samsung TouchWiz (Android 4.0.4) experience for about 3 days before getting frustrated with Samsung’s “helpful” additions to Android. After rooting and installing CyanogenMod (CM10, based off of Android 4.1), which also upgraded my phone to the (at the time) latest version of Android Jelly Bean, which wasn’t officially available for any phone other than Google’s own Galaxy Nexus and their Nexus 7 tablet. Once I had installed CM10, life was good, the phone performed beautifully, Samsung’s hideous UI was gone, and I was able to use Android as Google intended. I did lose a few things though, it has been 2 months and I haven’t missed them. When you install stock Android, you lose all/most of the custom stuff that Samsung has installed including some of their proprietary (albeit nifty) sharing features, WiFi direct doesn’t work natively, Smart Stay (their eye-tracking feature) goes away, and a few other bullet points on Samsung’s checklist for why their phone is better than every other phone on the market.



TouchWiz vs CM10

Some of the noticeable differences are the Notification Toggles, which are completely customizable, and don’t take up half the screen like Samsung’s implementation. The blocky, candy-colored theme of Samsung has been replaced with Google’s much more subtle and clean look.



TouchWiz vs CM10

After a few days, I discovered a hack (links on bottom of post) that would allow me to remove my biggest complaint against the Galaxy S3 and pretty much every Android phone that has been released since the Galaxy Nexus introduced on-screen buttons. Hardware buttons need to die. I’m all for a power button, volume rocker and a dedicated camera button, but we don’t need them on the face of the device. Once Google decided that the menu button needed to go away in Android 3.0 (Honeycomb), there is no need to have a physical key dedicated to its use! I absolutely hate the single hardware button flanked with 2 capacitive keys on Samsung’s latest phone (and the Galaxy Note series), this used to be exclusive to the International version, but this time around Samsung was able to strong-arm the carriers domestically and each GS3 in the US has the same layout. The hack allows me to display on-screen buttons, and disable the hardware keys completely, or in my case, turn the home button into the missing dedicated camera button. This is great, in that it allows me to prevent accidental taps of the back/menu buttons, and I don’t need to have their backlights draining my battery, since they no longer light up as the sensors are no longer in use.

After all of this, which only took a few hours, I now have the most awesome phone on the market. I took my, pretty awesome, Galaxy S3 and turned it into the device that Google could have introduced, granted the device is already 6-months into its life and we’ll probably see a refresh, presumably the Galaxy S4, announced in March. I’m completely content and happy with what I have, and can’t wait to update to CM10.1 (based on Android 4.2), once it reaches semi-stable, monthly snapshot status (within a few weeks), I’m not hardcore enough to flash nightly builds onto my phone.

DISCLAIMER: I take no responsibility for broken, bricked, damaged, dead, eviscerated, warranty voided devices. Proceed with caution, and remember to READ EVERYTHING before getting started. Happy modding!

Interested in Flashing CyanogenMod? Find your device here: http://wiki.cyanogenmod.org/index.php?title=Devices

Disable hardware/softkeys and enable on-screen keys:
Instructions: http://forum.xda-developers.com/showthread.php?t=1918166
Downloads: http://nrecom.net/downloads/viewcategory/9-navbar

General Info about Hacking/Modifying Android phones and tablets: http://forum.xda-developers.com/index.php

Friday, January 4, 2013

My Top Android Apps (2013 Edition)

I’ve done a few of these lists before, and it is interesting to see how my tastes and usages have changed depending on the device, and how some apps persist. Check out my previous lists: “My Top Apps for 2010” (T-Mobile G2 running Android 2.3.x [Gingerbread]) and “Android Apps - What I Use” (T-Mobile G1 running Android 1.6 [Donut]) or dive right into the (mostly) new apps below, in no particular order.



Note: I have been using a Samsung Galaxy SIII (on T-Mobile) running CyanogenMod 10, so your mileage may vary and some apps may not be compatible without rooting and/or installing a custom ROM. I'm also using a Nexus 7 tablet, I use most apps on both, but will indicate where differences occur.

Nova Launcher - Complete home screen replacement and loads of customization options. If you want a fast way to cover up some of the crap that Samsung/HTC/Motorola put in your device, this can help. It allows you to set the number of icons as well as number of home screens, options for folders, and custom icon themes. It also supports gestures, which let's me get rid of a few icons in favor of a swipe or double-tap on the home screen.

Nova Launcher, all customized to my liking.

Chrome for Android - Finally I have a device that supports Chrome for Android, it is almost everything I thought it would be. It is super fast, syncs up with my other Chrome instances (installed on basically every device I own), my bookmarks are there, automated sign on for google services. It is great, if you are running Android 4.0 or higher, you should ditch the “Browser” app and install Chrome now. My only complaint is no option for Full-Screen, location bar is always visible, though this feature is apparently in the works.

Simple - Super fast Foursquare check-ins. If you follow me at all you will know that I’m a self-proclaimed Foursquare junkie. I check-in everywhere and reap the benefits of awesome recommendations whenever I’m looking for something new, or something nearby. This app takes the slow out of checking in, once you have authenticated the app (a one-time process), launch the app, you see a map and a list of nearby venues (up to 20, I think), tap an item and boom, you’ve been checked in. There is a search feature as well, if the venue isn’t listed.

Google Now (Google Search) - This one is a little hard to explain a little hard to demonstrate, but is awesome once you use it. Google Now is an evolution of Google Search, you CAN do voice searches using the app, and it will return answer “cards” or a list of search results. The voice commands are also very useful for things while you are driving, such as “text Alisha on my way home from work”, that pops up a confirmation dialog, you hit send, done, or “call Mom” Android has been doing this for years. What is new however, is the ability of Google Now to surface information when you need it. What? How does it know? Basically Google has access to all of your Google stuff, so it can scan your email/calendar/etc to display useful info such as event reminders, package shipping confirmation, information about your stock portfolio. Google uses your phone’s GPS location to determine, and notify you, when you need to leave for an appointment, including delays such as traffic. This is my favorite feature personally. Google Now also learns what you do, for example, it regularly tells me how long it’ll take to get to/from work in the morning before I leave for work and in the afternoon before I leave from work. It knows that I usually leave work for/from at certain times and that I like to watch movies on the weekends. I have trained it (unintentionally, I might add) I search for movie showtimes on Friday/Saturdays and Google (Now) knows that. There are many other awesome things that it can do and that Google will continue to add to. This is THE reason to get the 4.1 Jelly Bean update (or new phone), which is currently the only way to get Google Now.

Rapido - Not to plug my own application, but I really do use it all the time, which is one of the reasons I built it. I WANT to use it. In a nutshell it allows me to post quickly to both Facebook and Twitter, fast.

SwiftKey - One of the biggest things that sets Android above the other phone OSs out there are the custom keyboards. Android has a plethora of virtual keyboards to choose from. The stock keyboards are pretty good, and get better with each version. As of late Swype has become the de facto keyboard for many an Android device. I decided to give SwiftKey a try after using the stock Jelly Bean keyboard, simply because it was an option, I didn’t hate the JB keyboard, but now I LOVE SwiftKey. I’ve been testing SwiftKey Flow Beta 4.x which adds in the ability to do swipe typing, yes, just like Swype, however it does it with the amazing predictive power of SwiftKey, which is its main selling point. I can hammer out messages and text in no time, and it is very good at deciphering and writing what I want. You can also give it access to your text messages, Facebook and Twitter, so that it can learn how you type and better help predict. It really is awesome and has changed they way I type for the better. In fact I wrote the last half of this post using SwiftKey.

TuneIn Radio - I've been late to the party here. A local station I've come to enjoy only comes in clearly when I'm downtown, as a result the broadcast is usually fuzzy, not so with this app, so long as you have Internet, it is crystal clear.

Feedly - Great for reading my RSS feeds, it syncs up with Google Reader so I don't have to maintain multiple lists.

Re:Me (phone only) - This is best described as a reminder service. When you receive a new SMS, it will notify you that you have not responded, even if you have already read the message. This is useful for me since, I often read a message and then get distracted or something, this reminds me to respond. You can of course dismiss reminders and ignore numbers if you don't care to be reminded.

aeGis (phone only) - This is the missing administrative tool for Android. The service operates on SMS triggers in order to locate, lock or erase your device. Updates have been coming very frequently, I've tested the app, but haven't needed to use it, luckily.

on{X} - I've written about this before, it is a great automation tool, that let's you take care of menial tasks without thought.

Other Awesome Apps: Dropbox, Gmail, Google Drive, YouTube, Evernote, Foursquare, Google Maps, Google Calendar, Facebook Messenger, Mint, Flipboard, Pocket, Snapseed and Chrome to Phone.

These are just the more common apps that I use, there are many many more installed on both my phone and tablet. I keep discovering new ones daily, and this doesn't even cover the games. What are some apps that you have found useful or interesting?

Thursday, December 27, 2012

Cameroni and Queso



Cameron has just turned 2 years old. I have been speaking to him almost exclusively in Spanish since birth. As a non-native Spanish speaker, I have, of course slipped up here and there and spoken to him in English, either out of frustration or out of laziness. I have pushed through, despite the first few months, where it seemed to have no effect and I would only get smiles back, regardless of the words used. Now he has been speaking for quite some time, almost 1.5 years. His first Spanish word was “agua”, which unsurprisingly enough is the first word for many Spanish speakers.

We had been using baby sign with him as a bridge language. My wife, understands some Spanish and usually knows what he is asking for. The sign language was a huge help before Cameron could talk, he would sign eat, more, milk, water, cheese, cookie, poop, thank you and please before he could utter more than a few indecipherable babbles. He didn’t use them in complete sentences or anything, not that we expected him too, but he was able to communicate, and it gave him a sign for both words in either language. Mom would say water, he’d sign water, I would say agua, and he would sign water. It was/is fascinating to see him communicate, he is learning so fast. Now he regularly says “complete” sentences, while leaving out a few prepositions or joining words in both English and Spanish.

Though his preference appears to be English, he seemingly understands everything I say to him. For a while I’d speak to him, or ask him a question and he would repeat the noun or verb back to me in English, this was unprompted, but I knew that the Spanish was getting through to him. The fun part has been my wife trying to make sense of his attempts (partial pronunciation) to say not only English but Spanish words. One particularly difficult word was “calcetines”, he was saying “tee-ness” and my wife didn’t know what he was saying, despite him repeating it, eventually he grabbed a shoe and said “tee-ness” then my wife understood he was trying to say socks. This is a “game” we play everyday when he says things, he’s pretty good at repeating what we say, but sometimes he gets stuck saying it the same, incorrect way, such as “nam-REN”, instead of Cameron.

I don’t know why he uses one language or another when saying words, sometimes I imagine the word is more difficult in the other language, and as a result, the easier to pronounce one comes out. We’ve continued using sign language, and tried to go for more traditional vs baby sign. He now knows about 50 signs, and can repeat them/show me on command. He is most consistent with please and thank you, which he regularly uses in his polite toddler speech. I’ve been pushing him to try to use signs for things he knows, especially when his mouth is full. I’d like to think that using sign language gives him added cognitive advantages, to have a visual as well as a verbal word for things. This is especially helpful for nouns, such as animals, many of the animal signs are great visual descriptors for what the animals look like, or do, as is the case. I believe that he has a single sign for both words in English/Spanish and that will further help him to develop his language skills.

Hearing him use a Spanish word instead of English really makes me smile. I try to be sure that whenever my wife teaches him a new word, he hears the Spanish as well, so that he associates the word in both languages. I’m not worried at all that he will learn English, but as the sole source of his Spanish knowledge I sometimes worry that I am not doing enough.

Thursday, November 22, 2012

BitDroid 2.2 Released

After completely rewriting BitDroid, I was sure to take advantage of all the new features that Android 4+ devices have to offer. One of those features I hadn't used before was AsyncTask which helps to load data in the background without tying up the UI thread. Android 4+ devices force this behavior, in order to increase the speediness of applications, and prevent the user from wondering if the app is doing anything or not.

With this release I modified the original code to fetch user history to first pull the list and second pull the click counts for each item, and then add them to the list as they are loaded. This has significantly increased load speed as the user gets to see the most pertinent information first, the links, and then the link counts, shortly thereafter. As seen below the links are present, and the refresh animation (in the upper right) is still spinning, once they load the hyphens will turn to numbers.

I also took inspiration from Pocket, which checks the clipboard when you first load the app and asks if you want to save it to read later. I've added a fairly unobtrusive prompt that should get attention or be ignored depending on what the user wants to do.

BitDroid version 2.2 has been pushed to the play store, look for an update in the next few hours.

BitDroid Free: 
Get it on Google Play

BitDroid Donate:
Get it on Google Play

Sunday, October 7, 2012

Rapido 1.2 Released


Rapido 1.2 now works with Android 4+ devices! I also added the option to send/share to Rapido to make posting messages, and especially ones with links even faster. For twitter posts, links are now counted as 20 characters if you go over the 140 char limit, since they are shortened by Twitter once sent to their servers.

Future Plans
Link shortening powered by bit.ly with account login
App.net posting*
Multiple Twitter accounts*
Facebook Pages*
Posting photos*
(*denotes wishful thinking)

Developer Notes
Shortly after releasing the first version of Rapido, I received a message from a friend informing me that the app didn't work on his new phone which ran Android 4 Ice Cream Sandwich. My personal phone still runs Android 2.3 Gingerbread, so I was somewhat puzzled at this since my app wasn't doing anything crazy. Apparently I had failed to read up on the guidelines introduced in Android 3 Honeycomb, which prevents and stops execution of data gathering or other tasks that require the Internet from running in the foreground. What? This took me some time to properly correct, and diagnose since the error message wasn't exactly clear to me.

This seemed easy to solve, just move all of the token fetching and message sending stuff to the background. Done. Well it ended up being a laborious task that took quite a bit of trial and error on my part. Once I'd get one part working another thing would break in the process. I now pay much more attention to the little helps that eclipse drips when it turns some things red and lets me know that they are deprecated. They may continue to work on older versions of the software, but eventually they will break things. Some forums posts said "I just changed the target version to 2.3 and everything worked, again" I hope those people realized that they may have fixed an error message, but they didn't fix the problem.

These changes are obviously necessary due the nature of software. As things get more and more complex the need to revise things and update them arises and this often times means cutting away the legacy stuff that isn't useful or is taxing the whole system for a little convenience and familiarity. The first few times I tried writing an AsyncTask I misunderstood how they worked. I couldn't figure out how to get the background task to communicate with the foreground, this took some more reading and looking at other people's code, my favorite way to learn, to figure out that these Android developers knew what they were doing and this would in fact make my app faster. By the time I got the last few changes in this release I had the AsyncTasks down no problem.
I've been developing multiple apps for work and for fun (at home), it is always exciting to me when I learn something and then can immediately apply it to another project. This is one of the reasons I love programming so much, I am constantly learning and improving. If I get some requests I might write up a more technical post for those others out there that are struggling to make their apps future friendly with Android 4+.

Get it on Google Play

Sunday, September 9, 2012

Introducing Rapido!


Rapido or fast/rapid in EspaƱol was built, like many things, out of a frustration with existing software. I use both Facebook and Twitter frequently, but find it obnoxious to open up either, type a message, copy it, then open up the other app, paste it, and send it. I know you can setup both Facebook and Twitter to cross-post messages, but I don’t always want to send the same update to both, so that is a less than perfect solution. 

Enter Rapido.



Open a single app, type your message/update, then select either Twitter, Facebook or both, hit “Send” and you’re good to go. Fast, simple, easy. Try it out now!