Technobabbles I try to sound like I know what I'm talking about. Don't be fooled.

7Sep/110

Finally: Google Voice Export Feature Released (sort of)

It took quite a while — more than two years since launching in March 2009—but Google Voice finally supports exporting!

I'd love to think my export format ideas post had something to do with the end product released yesterday, but I seriously doubt it.

Sort of…

Let's just say, Google Takeout isn't behaving very well. The test archive I created yesterday won't download, and I've tried both Google Chrome 13 and Mozilla Firefox 3.6. The feature isn't there yet, but I'm sure Google engineers are working on it.

I'm still happy…as soon as they make it actually work.

2Jun/104

Hypothetical Google Voice Export Format

Google Voice was released over a year ago, and I've been using it as my primary phone number since switching from its predecessor, GrandCentral, which I'd used since 2006 (also as my primary phone number).1 In the time since making the switch, I've seen the interface revised more than a little — the quality rating buttons for transcripts and calls are among my favorite enhancements — but despite all the new features introduced over the last 14 months, one has been distinctly lacking.

That one feature: Export.

Think about it. Google Docs lets one download all of one's documents, spreadsheets, and presentations in a ZIP archive. Gmail allows both IMAP and POP access to mail accounts, facilitating the complete backup of account data to a personal computer or server. Google Reader offers export of one's entire subscription list. Google Calendar offers export formats compatible with several desktop and Web competitors' products. Google Contacts can be downloaded and imported into Microsoft Outlook, Apple Address Book, and countless others.

I could go on.2 Just about every Google service offers some way for users to get their data out.3 Google's Data Liberation Front initiative is a demonstration of their commitment. So why can't I export my Google Voice data?

The Case

When GrandCentral was shutting down, users had to download messages one at a time. There were also large holes in the data that could be recovered due to a glitch in the storage system that irrevocably lost dozens of my messages, and likely thousands more from other users. (Most annoyingly, pleas from users for the company to do something about the data loss fell on deaf ears.) The issue was never officially addressed or explained; all we former users can do is speculate as to why our messages were forever irretrievable.

Fast-forward to Google Voice. The export function is still limited to downloading individual voicemails and call recordings, one at a time, manually. There is no support for exporting the transcripts of these audio recordings. It is not possible to download SMS conversations (save for copy-and-paste to text files). Call logs can only be backed up by painstaking manual duplication into a spreadsheet or other suitable format.

Every Google Voice account is amassing even more data than GrandCentral accounts did, thanks to support for text messaging (a long-awaited improvement, even if it doesn't support SMS-to-email or4 shortcodes5). Billing logs for international long-distance are another piece of the corpus.

All of this information is potentially useful in the future. There is a reason that users have flocked to the service and its promises of one number forever, keeping messages forever, and so forth. It's unlikely that Google itself will enter the deadpool any time soon, but services have been cut before. If Google Voice doesn't meet all the right expectations of Google's higher-ups, it too could get the axe. All those messages that were supposed to be kept forever? Gone.

I like to use the now-defunct Twitter-like service Pownce as an example. When the decision was made to shut down the site, a new section appeared in users' settings. That section allowed them to request a backup of their account data for download. To this day I can still open up a backup file and peruse my activity on the site, though it is long dead.

Unfortunately, I can't believe that Google would have its engineers develop a similar export tool for a service about to be shut down. It didn't happen for GrandCentral, that's for sure. Other companies (*cough* Nambu *cough*) have a similar attitude: Users don't need copies of their data; just jerk the tablecloth off the table, and all the dishes with it. Besides, I can't forget the seemingly arrogant launch of Google Buzz, right into my face. In short, there are precedents for Google violating DBAD.6

The Solution

Solving this problem is relatively simple. If a complete and total export feature is developed and released well before Google Voice is threatened with a shut-down, there won't be any issue. The phone numbers assigned to Google Voice accounts (so-called Google numbers) can be ported out to another provider — that was a core policy right from the start — so there's no issue of losing that; I could port my Google number to a cell phone right now. All future issues would be handled by someone else. Google's problem is historical data and keeping their promise to users.

How should the Google Voice team go about accomplishing this feat? I've been mulling over different ideas for the past few months, and I think I've come up with a reasonable export format.

The Format

My hypothetical export file looks something like this:

Google_Voice_export_acctusername_2010-04-30T14:23:47.zip

  • /Greetings
    • /System Default.mp3
    • /Call Widget Greeting.mp3
    • /Robotics Team Greeting.mp3
  • /Notes
    • /nt234.txt
    • /nt601.txt
  • /Recordings
    • /cr234.mp3
    • /cr623.mp3
  • /SMS
    • /sc601.txt
    • /sc728.txt
  • /Transcripts
    • /ts142.txt
    • /ts234.txt
    • /ts324.txt
    • /ts623.txt
  • /Voicemail
    • /vm142.mp3
    • /vm324.mp3
  • /call_logs.csv
  • /recordings.csv
  • /sms.csv
  • /voicemail.csv

A few notes:
1) Files in any of the directories (except /Greetings) can be divided into date-dependent subfolders, but it's simpler to not do so. It's only an issue if the number of files in a directory exceeds file system limitations.
2) Obviously the IDs would be much larger in a production setting with thousands or millions of users; mine are just for illustration purposes.
3) I don't know if Google's database maintains separate IDs for each data type or if it keeps a single ID counter for all records, but that's why I prefixed each file type with a letter code indicating what it is: cr = call recording, nt = note, sc = SMS conversation, ts = transcript, vm = voicemail.

