An HTC DoA: Part 5
Continued from Part 4 (read from the beginning).
I took a trip to the UK at the beginning of the month, and when I returned on the 13th immediately checked my credit card statement. I wasn't surprised to see that the refund still hadn't been processed (now past the 14-business-day cut-off mark for credit card refunds). I called HTC yet again, and after a bit of hold time was given some good-ish news.
The agent confirmed that yes, HTC's warehouse had received my phone and they had accepted it. However, someone at said-warehouse hadn't closed the ticket in their system which prevented the refund from being processed. I was promised that the ticket would once again be escalated and that the escalations team would get the warehouse to close the ticket and things would get moving again.
I asked if HTC would compensate me for the interest accrued on my credit card from having this charge sitting on it for nearly two months, but was told they wouldn't do anything. It was worth asking about, though.
So, on Tuesday the 17th I once again checked my credit card statement and there it was! A line item showing a credit for the DoA Nexus One. Although I wasn't happy with the time it took to deal with the issue, and the interest charges that built up from it, I was ready to put the issue to bed.
And then I got the following email from HTC:
Dear Laslow,
Thank you for using HTC Customer Service. We want to make your next visit even better and would like your feedback. If you haven't already done so please help us improve by taking a quick survey on your experience using HTC Customer Service.
Thank you very much for your time. Be sure to visit us online at http://www.htc.com to read the latest announcements and check out our newly released products.
We are unable to receive replies to this email account. Please visit us at http://www.htc.com if you have any questions or need further assistance.
Sincerely,
HTC
I couldn't pass it up. I filled out the survey and was completely honest about the experience I had with trying to get a refund for a DoA unit and how ridiculous that I had to choose that route in the first place, rather than having the option to simply get a new, non-refurbished replacement like American customers. I submitted it, and then completely forgot about it.
This morning, while I was off rebuilding a borked IPCop box, HTC left me a voice mail message that went something like this:
Good morning Mr. Laslow. My name <redacted> from HTC, and I'm just calling to follow up on your return. I am very, very sorry that it took so long to process your refund. I'm also very sorry that you received a DoA unit in the first place. If you need any further assistance with this, please call us at 866-449-8358. Once again, we appreciate your business and are very sorry about this whole thing.
I was stunned; I never expected to hear back from HTC at all. I'm not, however, surprised by the fact that they simply apologized rather than offering some form of compensation (be it an accessory, a t-shirt, anything really). Regardless, I'm happy that this is over and I can finally end the tale of an HTC DoA.
Wish: Preload Map Data on Maps App for Android
While driving back from the Scottish Highlands to the South of England, I noticed something annoying about the Maps application for Android - when you pick out a route via the 'Directions' feature, all is well and good until you enter an area with no cell reception. At this point, you're screwed.
I know it's impossible to expect Google to preload hundreds of megabytes of map data on to your phone (you know, those pesky storage restrictions and all), but how about this: after Maps provides the directions for your route in text form, and you click 'Show on map', Maps could pop up an option (this could also be a configurable setting) asking if you want to preload map data.
If you choose yes, it downloads the map data from Google's servers for the planned route and caches it to your SD card. If existing map data is present that overlaps, it uses that after checking to make sure it's up-to-date.
Probably a long shot that something like this could ever be implemented, but it would make life for those using their Android device as a Sat Nav so much easier, especially if you're going on a long trip.
An HTC DoA: Part 4
Continued from Part 3.
So the unthinkable has happened - I actually received the shipping label from HTC yesterday! I immediately boxed up the phone and dropped it at a nearby FedEx box, and then proceeded to hammer the F5 key on the FedEx tracking screen.
Also to my surprise was the fact that the shipping label was for Priority Overnight shipping, and that the package reached its destination at 7:45am (PST) this morning! I'll update this post later on when HTC contacts me regarding my refund.
Update (07/16/2010): Still no contact from HTC. However, after re-reading the initial email they sent, it does state:
Once we receive the items we will review the condition and we will contact you by phone or email if we have any further questions. If no additional information is needed a refund should show on your credit card within 14 business days of receipt of the return.
So at this point I'll be sitting back and waiting for my credit card balance to update. I did end up ordering the replacement phone from Google on Tuesday, and it arrived (in working condition, no less!) this morning! Good thing, to, because I hear that this is Google's last batch of N1's that they'll be selling through the web store....
Concluded in Part 5.
An HTC DoA: Part 2
Continued from Part 1.
Day four of the return process and no real progress to report. According to the details given to me by HTC on Monday (see part 1), I should have received a shipping label in my email the following day. When I didn't, I called HTC support back. The agent I spoke with told me to check my spam folder (already done - nothing), and then said that she would 'escalate the ticket' and a label sent out right away. I thanked her, disconnected, and waited.
And waited.
End of day Wednesday rolled around and still no shipping label. I called HTC again and was told that it can take an extra day when things go through the escalation process and that I should expect it to show up in my email no later than Thursday.
Well, here we are on Thursday and still no label.
I called HTC yet again, and was told that yes, I should have received the shipping label today. The agent then proceeded to tell me that he update the ticket, 'increase the priority', and that I should keep waiting.
Really, HTC? I'm normally a pretty patient guy, but come on! I've heard of American customers getting new, replacement phones within days, but we Canadians need to go through this gong show of a return process and then re-purchase the device because otherwise we end up a refurbished phone instead of a new one. This is bad PR, people. It's time to start spreading the news.
Find out what happens next in Part 3.
After 5000 Tweets: A Review/HowTo of Twitter
I recently hit the 5,000 tweet mark on Twitter, and figured that it's as good a time as any to write something about my experience on the abbreviated social networking site. It also seems appropriate as I permanently deleted my Facebook account (well, I'm in the process, anyway).
Click 'Continue Reading' below for the wall-of-text review.
Rogers Wireless Hijacks Wildcard DNS Records
Although I can't confirm when this happened (it may have happened a while ago and I just never noticed), I was browsing the internet last night on my Google Nexus One and noticed that, when I mistyped http://imdb.com, I was redirected to http://www20.search.rogers.com (which doesn't work outside of Rogers' network) instead of receiving a normal Not Found error. This all smacks of the infamous VeriSign Site Finder fiasco.
I'm no fan of browser redirects in any form, and I'm even less of a fan of Yahoo which Rogers partners with to, among other things, provide results on their hijacked landing page. But what can you do? It's their service, and there's no opt-out link on the page.
Well, the answer is to manually opt-out. Unfortunately, you need to have a rooted/jail-broken phone to do this. As stated above, I have a Google Nexus One which runs CyanogenMod, but this should work with any other rooted Android phone and even jail-broken iPhones (although the paths are different -- you'll need to alter them as applicable).
To manually opt-out, do the following (assumes Android phone):
- Open a shell on your phone. You can use ConnectBot, Terminal Emulator, or adb shell.
- Assume root (su command).
- Remount the system partition in to read/write mode -- mount -o rw,remount /system
- Browse to /system/etc.
- Use your favourite text editor to open hosts.
- Add the following to the bottom of the hosts file -- 127.0.0.1 www20.search.rogers.com
- Save and quit!
You're done! You've just manually opt'ed-out of Rogers Wildcard DNS hijack. Now you'll just get the normal 'Not Found' errors, as when Rogers see that the domain you've entered doesn't exist and tried to redirect you to their search page, your phone will point that domain to itself and fail as it isn't running a webserver.
TL;DR Version: To prevent getting directed to Rogers' Search Page when you mistype an address, edit your hosts file to point www20.search.rogers.com to the 127.0.0.1 loopback address.
Froyo: First Impressions
IMPORTANT NOTE: It's been pointed out that the Froyo ROM floating around is nothing more than a Release Candidate. Although that means that it's technically feature complete, it's still little more than a beta. Expect bugs, expect brokenness, and don't expect any help with it.
I've been using the pre-rooted Froyo update (Android 2.2) for a few hours now, and here are my first impressions:
- Speed: Holy crap is this fast! In fact, it's even faster than some of the ROMs running over-clocked kernels. It takes about the same amount of time to boot, but the phone is very responsive as soon as the lock screen appears, and I haven't encountered any lag throughout the system.
- App Restore: I had no idea this feature was in Froyo, but imagine my surprise when I booted up Froyo after a full wipe only to have it immediately restore all of my installed apps! Talk about a time saver!
- Bookmarks: Even though I was missing a few, most of my bookmarks in Browser were automatically synced. This alone almost makes the Froyo update worth while.
- Exchange Sync: Everything works exactly as before, only now it syncs with my Exchange calendar out-of-box quickly and painlessly. No more need for CorpCAL.apk!
- Froyo-Only Apps: One of the first apps out for Froyo is ChromeToPhone -- it lets you send links from Chrome on your desktop/laptop computer directly to your Android device. Gone are the days of using URL shorteners or QR codes to get something on your phone - instead, simply browse to the site you want on your computer, then click a button in the toolbar. You're Android device will near-instantly receive the link and notify you.
- Bugs: Yes, there are a few. The main one I've run in to is trying to turn off USB Storage. If you attempt to turn it off on the phone before 'Safely Removing' the device in Windows, Android becomes generally unresponsive and eventually reboots. While annoying, I'm not really that surprised, as I did it wrong. Also, Terminal Emulator crashes in Froyo due to a compatibility issue with the stock ROM. This will hopefully be addressed in a future update, but for the time being, use ConnectBot.
I can't wait for the eventual CyanogenMod 6.x based on Froyo, but that won't be out for a while, as Google has yet to release the source code for 2.2. Things are definitely looking good for Android, though!
UPDATE: The HTC_IME (virtual keyboard) has been updated for Froyo. Get it on XDA.
Short: Wherein My Nexus One Saves Me Money
I found myself in need of a new microphone for my computer, as the cord on my cheap Staples-brand one broke. After spending the day looking around town for a nice set that fully covered my ears, I found these at Future Shop:
However, at $99 CAD, they were a little outside of my price range. All was not lost, though - I walked up the counter and asked if the clerk could do anything about the price. After being initially rebuffed ("Sorry, this is the best price I can offer"), I pulled out my Nexus One and loaded up Barcode Scanner. I proceeded to scan the UPC code on the box, then do a Product Search. I showed the clerk that, according the results listed, I could get the same product from Wal-Mart for $69 CAD.
Five minutes later, I walked out with my new $69 headset. And I can honestly say, they are the best headphones I've ever owned.
Android 2.2 ‘Froyo’ Reactions
I've written a few articles about Android, and my opinion of the platform should be pretty apparent. So, I'm just going to jump right in to my favorite features highlighted for version 2.2 (Froyo), and what they're all about:
- Better Exchange Support: As big a fan as I am of Google Apps, I still use Exchange at work, so having a phone that can integrate with Exchange is very important. Android has done this well since 1.5 (possibly earlier, but that was the first version I used), however there was no official support for Exchange Calendar Syncing. I've been using the CorpCAL.apk to sync my calendar, but with Froyo I'll be able to do it out-of-box. Add in the remote-wipe ability, and the experience is complete!
- Portable Hotspots: I've only used tethering on my Nexus One a few times, but being able to do so saved me a lot of trouble. With Froyo, not only can you tether, but you can turn your Android device in to a wireless hot spot for up eight other devices. How handy is that?
- Voice Dialing Over Bluetooth: Finally.
- Flash: To quote Vic Gundotra, Google's Vice-President of Engineering who was detailing Froyo features during the Google I/O keynote session, "Part of being open means you're inclusive rather than exclusive." Google understands that yes, people do in fact use Flash. It might not be the best mobile media framework out, and yes, it might out-right suck, but people use it. Rather than actively restrict people using their platform, Google allows developers to do what they want and end users to see what they want, unlike a certain fruit-based company that likes to spin their perspective and convince their users that their form of closed is better than another's.
- Market Improvements: I've been waiting for these for a long time. Although the biggest news was that you'll be able to browse the Android Market from your computer's web browser and remotely install apps to your Android device, the biggest news for me was also the simplest, smallest feature: the addition of an 'Update All' button. No longer will you have to groan as Market notifies you that seven apps have updates available. Gone are the days of clicking an app, then clicking update, then clicking OK, then going back to the Downloads list, and then repeating. One button, one small feature, has alone made 2.2 worth the update. Of course, I could be going a little overboard there....
- Continuing Support: Although carriers are lagging behind, Google has continued to support older devices, such as the G1, the MyTouch 3G (aka the HTC Dream and Magic, respectively). Through a recent announcement, Google will continue to push code to support older devices in newer releases, such as Froyo.
So is Froyo something that I'm looking forward to? Absolutely. What else am I looking forward to? Well, there is a certain ROM that looks like it will get the Froyo treatment as well....
(I did not create the Android logo posted. Portions of this page are modifications based on work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.)
Android: Force Terminal Emulator to Open the BASH Shell as Root
I love my Android phone, but the root side of it still has some quirks. The default shell, for example, is pretty bare-bones. Fortunately, there are ROMs out there like CyanogenMod that help with that side of things by providing little extras like, for example, the BASH shell. BASH is incredibly handy on an Android phone as the default shell doesn't allow you to scroll back through your command history using the track ball.
So while BASH is included in some ROMs, it's not the default shell. Typically, I've been using ConnectBot (available on the Android Market) which works well, however I'd usually end up starting out every session like this:
su -c bash
It's only one line, but really, it's annoying to have to type it out every time. I'm in the IT field, so my nature is to be lazy and automate everything. Enter Terminal Emulator.
Available for free from the Android Market, Terminal Emulator is very basic. It doesn't allow you to SSH to remote systems or anything like that - instead, it just immediately opens a local shell. As an added bonus, the preferences let you specify the Command Line to the shell executable.
I thought this was my answer. I set the Command Line preference to "/system/xbin/bash -" (the location on CyanogenMod 5.x.x -- this may differ depending on your ROM. Make sure the path is correct before hand, as if you set it incorrectly it's nearly impossible to get Terminal Emulator back up and running) and re-launched it.
Success! I was in the BASH shell! However, I wasn't root, and this did cause a problem. As soon as I typed su to become root, my shell was changed back to the default one. After doing a little more digging, though, I found my solution.
In the Terminal Emulator preferences, there's another option for Initial Command - Terminal Emulator will execute this immediately on open. So, I inserted the line I was using in ConnectBot (su -c bash) and voilà! Terminal Emulator now immediately opens with a BASH shell as root.
The TL;DR version: Install Terminal Emulator from the Android Market, open it, hit the Menu button, then Preferences. Tap Initial Command and enter su -c root -- now it will always open with BASH running as root.
Extra Note: If you are using an Android phone without a physical keyboard, simply hold the Menu button on your phone for a few seconds in Terminal Emulator to force the virtual keyboard to appear.
UPDATE: As it turns out, you can do this in ConnectBot as well. Tap-and-hold on the local connection, then choose 'Edit Host' and 'Post-login automation'. Note that if you do this, though, ConnectBot will enter the command, but you still have to press enter to active it.