The Parts

Files

Within each CSV file are rows with the following data fields:

  • call_logs.csv: ID,Timestamp,HasNote,Number,Type,Name,StartTime,EndTime
  • recordings.csv: ID,Timestamp,HasNote,Number,Name,Duration
  • sms.csv: ID,Timestamp,HasNote,Number,Name
  • voicemail.csv: ID,Timestamp,HasNote,Number,Name,Duration

All timestamps are in UTC. It is easiest for all IDs to be unique, across all item types, though again I don't know how Google stores the data. I assume that the ID namespace is shared among all Google Voice items. I've used that assumption as the basis for some of my archive structure decisions; because of it, I did not need to disambiguate between notes attached to the different item types.

The exported CSV files contain required, optional, and conditional fields. Required fields must be non-empty; optional fields may be empty and are filled in if appropriate information is available; and conditional fields are required based on the value of another field.

Field notes: The HasNote and Duration fields would be useful to have, but are not required as the values they contain can be determined using other methods — respectively, by checking for the corresponding nt<ID>.txt file in /Notes and by checking the duration of the corresponding audio file in /Recordings or /Voicemail. I've left them in because, in the long run, having them would make it easier and more efficient to write a program to read the archive.

call_logs.csv

Required fields: ID, a unique record identifier; Timestamp, the item timestamp used on the Google Voice website; HasNote, whether the item has an attached note (1 for yes, 0 for no); Number, the phone number of the other party; and Type, the type of call record (placed/missed/received)

Optional fields: Name, the name of the contact (if the phone number can be matched to a contact)

Conditional fields: StartTime & Endtime, start and end timestamps for calculating call duration (empty for missed calls, as there is no start or end time)

ID cross-references: note

Call log entries are cross-referenced by ID to note files in the Notes directory if HasNote is 1.

recordings.csv

Required fields: ID, a unique record identifier; Timestamp, the item timestamp used on the Google Voice website; HasNote, whether the item has an attached note (1 for yes, 0 for no); and Number, the phone number of the other party

Optional fields: Name, the name of the contact (if the phone number can be matched to a contact); and Duration, the audio file duration

Conditional fields: none

ID cross-references: audio, note, transcript

Call recording records are cross-referenced by ID with audio files in the Recordings directory, note files in the Notes directory (if HasNote is 1), and transcript files in the Transcripts directory.

sms.csv

Required fields: ID, a unique record identifier; Timestamp, the item timestamp used on the Google Voice website; HasNote, whether the item has an attached note (1 for yes, 0 for no); Number, the phone number of the other party

Optional fields: Name, the name of the contact (if the phone number can be matched to a contact)

Conditional fields: none

ID cross-references: conversation text, note

SMS records are cross-referenced by ID to text files containing the full conversation, formatted like instant messaging transcripts:

(2010 – 03-21T04:12:02) Me: what's up?
(2010 – 03-21T04:14:53) John Smith: not much, got a test tomorrow fml
(2010 – 03-21T04:17:19) Me: what subject?
(2010 – 03-21T04:18:17) John Smith: history ugh
(2010 – 03-21T04:20:02) Me: ugh indeed. good luck and try not to die ;)
(2010 – 03-21T04:23:47) John Smith: thx. if u dont hear frm me tmrw its bcuz my brain asploded

Again, all timestamps are in UTC.

SMS records are also cross-referenced by ID to note files in the Notes directory if HasNote is 1.

voicemail.csv

Required fields: ID, a unique record identifier; Timestamp, the item timestamp used on the Google Voice website; HasNote, whether the item has an attached note (1 for yes, 0 for no); Number, the phone number of the other party

Optional fields: Name, the name of the contact (if the phone number can be matched to a contact); and Duration, the audio file duration

Conditional fields: none

ID cross-references: audio, note, transcript

Voicemails are cross-referenced to audio files in the Voicemail directory, note files in the Notes directory (if HasNote is 1), and transcript files in the Transcripts directory.

Folders

The folders should be pretty self-explanatory. /Greetings contains recorded greetings (the only files with "real" names, though I'm sure they too have IDs on Google's end), /Notes contains the text of notes added with the Google Voice website's "Add note" feature, /Recordings contains recorded calls, /SMS contains full transcripts of text-message conversations, and /Voicemail contains voicemails.

The Greetings folder doesn't have an associated CSV file because I think the files it contains should just be given the same name as the corresponding greeting in Google Voice's settings. None of the other items really have names, so they can all go by ID and be indexed in CSV files; but the user is likely to name each greeting descriptively and that name shouldn't be hidden behind an abstraction (read: obfuscation) layer in the exported backup file.

Alternate Ideas

I toyed with the idea of somehow including time zone information to help put timestamps in context, but there's no good way of doing it. Put a time zone at the account level and you lose changes. I doubt there's a user-preference history somewhere in Google's database. Try to put it on each record and you have a nightmare, since most of the time there's no indication that the user changed time zones. The user can figure out where he/she was on any given day and mentally adjust the UTC timestamps given if it's really that important.

Similarly, I thought about including preferences, caller groups, and so forth, but I don't know enough about the data structure to come up with an estimated export format.

It occurred to me that the exported CSV files could also contain a ContactID field, matching up with the corresponding Google Contacts entry. That way, external applications could hook up to the GData Contacts API and pull the contact's information to enhance the information display. For example, a third-party app could emulate the way Google Voice's website places the contact's photo next to each related entry. I left this out of the above spec because of the potential for inaccurate ContactID values; who knows what the user will change in her contacts between exporting the Google Voice data and trying to use a third-party app with it.

Speaking of third-party apps, that's why I've tried to keep my hypothetical format so machine-readable. What if Google or another developer wrote a Web app or cross-platform application that could import the archived data and present it in a graphical interface? It'd be a great way to access archived information while offline — of course, Google could also add offline support to the site, but it's always good to have alternatives. The possibilities are truly endless; my contact-photo example above could be done with the export format as-is, though it would take a little more API work.

The Goal

My objective is not to have Google implement my solution verbatim; I know there are glitches in my reasoning, holes in my contingencies, omissions in available fields, etc. I wrote this specification (for that's pretty much what it turned out to be) to prove that it's possible to come up with a reasonable way to export all the data currently trapped inside Google Voice accounts.

Like I said, I know this isn't perfect; it's just a starting point. If you think the way I designed some or all of this format was unreasonable, go ahead and tell me. The comment form is there for a reason: That's where you can say, "I think you're wrong; here's why."7

Anyway. If I can come up with a data export format that includes most of the information Google has tucked away in a database somewhere, the engineers who work on Google Voice can certainly come up with a format to include every last scrap of data. After all, I'm just an amateur. :)

Update (06/11): Navarr, in the comments, reminded me that I left out the billing logs, as well as the per-call cost data. Since it would just add another CSV file and a field in call_logs.csv, I'll declare it an omission trivial enough to not bother correcting.


Notes:
  1. Unfortunately, GrandCentral was notorious among many of us users for "losing" messages from before November 2007, so I have no records of my first year-or-so using the service. []
  2. Google Page Creator, though discontinued, offers ZIP downloads of the entire site and a redirection facility to keep links from breaking. (I myself have used it, along with an excellent WordPress plugin, to migrate files I uploaded to Google Pages to bits.technobabbl.es, their new home.) []
  3. Blogger offers an export as well, but so far as I know it can only be imported into another Blogger site. []
  4. Update (06/11): Thanks to Nathan Brauer for correcting me about SMS-to-email. Sometimes it's dangerous to write blog posts too far in advance: things slip through during the proofing process. :P []
  5. It does support a few Google-controlled short numbers; I know of three: 46645, 466453, & 48368 []
  6. DBAD was an essay on the English Wikipedia, formerly known as WP:DICK or WP:DBAD; in the months since I was last really involved in the Wikimedia culture, it was apparently moved to the Meta wiki. Surprised the hell out of me. []
  7. Obviously, if you're not reading this on the site, you'll need to take an extra step to get a comment form. ;) []
24Feb/1036

"No Evil": My NET10 Wireless Experiences

Update (2012 – 02-26): Apparently NET10 now sells SIMs for use with AT&T, T-Mobile, and unlocked GSM phones, if you're willing to pay for the $50/month Unlimited Talk/Text/Data plan. Thanks to Anna for her comment.

NET10 Wireless logo

NET10 Wireless: No Bills. No Contracts. No Evil…?

Last summer I began using a prepaid cell phone (an LG 300G, the cheapest, most basic model available at my purchase location) from NET10 Wireless, supposedly the "high-usage division" of TracFone. NET10's rates are flat: 10¢ per minute (even if it's actually one second, like any other per-minute charge) and 5¢ per text message in or out.

The phone's been very handy for some important calls and the 5¢ text messaging rate sure beats major carriers' rates of 10¢ – 25¢ or more per message (on plans without a texting bundle), but I wonder how true the "No Evil" part of the company's motto really is.

Airtime Treadmill

All of NET10's airtime packages come with a fixed number of days after which users are required to reload, or face losing their accumulated minutes (and their number, though that's not a concern for me because of Google Voice). I don't use the phone that much, so I buy the relatively economical 300-minute package for $30+tax every time I need to re-up, making my effective "monthly bill" $15-and-change. The package gives me 60 days to use my 300 minutes, but — and here's the kicker — whether I use them or not, I am forced to renew every sixty days. My low usage means I've accumulated over 1,000 extra minutes since last June — minutes that I would lose if I fail to renew. In order to not waste the money I've spent before, I must continue to renew my service. I suppose I should be thankful they let me keep all my minutes as long as I continue to renew, eh? :-/

The issue here is, the $30 package is the most economical one I could find. Analysis of the other available packages shows that paying every two months is probably the cheapest maintenance option available. There's a $20 package of 200 minutes, but it only lasts for 30 days. Deal breaker. Similarly, there are packages that last much longer (4,000 minutes for $400, two years' service) but with low usage, paying in two-month increments is actually cheaper in the long run:

  • 1 yr. = $200
  • 60 days × 6 ≈ 1 yr. & $30 × 6 = $180
  • $200 − $180 = $20; 5 days can't possibly equal $20
  • Similarly: 2 yrs. = $400
  • 60 days × 12 ≈ 2 yrs. & $30 × 12 = $360
  • $400 − $360 = $40; 10 days can't possibly equal $40

So it is truly cheaper to pay every two months, or use one of the other packages not exceeding 600 minutes. (At the 1,000-minute level, the number of service days earned for each dollar spent goes down due to the extra $10 price increase: $30 = 60 days, $45 = 90 days, $60 = 120 days, $100 = 180 days.)

I wonder about NET10's stated motto: "No bills, no contracts, no evil". Perhaps there are no bills or monthly contracts, but if you're a low-usage customer you must continue to pay into the system even if you never use most of the airtime you're buying. It's a self-perpetuating cycle that draws people along and keeps them paying so they don't lose their previous airtime investments.

As annoying as the practice of placing an expiration date on minutes that users have paid for is, it's a practice that seems to be matched by most prepaid carriers. I spent about two hours researching all the different options at a Wal-Mart store in Colorado Springs and came to the conclusion that NET10's service was the least evil. Other carriers have no expiration but charge a daily access fee on days the phone is used. Others have ridiculous per-minute rates. So NET10 is not "no evil", but I think "less evil" would be pretty accurate.

SMS Attempt Charges

On New Year's Eve, just after the ball dropped on a rebroadcast segment from Times Square, I attempted to send out a New Year text message to Ping.fm for posting to Facebook, Twitter, and so on. Of course, because it was seconds after midnight (Central), the network was so congested that the message didn't go through. My phone displayed "Sending failed" after spending about thirty seconds trying to send out the text. I tried three more times, to no avail. (I gave up and borrowed a few minutes' access to a computer.)

It wasn't a big deal that the message failed. I knew that the network would be busy. But it was a very big deal that my account balance was still debited for the 5¢ texting charge each time. Failed messages apparently counted. (It should be noted that friends using Verizon were texting with no problems. NET10 uses AT&T's network, which often has coverage and service issues.)

I emailed NET10's customer support. After a few days' back-and-forth, they asked me to call their support center so something could be "verified" on my account. I posed my question to the operator. She informed me (through her thick foreign accent) that the software on NET10's phones takes care of managing charges, and that it is the attempt to send a message that results in a charge; the outcome is irrelevant.

The Post Office charges for returned letters, I suppose, so that's not really a violation of communications business practice. But for a company that claims "no evil", I find that policy disturbing. Blowing 20¢ on failed text messages isn't going to break the bank, but it is annoying in principle. I'll just consider whether or not the network is likely to be busy before sending a message, and refrain from doing so if failure is probable.

The real question is, do other "normal" carriers like Verizon do this? With their much higher rates, I would think conventional monthly-contract providers would have significant user backlash if they attempted such a thing. Does that make NET10 more evil than "less evil"?

Hardware Lock-in

NET10 freely admits that their SIM cards and phones are specific to them. I received the following after emailing support to inquire about the possibility of using an unlocked GSM phone (such as the Nexus One) with their service:

If your phone is not manufactured as a NET10, we will not be
able to activate it using NET10 Wireless Prepaid Services. Hence, the
NET10 Wireless service will not be compatible with an unlocked phone.

Furthermore, NET10 SIM cards only work in the phones they were activated
with. Therefore, the SIM cards should not be switched between phones as
this may result in permanently disabling them.

The above was followed by a paragraph encouraging me to check out the selection of available phones at NET10's website. I did so just on a whim, and my expectation of disappointment did not go unwarranted.

NET10's website catalog lists only 16 phones at present, most of which fall into the "basic" category. Two devices have slide-out keyboards and a special text-messaging rate of 3¢ per message, but at $79.99 they are also the most expensive phones on the list. And of course, a lower text messaging rate would just mean I'd use even less of my balance than I do now. (I don't care about a camera, so I won't analyze that, but many of NET10's phones do have cameras.)

I have seen forum threads about using devices like the iPhone with NET10, and I assume the company has also seen them and works to keep users from doing so. Why prevent use of smarter phones on NET10's service? It comes back to software. Phones not manufactured as NET10 devices do not have the software to deduct minutes from a user's account. People using non-NET10 devices with NET10 service get effectively unlimited usage of voice and text communication because the phone is not configured to manage the account balance.

My question then is, why not commission an Android application to enable smartphone compatibility with NET10 and capitalize on the market of users like myself who would want a smartphone without a data plan? I would certainly be happy to restrict my Internet usage to Wi-Fi – enabled areas; having the phone+SMS+Internet functionality on the same device would be awesome if I could do it without paying for an expensive monthly contract from Verizon, AT&T, or T-Mobile.

This doesn't make NET10 evil or not, but it does show that they have lower regard for customer choice than one might think. By operating a no-contract cellular service, they are promoting consumer choice, but they limit consumer choice when they restrict the devices that can be used on their network to a tiny subset of the handsets available on the market. Of course, they're not the only carrier to do this; most U.S. carriers have handsets that only work on their network, and have handsets that will not work on their network no matter how much you plead. But still, it's a limiting factor.

Call & Text Spam

While it's not specifically a NET10 problem, I question the company's willingness — or lack thereof — to help me solve the problems. I received frequent and disruptive nuisance calls to my NET10 number from an underhanded collection agency for four months after activating my NET10 phone, and I continue to receive occasional calls from a second. I've never given out my NET10 number to anyone except my mother, and I made her promise never to call or share it; all communications to me come through Google Voice, and direct calls to my cell phone are by definition not for me. The calls also began the morning after I activated my phone.

Aside from the fact that there was no way a collection agency could have gotten my number that quickly, I also have no creditors that could possibly be seeking collection of old debts. I'm not old enough for that. So I was being woken up at 06:00 MDT by calls from Pennsylvania (placed at 08:00 EDT) intended for someone who had thrown away their prepaid phone number long ago. That sucked.

It did occur to me that I could just answer one of the calls and say the person the agency was looking for no longer owned the number, but even that would have cost ten or twenty cents that didn't need to be used on scumbag sub-legal debt collection agencies. (I looked into the firm that called me all summer. My research indicated that they dredge up debts that have long passed any relevant statutes of limitations and attempt to collect on them for profit. Hence my usage of "sub-legal".)

More recently, I've begun to receive spam SMS from various numbers, some of which are so much longer than 10 digits (or 11; senders are usually presented with the digit '1' prepended for some reason) that I don't think they even exist. Only opened messages are charged for, but NET10 is so focused on making money from text messaging (a trait they unfortunately share with all other U.S. cellular carriers) that the software on my phone displays only the first five characters of incoming messages. That limitation makes determining spam extremely difficult. If I could see more of the message — maybe display "Do you have more than $" instead of just "Do yo", scrolled horizontally like the phone's software does for contents of Notes — I could effectively avoid being charged for spam, but in my cynicism I have come to believe that NET10 doesn't care about spam because it potentially makes them more money.

On multiple occasions I have investigated the possibilities for blocking calls from specific numbers (the collections calls are consistent), or filtering spam from my incoming text messages, to no avail. NET10 cannot block calls, but they would have changed my number for "convenience". No guarantees that the new number wouldn't have more nuisance calls than the old one, of course. And there are no provisions for blocking text messages. The kicker is that a "normal", non-NET10 LG 300G would have the ability to block calls by itself, but that feature was removed from the NET10-compatible software. Grr…

My experience is admittedly limited (as I've only ever gotten one number from NET10) but I've heard from friends and classmates that it's not uncommon for a number from any provider to have problems with calls and texts intended for previous owners. It's not specifically part of NET10's "bad" — rather a con universal to the telecommunications industry — but it was still annoying.

Final Thoughts

Despite the issues, I've been pretty happy with NET10 itself. Even if they charge for failed text messages, require renewals every few months, and refuse to help me block spam, they're still a pretty good deal. At some point, once I establish a steady income, I plan to use up the minutes on my current phone and end its service to switch to something a little better. For now it serves the purpose of keeping me connected on the go when I need to be, and $15 a month isn't bad for a U.S. carrier. I'd move to drop them much sooner if they were more expensive.

Of course, these are my experiences with one phone, a NET10-programmed LG 300G purchased in June 2009. Any of the problems I mentioned, especially those related to features of the software features, might not exist on other models or a later release of the 300G.

Update (06/07): Be sure to check out Speak No Evil's comment below. It has some words of warning that I think are important.

Minor edit at 15:20 to correct erroneous usage of ≅ to ≈

1Aug/090

Google Voice App Rejections: Catalyst for Cellular Openness?

If you haven't heard, Apple rejected Google's official Google Voice application several weeks ago (article from this week). However, I (at least) didn't hear the news until recently, when it became known that Apple also began pulling other Google Voice apps from its iPhone/iPod Touch App Store. TechCrunch's sources say that AT&T was behind the bans, and I'll believe it.

Now, I'm not an Apple fanboy, but I've been considering getting an iPod Touch lately. One of my roommates here at Emerson's summer program (yes I know I need to blog about that too; soon, I promise) has one, and he's graciously let me use it occasionally. It's been the perfect opportunity to figure out if I really want one, and try it out with some of my normal online activities. I do want one, though I'll wait until the new version comes out, supposedly in September, with (I hear) a microphone and maybe even a camera.

But back to Google Voice.

One good reason to get an iPod Touch would be a mobile interface to Google Voice that uses Wi-Fi instead of cell phone minutes (for checking voicemail) or text messages. Cost-saving: Check. But the mobile interface for Voice is pretty sparse, so an app would be awesome.

My plans were put in jeopardy when I got wind of the news that Apple had begun pulling apps that worked with the service from the App Store. I checked with my roommate's Touch and confirmed that they no longer appeared. For a while, I considered just skipping it. I was angered by Apple's ridiculous actions, and annoyed that my target device — the iPod Touch — could have its functionality limited by a company that didn't have anything to do with it. The iPhone and Touch might use the same operating system and App Store, but just because AT&T doesn't want an app on the iPhone doesn't mean I shouldn't be able to run it on my iPod.

Today comes news that the FCC sent letters to Apple, AT&T, and Google, beginning an investigation into this high-profile rejection. See, the FCC has a policy agenda here, one that was probably catalyzed by Google's letter to them two years ago. And in June, the FCC confirmed that it would be starting a review of exclusive contracts between handset manufacturers and cellular carriers.

The letters sent today are probably intended to use this heavily reported situation as an example, and to set a precedent. I hope that this investigation will find fault with the way Apple and AT&T conduct their business together, and will result in the FCC's restricting the kinds of apps that can be rejected, barring AT&T's involvement in the application approval process, and possibly even result in a completely open App Store (in the long term) or an unlocked iPhone (also in the long term, though the exclusive contract between AT&T and Apple ends soon enough).

Google went to bat for all of us consumers two years ago with that letter. Maybe it will turn out that they've inadvertently done so again, just by letting Apple do what it wants with the App Store. My fingers and toes are totally crossed on this one; I want an App Store that's more along the lines of the Android Marketplace or a Linux package manager.

Who's with me?

13Mar/090

GrandCentral Becomes Google Voice!

It's taken 21 months — almost two years — but GrandCentral ("One number for all your phones, for life") has finally gotten an upgrade (and a new name). I'm totally excited, and happy that the long-awaited upgrade (previously known as GrandCentral 2.0) is finally here. Meet Google Voice: "One number for all your calls and SMS".

New Features

Yes, Google Voice added several new features. One of the things that always, always bugged me about GrandCentral was the fact that my number couldn't receive or send text messages. Well, now it can. According to TechCrunch's expansive overview, the same technology that powers the SMS in Gmail Chat Labs experiment (known as Gateway) is used in Google Voice.

Other new features include voicemail transcription (sounds promising), very specific per-contact settings (definitely a trap for us OCD types), a completely overhauled interface (w00t! Less Flash!), conference calling (cool factor = 100), and easy dialing out via the phone interface.

I have to stop and talk about the dial-out feature. First of all, it was nearly impossible to dial out from GrandCentral unless you either had a new voicemail from the person you wanted to call (so you could press '2' after it to call them back) or had access to a Web-enabled device. Simply dialing out wasn't considered. Now, in Google Voice, there's a "press '2'" option right in the main menu! Finally!

Also, under GrandCentral's auspices, calling out was free during beta, with the shadow of paying per minute after testing was over looming in the future. Google changed that in Voice, which allows free calls anywhere in the United States. International calls are at greatly reduced rates (compared to conventional long-distance). Each new user gets a free $1.00 credit toward international calls, though I don't know if they'll keep that up once sign-ups are opened completely — it could be something just for migrating GC users.

Migration, Stranded Data, and Missing Features

Existing GrandCentral users get (or will get this weekend) a migration link at the top of their grandcentral.com inboxes, which will begin the automated migration of a GrandCentral number to Google Voice. The process was pretty painless, even smoother than the transition to the new FeedBurner system last month.

However, much data is not migrated. Most of the settings are reset, custom greetings and names must be re-recorded, old voicemails/calls/recorded calls are left behind on grandcentral.com, and contacts must be transferred manually by exporting GrandCentral's Address Book to CSV and importing it into Google Contacts. The automatic merging of imported contacts only merged about half of the duplicates in my set, and I had very few contacts to deal with. That was fortunate, because the rest of the merges had to be found and made manually.

In the future, I hope Google will provide a utility to migrate old voicemails from GrandCentral, especially if grandcentral.com is eventually shut down or redirected. Currently, the top of my GrandCentral inbox says:

Since you have migrated to the Google Voice Preview, you can now access your new messages and update your settings by logging in at google.com/voice. Feel free to continue to access grandcentral.com for your older voicemail messages. We're glad you dropped by.

That's inconvenient. But really, how often do I visit old voicemails? Not much. Besides, a lot of them were inexplicably lost… Their listings are present, but they can't be played; I'm guessing the files somehow went missing. I'm not happy about that, but… at least it hasn't happened again.

A minor annoyance is the loss of custom ringback tones, the sounds played to a caller while the phone is ringing on your end. (Google does have a suggestion to bring this back on the Google Voice Feature Suggestion page.)

Future Ideas

Of course, Google Voice is not without holes. It can't forward to numbers that require extensions (I don't need it now, but might in the future). It can't take an existing number and turn it into a Google number (which would be eminently useful, I think, for my mother).

Image representing Android as depicted in Crun...Image via CrunchBase

There are also no apps for iPhone or Android yet (and I don't care about Blackberry, kthx). But the feature suggest page I mentioned above has all these and more. I've suggested about 75% of the features currently on the list, including integration with Gmail and Google Talk. I'm hopeful that these and more ideas (like the two I posted on Twitter) will be implemented, and sooner rather than later.

Speaking of future ideas, Lifehacker ran a short post yesterday speculating that the reserved "Voicemail" label in Gmail is for integration with Voice. It's actually for Google Talk voicemails (GTalk has a calling feature that I almost never use because of various technological or locational constraints), but it could certainly be useful for Voice messages as well, if Gmail and Voice are ever integrated.

Reaction

Despite the inconveniences, I think I'm going to like the service. It's a vast improvement upon GrandCentral; in fact, TechCrunch's Leena Rao says (in the overview mentioned above), "Google is finally bringing us the voice service that was promised back in 2006." I agree; the old GrandCentral was convenient, but Google Voice promises to be many times as useful.

Enhanced by Zemanta
18Jan/090

Telemarketing Loopholes: FAIL

252:365 Fun with telemarketersImage by elh70 via FlickrI was relaxing at home in the evening on the Monday before Thanksgiving, around 19:30, looking through a Hebrew-English dictionary to try and figure out what the song title "הלב שלנו" means in English. (I never did find the meaning of the word הלב; it seems to be conspicuously absent from both dictionaries I possess.) But an interruption was about to occur.

The phone rang.

Normally that would be a simple matter – just pick up the phone, read the Caller ID, and decide whether or not to answer it – but this situation was remarkable in that Caller ID is unavailable at my house. Put more correctly, Caller ID is a subscription service that we do not subscribe to. The cost is several dollars per month, and the phones at home aren't used enough to justify the expense.

So, I must answer the call without knowing who is on the other end. It's usually either GrandCentral or my mother, but this time it's a "robot" call. A recorded voice begins speaking to me. On the off-chance that I will be hanging up on a real person who might at some point ask an actual question, I stay on the line.

I needn't have bothered. Upon coming to a spot in the text where a changing date is to be inserted, the voice pauses, changes, and continues in a vastly different tone. I hung up before the original voice could return.

For a fact, I know that the number I answered is almost certainly on the Do Not Call List, which is supposed to prohibit marketing calls. The only problem is, there's a loophole. Non-profit organizations, pollsters, and political campaigns seem to be allowed to dial blacklisted numbers without fear of repercussions. The content of this particular call is irrelevant; the fact remains that this is not the first time, and will not be the last.

Denying the possibility of prohibiting unsolicited telephone calls altogether (a most appealing option, actually), I honestly believe that there should be an option for numbers on the Do Not Call List (or a second list for the purpose) to block all unsolicited calls, whether made by computer or human. In addition, Caller ID should be a standard feature on all telephone lines, with no extra charge. (See "Caller ID Should Be Standard" for more in-depth coverage.)

With respect to blocking all unsolicited calls, some of us just don't want to be bothered by such an intrusive device unless we know the caller, personally or professionally. If you want to sell me something, convince me to vote for you in an election, or gain my good will and receive a donation of some sort, please take your marketing elsewhere. Interrupt me while I'm on the Internet. No, I do not mean that you should spam me or add me to an email list; I would find such practices just as annoying as unsolicited telephone calls. I mean you should advertise. Buy spots in Google AdWords or something.

See, I don't object to you getting your message out, but rather to the way you're going about doing so. The Internet provides a medium where a) people are used to being interrupted by ads, so they will be automatically less disruptive, and b) there is increased likelihood of your ad being relevant. A random telephone call is most definitely less relevant than a Web ad placed near text that relates to what is being advertised.

Feel free to ask me to donate clothing to your cause, vote for your candidate, or buy the latest and greatest in window-blind technology; just do it in a way that doesn't waste my time or interrupt something I'm already doing.

Enhanced by Zemanta
11Feb/080

GrandCentral Introduces Shared Forwarding Numbers

I don't talk about it much, but I use GrandCentral as my phone number. It works great, since I don't actually have a cell phone or landline of my own. Google gives me a number that will "never" change (it will if they discontinue the service…) and that rings all the phones I have access to… or none at all. One peeve I had, though, is that neither of my parents could sign up for the service (if they wanted to, that is) because our house phone is in my account. That's just changed.

Apparently, the announcement was made yesterday, though I missed it. It must be because I checked my feeds in the morning, and the entry was posted in the late evening. Despite the fact that I missed the announcement (and that I haven't been posting lately, another story), GrandCentral now officially lets you share a forwarding number in different accounts.

2Dec/070

Google Confirmations: JotSpot and Gears Access, Among Others

There are several sources of information regarding statements made by Scott Johnston at a recent Google Apps presentation in Ann Arbor, and all the statements are very interesting. Among other things, Google announced (or hinted strongly at) the launch of the JotSpot wiki service, now branded Google Sites, next year; Google Gears access to Gmail and Google Calendar; offline editing of documents, spreadsheets, and presentations; integration between GrandCentral and Google Apps ("they are working on it and it is a 'huge priority' for them" — ZDNet); and, in the far future, videoconferencing within Google Apps.

Now, I don't know how many of these products will make it into mainstream Google Accounts (I would really like to have GrandCentral connected to my Google Account, personally), but they are very exciting, especially the Gears access for Calendar and Gmail. Who knows how many days of calendar will be downloaded, or how many emails (with or without attachments…), but the features are quite welcome.

Google Page Creator has been pretty anemic for its entire life, and if pages.google.com turns into sites.google.com, I won't complain. Also, offline document editing will allow me to finally ditch Word! (Except for those few niggling instances of complex formatting, of course.) Combine all these Gears integrations, and suddenly the Web browser starts looking like an office suite. The times ahead will be very, very exciting, I think, for Google's users. Hopefully all the improvements start with regular users and work through to Apps, like the new Gmail code…

14Oct/070

Gmail Testimonial

I just felt the need to write a Gmail story to send to the Gmail Team, and I've copied it here both for record-keeping and as a view into my online work life.

When I first got into using email, I used the old USA.net email service, which was free at the time. When that moved to being fee-based only, my dad created email addresses on his hosted server for myself and my mother. We had to use email clients for those, but didn't really get into the Yahoo! or Hotmail stuff because they weren't really any different from Outlook/Outlook Express.

Fast-forward to 2005, when a friend of mine invited me to Gmail. I added it as an account in Outlook, and enabled POP3 access, then promptly forgot about it. When the hard disk of my computer threatened to crash in 2006, I had to transfer everything to cloud-based services, which meant webmail, and FTP storage for files (I've since gone back to using a school computer and Google Docs in tandem).

Even though the computer was fixed, and the data recovered, I've never gone back to using the client or my old email address. Gmail's innovative conversation view, starring, and labels have changed the way I use email forever, and I can't see myself ever using anything else again (unless of course you guys pull the rug out from under all us Gmail users… Please don't!). I've since redirected every email account possible to Gmail, and really love the spam filters that work 99.9% of the time (I've found about two mistakes, otherwise it would be 100%) to keep junk mailings about drugs, stocks, real estate, etc. out of my life.

Even more wonderful was the fact that, since I started using Gmail, I've been using more and more Google services, and found my life getting easier. Gmail, Google Talk, Calendar, Docs, Reader, Blogger, GrandCentral, and the whole host of others have transformed the very way I communicate and work, and I'd just like to thank you, the Gmail Team, and all the other development teams at Google for creating the Google Operating System I use today.

That's why I'm such a Google fan.

10Sep/070

GrandCentral Active

I just used a site called InviteShare to get an invitation to Google's GrandCentral service. The site enables you to ring up to six phones from one number that will never change (unless they have a carrier problem like they did a couple weeks ago). Switch phones in the middle of a call, ListenIn™ on a voicemail, record calls… So many features! And everything's free while the service is in beta period. I'd recommend it already. It has a few shortcomings (such as numbers disappearing from the availability list while searching and no contact integration with anything, even Gmail), but these will probably go away in future versions.