Google Books and the Book Industry
I wrote this for my Journalism class at college, but figured I might as well share it here too.
The New York Times ran a story Monday about a new lawsuit filed against HathiTrust, a partnership of universities and research libraries that maintains a digital book collection on its website.
Plaintiffs in the suit include three major authors' groups: the Authors Guild, the Australian Society of Authors, and the Québec Union of Writers. Eight individual authors are also party to the filing, among them Pat Cummings, Roxana Robinson, and T.J. Stiles.
The objections raised in the suit center around the HathiTrust collection itself. "[S]even million copyright-protected books" (according to Paul Aiken, executive director of the Authors Guild, as quoted by the NYT) are available without any consent from the authors. The Authors Guild and its fellow plaintiffs say that the collection violates copyright law.
HathiTrust's collection consists of books digitized by Google, Inc. as part of the Google Books project, which has been steadily scanning books from participating university libraries across the United States.
The Google Books project has been the subject of many lawsuits over the years since work on it was begun in 2002. A few examples will help provide context:
- 2005: The Authors Guild sues Google for "plain and brazen violation of copyright law" (archived press release from AG via Archive.org)
- 2009: French court halts Google Books in France: the ruling applies only to books published in France under copyright (Los Angeles Times article)
- 2010: Several professional photographers' organizations bring a class-action suit regarding the reproduction of copyrighted images within the books scanned by Google (Mashable.com article)
The Authors Guild has been involved with this issue before. This time, the fight has been brought to an organization with a bit less might than Google.
But never mind who sued whom, for what, and when. The issue is really quite simple, and most of the lawsuits against Google Books have had little to no merit.
United States copyright law (the laws under which most Google Books lawsuits have been filed) contains a doctrine known as Fair Use. It was originally intended to protect commentary, critique, and parody of copyrighted works. However, the principles of Fair Use (Cornell University Law School Legal Information Institute):
- "the purpose and character of the use" — e.g. for commentary, critique, parody, scholarship, etc.
- "the nature of the copyrighted work" — published/unpublished, fact/fiction
- "the amount and substantiality of the portion used" — how much of the work was used, and how significant the used portion is to the work as a whole
- "the effect of the use upon the potential market" — if the use of that portion will negatively affect demand for or the value of the original work
(Thanks to Stanford University's Copyright & Fair Use information center for helping me refresh my own memory of these concepts.)
The way Google Books works is carefully designed to fit within existing copyright laws. Books in the public domain are fully accessible, with no restrictions. Copyrighted, in-print books allow whatever access the publisher has specified. For in-copyright books that do not have a publisher, Google restricts access to "snippets", which show just a few words surrounding the user's search term.
So: Whenever Google Books shows a significant portion of a book, it has permission from the publisher to do so. Without permission, Google Books displays tiny fractions of the full work in an immensely transformative manner.
Google Books falls well within Fair Use doctrine, at the very least. Displaying card catalog – type information about the book plus at most a sentence or so for each search result (I'll go down the Fair Use list):
- Is for scholarly reasons
- Uses published works
- Displays at most a few percent of the whole book
- May actually increase demand for the books featured in the results
(Parts of Lawrence Lessig's 2006 video discussion of Google Book Search came in handy for an overview of how Google Books works.)
So why are publishers and authors suing Google and HathiTrust?
As far as I can tell,[original research?] HathiTrust follows the same rules as Google Books. This makes sense, as the content is from the Google Books program.
HathiTrust's entire archive is intended for academic use. It's unclear why the various plaintiffs in this new lawsuit are suing for the removal of their books from the archive, rather than suing for better access controls. If the concern is that anyone can access the books (which they can), then restricting access to verified researchers would clear up the problem.
It's like big music, film, and television. The music industry figured out that it could simply adapt to the Internet and start offering content over the new medium, giving people an alternative to pirated copies shared through services like Napster, LimeWire, and BitTorrent. Film and television haven't yet figured that out, and I guess the book industry is still working on it too.
Hello Android: LG Optimus V Review
Use NET10 and need more airtime? Buy my 2475 minutes on Amazon or Craigslist! Alternatively, contact me with an offer
I've been using NET10 as my cellular carrier for nearly two years. I got their most basic phone (the LG 300G) at a Wal-Mart in Colorado Springs, CO, in June 2009 and have been paying $15/month ever since for 150 – 200 minutes (10¢ each, or 5¢ per text message).
I got tired of that phone's slowness and tiny keypad rather quickly, as I tired of NET10's baseline service. I got a number and access to the network, but that was all. They also gave me a number that was prone to receiving calls from collection agencies and spam text messages. (Finding a way to block such junk proved to be impossible, as I detailed in my pseudo-review of NET10 from February 2010.)
Getting a new phone was only a matter of finding the right one. It took a while, but it did happen.
Acquisition
This February, I passed by a Radio Shack store and saw an Android phone with a decent price tag on a poster in the front window. I stopped in for a few minutes to see what it was all about. It was there that I met the LG Optimus V, a $150 Android phone with a minimum $25/month contract-free service plan from Virgin Mobile U.S. (including 300 minutes and unlimited texting & data).
I had to run to a show that evening (the life of a stage manager is never simple), but the seed had been planted.
Over the coming weeks, I kept thinking about that phone. I researched it a bit and found that it was a recent release, only a month out of the gate. I found that Virgin Mobile had put out one other Android phone, the Samsung Intercept, that had a physical keyboard but (as kept coming up in the reviews I read) horrible performance. Nearly every Optimus V review I read was positive. Score!
I even dreamed about having the Optimus V one night. Despite drooling over the iPod Touch, iPad, and so on with all the other geeks of the world, not once did I dream about having any of them. I took that to be a sign. When I saw it on sale at BestBuy.com for $130 a few days later, that clinched it.
But BestBuy.com was sold out of the phone, and so were all the nearby stores. Nobody else had it on sale, so I wasn't about to just go out and find it elsewhere. I waited and hoped that it would be back in stock before the sale ended.
Another few days went by. Then I checked again and, lo, the Optimus V was back in stock! I pounced. All told, the total sale price including tax and shipping was less than the regular product-only cost. I called it a good deal, and began my plans to test it. Best Buy has a pretty good return policy, after all.
I placed my order on a Wednesday, and so didn't get the phone until the following Monday. Those five days were frustrating! But when I did get it, I took pleasure in carrying it to the local library to set it up.
First Impressions
My new phone was shiny, and awesome. Navarr, the awesome dude who hosts this site right now, saw my posts on Facebook and said he'd just gotten an Intercept and that it couldn't play Angry Birds, the immensely popular game. So what was the first app I downloaded? Angry Birds. The Optimus V ran it perfectly.1 Score!
Did I mention that it was a steal at $130? (Current price: $200. Virgin Mobile and/or LGE must have decided they needed a bigger profit margin.) All my comments will use that price for value assessments.
Two Months Later
It still is awesome, and shiny too, but I've taken to carrying a microfiber cloth with me so I can periodically wipe the screen and casing. Both of them do collect significant quantities of finger oils and grime in the course of a day's use (especially if it's a tech set-up day). That's one of the few issues I've had with the device. (The other issue is an incompatibility between the stock Music app and the Last.fm app. It wouldn't be a big deal if Music didn't open automatically, both when I select a media file from the File Expert browser and sometimes when I unplug the headset. I'm working on replacing it completely with Songbird for Android, a mobile version of my favorite desktop media player.) I'm sorry to say, I never started carrying a microfiber cloth for any other purchase. A new phone was just so long in coming, I guess.
As yet I have not activated the service plan. That is on hold until I can offload my old NET10 phone, which has about 1400 minutes (or about $140 worth) of airtime on it. The Optimus V is currently my pocket computer, subsisting on Wi-Fi until I get the data service turned on. It's already been very useful for finding bus routes, thanks to Minneapolis Public Wi-Fi. It will be twenty times as useful once I get rid of my old phone and sign up for Virgin Mobile's service.
Battery
Battery life was reported to be pretty bad, but overall I haven't had any issues with it. Granted, I don't have the cellular radio active (why bother, if I have no service plan yet), but I can get in several hours of Wi-Fi or 10+ hours of reading in ReadItLater2 without having to plug in. I'm hoping the forthcoming software update from Android 2.2 to 2.3 will include even higher efficiency.
Performance
Generally, the phone is very responsive to inputs. It unlocks quickly (using the Draw Pattern option), and seems to only slow down if an application is misbehaving. As mentioned, Angry Birds (both the standard and Rio variants) performs well, and listening to music or watching even standard-definition video clips is stutter-free.
YouTube videos, of course, work well as long as I have a good connection. Streaming audio, such as TuneIn world radio, works also.3 I haven't tested Pandora yet, but I have a feeling that as far as the phone is concerned it will work well. (Some reviews on the Market indicate issues with the app, but that's not the phone's problem.)
On occasion, it would slow down to a crawl and seem to freeze just after connecting to a Wi-Fi network if it hadn't been synced in a while. I now turn off the auto-sync unless I want apps to sync, and that problem has more or less disappeared.
Every so often, I do get the phone to crash. Usually it just hangs, ignoring all button presses until I remove the battery and reboot it. Occasionally it's rebooted itself in the middle of a stuck app uninstall. But those occurrences are pretty rare; I've gone upwards of a week without ever rebooting the system.
Storage
External
I'm still using the 2GB microSD card that came with the phone. Its current contents include 1.09GB of music, every SD-enabled app I have (to free up internal space), one chapter of an OverDrive MP3 audiobook (30 or 40 MB), an EPUB ebook or two (1 – 2 MB each), and several dozen articles downloaded for offline reading in ReadItLater.
I plan to get a larger card in the next few months, as 2GB isn't nearly enough for all the content I want to carry around. I'll price 16GB and 32GB microSD cards and hopefully find a good deal on the latter, the largest the Optimus V supports.
Internal
I have issues with the internal storage memory. It's not that it's bad memory or anything; there just isn't enough of it. The total internal storage available to the user is 178MB, but only about 160MB is usable; past that, the phone will start complaining that it is "Low on [internal] space" and refusing to sync until space is cleared.
Apps to Watch
Some apps are worth noting for their strange or annoying storage habits.
Browser
The Android Browser app appears to store its cache in internal memory, and doesn't provide a setting to change that. If you get a low space warning and have been browsing recently, check the Browser's cache through Settings->Applications->Manage Applications->Browser and clear it if it's more than a few hundred KB. Sometimes it's not so intelligent about throwing away cached items that aren't needed any more.
Facebook / Twitter
Both Facebook4 and Twitter must reside in the phone's memory, and can't be moved to SD. They both consume 2 – 4MB of "Data" storage on top of the 3 – 5MB they use for code, a usage level that pretty much hovers.
Neither can be moved to the SD card. I haven't figured out if they really can't be moved, or if moving is somehow broken because there are (outdated) factory-installed versions in the phone's ROM.
Anything from Google...
Also note that Google's applications (including Maps, Gmail, Reader, and most other offerings) generally can't be moved to the SD card. This means that Maps uses over 10MB of my internal memory, and Gmail another several megabytes.
Goggles can be moved, but it's an exception in Google-land. As a heavy user of Google services, I grudgingly allow space for those apps; but I would very much prefer that they allow themselves to be moved to the SD card.
Ditto to my comments on Facebook & Twitter about moving being possibly broken by outdated factory-installed versions of Google apps in the phone's ROM.
...But Especially Books
Google's Books app has a huge storage appetite. I currently can't use it, because when I allow it to sync and download my books, even with no books stored locally, it uses 8MB of "Data" storage for — as far as I can tell — nothing. The latest update (1.3.4, released in mid-May 2011) improved on the 9+MB use of the previous version, but it's still an issue.
I did report the issue in the forums, but I will be pushing again as I think the app team considers the issue resolved by the update. It's not.
Sorry for ranting. I really enjoyed reading the free books from Google's store until I needed the internal memory consumed by Books for more apps.
Display
In a word, readable. Even in full sunlight, I can crank up the brightness and have a usable phone. The higher brightness settings do suck the battery a bit, but they're handy when I need to check on a bus from a stop during the day.
The only thing I might wish for, display-wise, is an ambient lighting sensor to automatically adjust the brightness in different lighting environments. But that's not something I'd expect to find on a low-end phone.
Text Input
I tried Swype, and disabled it. As far as I can tell, the stock Android 2.2 keyboard is plenty good. Apps that disable its correction features aside5, Android Keyboard's auto-correct, -complete, and -capitalization functions make typing a breeze. It's much easier than a T9-style keypad.
Audio
In general, audio is good. Decent fidelity all around, though not always loud enough.
Oh, and it accepts standard stereo headphones. Don't be put off by the four-conductor earbud set that comes with the phone; typical three-conductor, 3.5" plugs will work just as well for listening (obviously without the button control).
Be aware, though, that if you're trying to plug into an external audio system, the phone's output signal is pretty weak. It's good for driving earbuds and headphones, but you'll have to crank up the gain on (for example) a performance sound system.6
Speaker
The speaker could be louder. It can be hard to hear music playing from it in a noisy setting, such as while walking along a busy street.7
Kidding aside, I usually don't need to crank the volume up all the way. 75% is sufficient for most situations.
One small detail: Sometimes the speaker sounds a bit tinny when playing music, but that could be the quality of my down-converted music8 as much as the speaker.
3.5mm Jack
It's really hard to hear music in earbuds or headphones when a car or truck drives by...
Seriously, the output jack emits a good-quality signal. There is one caveat, however.
There seems to be a background hiss whenever I'm using the headphone jack, maybe due to a cheap audio system. (Uh, duh, it's a cheap phone.) It's only annoying in silence or quiet moments in the audio, though.
Otherwise, it's quite satisfactory.
Price Jump
It was unexpected, but not surprising, when I saw the price go up soon after I bought the phone. $150 was a great deal for everything the phone could do, and I'll bet it was selling like hotcakes. Matching the price point of the Samsung Intercept, Virgin Mobile's other Android phone, makes business sense.
At $200, it's a slightly worse deal, but it's still a fully featured Android phone with no contract. (Compare to T-Mobile's $40-with-two-year-contract price for the nearly-identical Optimus T.)
Conclusion
Bottom line: I like the Optimus V. I recommend it to anyone who wants to try out Android without spending $60+ per month. I even recommend it at the $200 price point of today, though don't get it if you don't plan to use it as a phone some day.
Oh, and thanks to Ringtone Maker I now have one awesome alarm clock. That right there is a great reason to get an Android phone.
Omissions? Mistakes?
Did I miss any facet of the Optimus V that you'd like to know about? Get something completely wrong? Sound off in the comments and I'll update the post accordingly.
- OK, so it occasionally gets slow. I haven't come across a single other Android device, especially at this price point, that didn't have an issue here and there. I've even witnessed Angry Birds hanging on a Nook Color. [↩]
- ReadItLater is the only paid app on my phone; I got it for 99¢ in April, thanks to a launch sale. Everything else I use at present is free. [↩]
- I sometimes like to tune in to Israeli radio stations. [↩]
- Oddly enough, the package name is com.facebook.katana. Some unofficial app stole the package ID com.facebook, but I don't know why Facebook didn't just use com.facebook.android... [↩]
- I tried several note-taking apps before discovering Catch, a great app that takes photos & audio as well as text, and also syncs notes to the Web. Other options offered no advanced text-entry features, but Catch did. Aside from a few weeks between the 3.0 and 3.0.1 updates when an oversight in the new version disabled the auto-completion features, Catch is a rock-solid app that I recommend for any Android—or iOS [iTunes link] — device. [↩]
- This tidbit came from trying to use the phone as a source of work music in the theatre. I initially thought there was something wrong with it, until I remembered that I had a gain control on the board I could crank up. [↩]
- Of course, I only know one person who even tries to do this. He complains that the Optimus is horrible at it, but his phone ain't any louder. [↩]
- All the music on my phone is 96kbps MP3, converted using fre:ac Portable from originals as high-quality as FLAC and as bad as — yes — 96kbps MP3. [↩]
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:
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.
- 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. [↩]
- 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.) [↩]
- Blogger offers an export as well, but so far as I know it can only be imported into another Blogger site. [↩]
- 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.
[↩] - It does support a few Google-controlled short numbers; I know of three: 46645, 466453, & 48368 [↩]
- 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. [↩]
- Obviously, if you're not reading this on the site, you'll need to take an extra step to get a comment form.
[↩]
Reflection Squared: On Clifford Stoll’s “High Tech Heretic”
The other day, I was browsing the computer shelves at a local Border's book store. I came across Cliff Stoll's acclaimed book, The Cuckoo's Egg. My dad's recommended the story to me in the past, and the premise was intriguing. After all, who wouldn't want to read a non-fiction account of cyber espionage that reads like a top fiction mystery? I picked up the book and proceeded to spend the next two hours engrossed, reading right through the soft muttering and louder tapping of the woman in the chair beside me.
Of course, the time to depart arrived and I had to stop. Still, I read about 25% of the book in one sitting. I replaced the book on the shelf, noting to look for it at the library and/or add it to my wish list. (Even if I wanted to buy it, I wasn't exactly in a position to do so.)
The next day, en route to the upstairs computer lab, I checked the public library catalog. The Cuckoo's Egg wasn't in stock, and was checked out until the 21st of April, but I noticed that one of Stoll's other books was: High Tech Heretic: Why Computers Don't Belong in the Classroom and Other Reflections by a Computer Contrarian. On impulse, I checked the book out.
What I found inside, later, was intriguing. My parents have been skeptical of computers for a while. Though my dad uses them for his business, and my mom is warming up to them after years of asking me why I find them so interesting,1 there's still a big disconnect between us.2 I've vaguely known the reasoning behind their conclusions for years, but High Tech Heretic has shed some light on the details — and not monitor glow.
Programmed Instruction
Despite my parents' computer skepticism, I took my entire high school education online. I believe it was a good experience, though not for the reasons one might expect. It's not that I necessarily learned more than I would have in a conventional school — though I probably did, since the online coursework better fit my learning style — but rather that I spent a good chunk of my "school" time correcting the course material. Lazy QA teams had left the text, quizzes, and tests riddled with little errors. Through my teachers, I sent corrections, and my correction work earned back more than a few points that were wrongfully denied me in nearly every course — though I never got so much as a "Thank you" from the course distributors. (A rare few courses were bereft of glitches. I treasured them, because I didn't have to keep second-guessing everything.)
What was interesting about some of the corrections, though, was that sometimes it was just a matter of input formats. Most of the graded tests were multiple-choice, but many of the in-text "Self-Check" quizzes featured free-text inputs. Such quizzes were graded by JavaScript code, to give students an idea of how well they understood the material. But some of them had vague or quirky requirements about how answers were entered, and some of the quirky expectations made by the programmers resulted in points lost by students.
Stoll addresses the issue on page 16, in reference to B. F. Skinner's experiments with programmed instruction in the 1950s. Skinner's approach was nothing new, really — it mimicked a popular learning method preached by many educators then and now: repeat a topic until the student demonstrates understanding. Skinner's machines rewarded students for correct answers with further exploration of the topic, while incorrect answers led to review.3 However:
…programmed instruction flopped. The machine forced kids to regurgitate whatever answers the programmer wanted. There was no place for innovation, creativity, whimsy, or improvisation.
This sounds very familiar. Almost too familiar. The quizzes in my online coursework sometimes had bizarre expectations for what was to be typed into the text boxes. I once had a quiz (thankfully not graded) that balked at accepting a floating-point number (0.17 or something) with the leading zero; the expected input was .17 and too bad if you've been trained to put in the leading zero. The programmers were treating all text box inputs as strings, rather than parsing the values into numbers when appropriate. We all know that programmers are lazy, but certain kinds of laziness are inexcusable.
Skinner's ideas persisted, even into the years of my childhood. I had plenty of educational computer games in my youth, and maybe they did help teach me. Very little of what I know comes from conventional schooling — I know that much. Reading, writing, arithmetic, higher math, typing, (amateur) programming — all of it I learned outside the classroom. Reader Rabbit, Treasure Math Storm, and Edmark's Mighty Math software deserve more credit for my education than any school classroom I ever set foot in. Forgive me if it sounds like bragging, but I could read and write circles around most of my traditionally-educated friends all through my schooling. Kumon and my learning-friendly home environment can take the credit for my perfect score on the ACT's English section, not the school system.
Stoll also brings up computers in the classroom repeatedly. One great example is the replacement of science labs with computer programs. My local high school has a chemistry/physics lab, but an unscientific sample of the classes taught in the room shows much greater use of the computers for experimentation, rather than the lab equipment.
Learning the Tools, Not the Trades
Stoll also brings up the issue of learning how to use specific tools rather than the concepts underlying them. Chiefly discussed in the chapter "Calculating Against Calculators", the arguments focus on numerical fields; however, the thread is present practically from the beginning and applied to all subjects.
Through school, students are handed calculators in math class. They're trained to punch in the numbers and trust the calculator to come up with the right answer. Now, common sense dictates that one should always be able to estimate, so as to be able to catch errors in a calculation. In theory, students are taught to mentally check the calculator's results; in practice, assignments are turned in with answers stating that a radio tower is a fraction of a millimeter tall.
On page 85, the University of Illinois is used as an example. The school developed a calculus course centered on the Mathematica software. As such, the students learned how to integrate functions using Mathematica, rather than learning how to integrate. Students trained to use certain software programs for problem-solving often didn't know what to do when the electronic part of the equation (sorry) was removed.
In my math classes, I can remember very few times when I wasn't encouraged to use a calculator. A TI graphing calculator was a requirement for high school math classes, but I got through four years of online instruction with a photoelectrically-powered scientific calculator, used mostly for checking myself and dealing with nasty decimals. (I was fine graphic linear equations on graphing paper, but I did cave in and download a software program to do the parabolic and asymptotic functions for me.)
Learning tools at the expense of the underlying concepts isn't just limited to math. From my own experience, as well as friends', I've seen courses teach how to use a particular software program to solve a problem, without explaining what the program does. Modern English course requirements for electronically-submitted papers just begs for students to rely on spell-checking software. Many of my fellow students routinely misspelled even the most common and simple words. I can't help but blame Microsoft Word; it's the de facto standard for word processing these days, and defaults to automatically correcting a huge list of common misspellings so sometimes the user doesn't even know he's made a mistake. That's a bad idea for software used in education.
Systems Design Philosophy
Perhaps one of the best points made in the book is taken from David Gelernter's thesis: "Technology's most important obligation is to get out of the way." This point, from page 139, illustrates the basic purpose of machinery: making life easier. Bad design and useless features remove the helpful aspect of technology and replace it with nuisance.
Ah, PowerPoint
Following chapters on, among other things, the wiring of libraries and the planned obsolescence of computer systems, an entire chapter is devoted to PowerPoint and its fellow presentation software products. I thought the best part of this chapter was the section discussing the use of presentations in schools.
With my online learning experience, I was thankfully spared most of the PowerPoint junk that has made its way into the school curriculum. However, I had teachers in the offline world as well, and a few of them used PowerPoint to disastrous effect.
One such teacher followed the model for meetings presented earlier in the chapter: Notes for the students, slides on the screen; the lectures consisted of reading the slides aloud, with zero additional information presented in the spoken words. I was always bored to tears in that class. It was ironic that the course title was "Public Speaking", since such a class should be teaching students how to keep an audience's attention instead of how to make the audience yawn.
Another teacher — this was in a public school — taught her AP U.S. Government course using PowerPoint. She read from the slides, often rushing through and/or skipping slides for time (no worries, the slides were available on her personal Web page for study at home). Her habit of putting paragraphs on the slides wasn't exactly prime PowerPoint use, but at least she added extra tidbits to her lectures that weren't in the textbook or on the screen.
I should also note that part of that Government class was a group presentation project, on which I got a good grade just by going up and reading a few of the several slides produced by my group while I was sick. That isn't a complaint — I like good grades just as much as the next guy — but I didn't really have any input whatsoever on the project save for a few grammatical corrections. (I won't get into how my classmates made it difficult for me to contribute, even though I was perfectly willing to do my share.4)
I present these examples mainly to illustrate my own personal experience with the problems Cliff mentions on pages 182 – 183. (It's interesting that his main classroom example also involves a social studies teacher.) I'm sure educators would be quick to defend the growing use of PowerPoint in schools by citing technological familiarity for future job use, same as they would for school Internet connections (which are useful, but often inadequately restricted).
Dated Material?
I did have the thought throughout the book, however, that perhaps some of Stoll's opinions would be quite different if written today. In particular, page 189's assertion that professional editors and journalists just don't exist on the Internet is no longer true. That assertion is a fundamental point in several arguments following — arguments that would probably be different (if only slightly) if written from a 2010 perspective instead of a 1999 perspective.
Similarly, page 191 asserts that search engines don't understand concepts and ideas, only words. Today's indexing engines aren't perfect, but great strides have been made in machine understanding of language. Just look at services like Aardvark. (This is, of course, just a tiny subset of the possible examples I could have pulled from the book.)
Of course some things — unfortunately — never seem to change. I stupidly didn't note the location of it, but somewhere in the latter part of the book Stoll laments that search engines rely on correct spelling to find information. Spelling is a skill seldom taught or learned in today's world (it seems), and we rely more than ever on spell-checkers. Many services offer their own (see Gmail & Google Docs as examples) in the event that the user's browser doesn't have one already built in. Search engines have been trained to recognize our mistakes in queries (à la Google's classic "Did you mean?" lines) and sometimes I think they also detect mistakes in pages they index.
Overall
High-Tech Heretic contains a good many well-placed warnings, and I very much appreciate Stoll's opinions on the replacement of human and paper resources with technology. However, I hope that his later writings are better edited. This book has quite good spelling (good, since he brought up that issue) but the grammar is lacking in a few spots; I found a decent number of omitted or misplaced words.
Nitpicking aside, the message of the book is clear and appreciated. Technology has a place, and we shouldn't let it get out of the corner we've set aside for it.
Update (05/04): Corrected missing markup that caused most of the text to appear as a giant footnote. Proofreading failure on my part; sorry!
- She's begun asking me about websites and such: Hosting recommendations, platform suggestions, that sort of thing. It's kind of cool that she's interested now. [↩]
- I used to go to my dad with questions about the computer. Now, he comes to me with his questions and I use search engines to find answers for my own. [↩]
- I had several experiences with this type of learning, including both online (with Stanford's EPGY program) and off (with Kumon, a Japanese-originated curriculum in math and reading). [↩]
- Schools seem to use group projects a lot without teaching students how to collaborate, kind of like a lot of theatre classes tell the actors to project without getting into the mechanics of doing so. [↩]
Credit to St. Kate’s Computing Services
A while back, I complained about an annoyance in update scheduling on the computers at St. Catherine University. While my experience was disrupted for that one night, I don't think I made it clear enough that overall, the St. Kate's IT department runs things very well. Because of when that incident occurred — during tech week for Guys and Dolls—I wasn't in the best of moods, and I think my writing the following day reflected that.
Compared to other institutions at which I've had the privilege of computing, St. Kate's actually leads the pack in most areas. Augsburg College provides an especially good contrast to St. Kate's:
- Operating System: Windows Vista (Augsburg)1 vs. Windows XP (St. Kate's)
- Time To Internet:2 3 min. (at least, Augsburg) vs. < 2 min. (St. Kate's)
- Startup Annoyances: Novell iPrint demands a second login, ZENworks and Novell run slow scripts before the user can do anything, Internet Explorer and PaperCut NG automatically open (Augsburg) vs. Internet Explorer and PaperCut automatically open (St. Kate's)
Of course there are little annoyances. Auto-startup of Internet Explorer and PaperCut is common to both institutions, as is Firefox's demand to be restarted to fully disable the unstable MetaStream 3 plugin. (In true Murphy's Law style, the prompt always pops up right when I'm in the middle of something. And restarting FF logs me out of most websites. Of course, I could ignore the prompt, but experience has shown that all I'll accomplish is a Firefox crash. At least it isn't lying that the plugin is unstable.)3 However, once one gets past these start-of-session annoyances, the experience is very smooth and pleasant. The configuration stays out of the way for the rest of the session, and that's exactly how computers intended for work unrelated to computing should behave: Pipe down and let users get things done.
When St. Kate's is held up to institutions like Hamline University and Concordia University, the others pale in comparison. Neither Concordia nor Hamline offers a browser alternative to Internet Explorer. Fortunately it's relatively easy to run Google Chrome from my flash drive or temporarily install it on the local machine, or computing at such locations would be unbearable.
Starting Internet Explorer at Concordia, even just to get a copy of Chrome downloaded, is an adventure in frustration. So many browser add-ins load on startup that IE loads frozen and takes 30 to 60 seconds just to initialize and begin loading the homepage. Concordia's computers also have an annoying tendency to pop up notifications about all sorts of things. InstallShield constantly wants to update something, and Adobe's Flash and Reader products run updaters every chance they get.
In this mess of different experiences, only St. Kate's truly stays out of one's way most of the time. For that reason, I consider it a great pleasure to have the privilege of sometimes using their systems, and I applaud Computing Services for creating such a uniquely user-friendly experience.
As a side note, I'd like to mention that I prepped this post for publication using a workstation at Augsburg College. I spent a lot of time waiting for Windows Vista to stop screwing around long enough to do what I needed it to do. Just to illustrate my point...
- It should be noted that Augsburg's use of Windows Vista is unmatched in all the institutional computer facilities I have visited in the past two years. St. Catherine University, Colorado College, Hamline University, Concordia University, Emerson College, Normandale Community College, the Colorado Springs Fine Arts Center, and the University of Minnesota all (to my most recent knowledge) continue to use Windows XP. The performance advantages held over Augsburg's workstations by all of the aforementioned institutions is amazing. Windows Vista at Augsburg College is run on machines designed for XP, and is abysmally slow when doing just about anything, even logging in/out. [↩]
- I define this as the shortest possible time between entering login credentials and convincing the computer to cough up a Firefox window ready to browse the Web [↩]
- Also, the public libraries in my area have begun having this issue too, much to my dismay. [↩]
“No Evil”: My NET10 Wireless Experiences
Use NET10 and need more airtime? Buy my 2475 minutes on Amazon or Craigslist! Alternatively, contact me with an offer
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 ≈
reMAP: IMAP reConceptualized
Gabor Cselle, the founder of reMail, recently posted an idea for replacing the IMAP email protocol with something with which working would be easier. The proposed name? reMAP, short for reimagined Mail Access Protocol.
He calls for a RESTful design that among other things would globalize message identifiers (rather than changing them the instant a message is moved to a new folder), replace folders with labels (a la Gmail), require the server to handle email search indexes, and make conversations the basic unit of email (instead of individual messages). reMAP would also make handling MIME messages unnecessary; the client could simply call the server with a request for text or HTML message representations without having to deal with parsing the MIME format itself.
I personally am in agreement with his entire proposal. The experiences I've had with IMAP in the past have highlighted shortcomings in a standard that was drafted over 15 years ago. Email has changed a great deal since then, but IMAP has not been revised to accommodate the enhancements made by newer clients and services like Gmail.
If IMAP is to be improved, it's probably appropriate to just completely replace it with something new. If the new system can translate IMAP commands into the equivalent operations in its own protocol, that's even better, because then servers can be upgraded without worries of breaking compatibility with older clients or the need to run server applications for IMAP and reMAP side by side.
There's plenty of discussion going on at the original post and on Hacker News. If, however, you would like to say something here, please don't hesitate.
As a side note, I see that Gabor is using Blogger's FTP publishing option, which will be going away soon. I hope the link will still work when he has to move.
A Thought About Efficient IT Administration
I'm kind of calling out St. Kate's Enterprise Computing Services department in a way, because I want to know why they would schedule a restart-required software deployment an hour before the computer lab is to close.
Can anyone with experience in Information Technology and management of company/school computer networks tell me why the times chosen to deploy new software are chosen? My experience last night of a new software deploy completely disrupting my very limited time on the computer happened at Saint Catherine University, which has a generally great library (unlike Concordia University in Saint Paul, though Concordia used to be greater).
Plenty of people were using the computers, and all got interrupted. Why? Why not schedule the deploy for after-hours and save everyone the hassle? When logging in, the computers at St. Kate's even display a message encouraging users to log off their computers at night so updates and new software can be deployed during off hours. I would define off hours as the times when labs are closed, not an arbitrary time like 21:00 (as was chosen a few days ago for a non-restart-required installation) or 23:00 (as was chosen for last night's disruptive reboot-required deploy).
Maybe the IT staff go home at the usual lab closing time and they don't want to stick around after closing to monitor the deploy. Perhaps they want to have extra time to debug any problems that might crop up before the morning rush. Admittedly, the labs are rather underutilized late at night, but those users there are generally working on something very important that really shouldn't be interrupted. It adds to their stress. Having to wait five minutes for the computer to finish "Applying computer settings..." and "Running startup scripts..." doesn't help frayed nerves.
Having no information on which to base any conclusions, I can only speculate wildly as to why the installation time was chosen. But I know that I was not the only user in that lab that was very frustrated at all the computers being forcibly taken offline for five minutes to install a software package.
I also wonder if it wouldn't be possible to have idle computers install the package immediately, but allow in-use workstations to delay installation and restart until the current user logs off. It seems like that would be much more efficient than having everyone in the room sit and stare at a Windows status dialog for five minutes.
Well, at least St. Kate's and Concordia haven't moved to Windows Vista.
Augsburg College, when I have occasion to go there, has and their systems are a royal PITA, not to mention slow as molasses ("Designed for Windows XP" — the front of every PC tower at Augsburg).
Oh, and even if you're not in IT, I'd still love to hear your opinion.
“Houdini” plugin for WordPress is no magician
I've seen some pretty absurd WordPress plugins show up in the Plugins dashboard widget on this site, but the recently-released "Houdini" takes the cake so far. It claims to prevent spammers from copying the contents of any post or page upon which the [houdini] shortcode is placed.
The fact is the internet is open can lead to theft especially to content stealing and plagiarism.
Until now, there was very little to discourage and deter this serious crime. Yes content theft and plagarism is a crime in some jurisdictions.
You cannot rely on others or the authorities to continue to police the internet as they do not have enough resources. You need to protect your content and deter this theft.
The basic form of content theft is to copy and paste your content to another medium.
Well Houdini, prevents this using a little known special algorithm that prevents copying by making the selected text that is targeted by the perps to be copied, to disappear! Yes disappear!!! The only way to recover is to reload the page in the web browser. If they try again, the content disappears again. As long as they keep trying to select and copy your content, the content will disappear before they can get a chance to execute the copy command!
After a few unsuccessful attempts, the theives will move on to a easier target.
Your safe!
So what can we glean from this PHK Corporation plugin's description, other than the fact that the author has poor English skills? We can most definitely conclude that phkcorp2005 has no understanding of how most copying of Internet content is carried out. As I and others have pointed out many times over in blog and forum posts, copying is usually not done by a person using a mouse to cut and paste, but rather by automated computer programs called scrapers. (For the uninitiated: See these two Wikipedia articles.)
What is left out of that messy, error-riddled description is the word "JavaScript". It is by no means the only word or phrase that should be inserted, but it is the most important. That fifth "paragraph" (the formatting is also very poor) should say "special JavaScript algorithm", which is synonymous in this case with "useless JavaScript algorithm". All it does is wait for the user to try to select text in the browser and clear the selection if any is made. Besides, any copy-protection scheme based upon JavaScript is inherently useless by virtue of the fact that it doesn't do anything to prevent copying. There are tons of ways to get around it. Disabling JavaScript, for example (as mentioned below).
For example, take hatkirby's rant. I quote from that post the list of circumvention techniques below:
- Go old fashioned and turn off JavaScript. Yep, the script is rendered useless.
- More advanced content thieves likely don't just go around to random blogs and copy/paste off of them. They write screen scrapers, small programs that visit sites and download specific parts of the site. As these do not render pages and simply download from them, the script isn't even seen by the scraper.
- Due to the nature of the Internet, anyone, and I mean anyone, can see the source code of a website. It's done differently in different web browsers, but it's always pathetically easy and, as it simply shows HTML code instead of parsing anything, no scripts are run.
- RSS. Syndication feeds are normally viewed in feed readers with little to no JavaScript interpreter. Script bypassed.
- There's this cool little button on most keyboards that says "Print Screen". Even on the keyboards that don't have it, there's usually a key combination that achieves the same effect. It takes a picture of whatever's on the screen. No selection occurs and yet the thief has a copy of your article. They do, however, have to retype it, so this keeps the lazy thieves out.
That's just a smattering of ways to get around the JavaScript inserted by Houdini.
In the face of all the arguments presented, the plugin's author has insisted that the purpose of Houdini is not to "prevent" copying, but to "deter" copying. I don't think that statement holds any weight whatsoever. It still depends upon the copying being performed in a JavaScript-enabled browser by a human.
There's also the matter of just how absurd copy-protection of any kind is on the Internet. Every single document or file anywhere on the Internet must be copied in order for the user-agent (usually a browser in the case of human interaction) to retrieve and display or otherwise make use of the content. This is why it's quite simple for any user to just view the source code of a page. It has to be copied in order to display the content.
Also mentioned in the first (started, chronologically) forum thread is the ability of JavaScript to disable the browser's context menu and thus the "View source" option. That's just as useless as the selection-clearing code, and actually more so because many modern browsers allow specific JavaScript capabilities to be disabled — capabilities like removing or replacing the context menu — as an alternative to disabling all JavaScript. The "View source" option is also present in other places — places such as the browser toolbar's "View" or "Tools" menu — which JavaScript code cannot modify even in the most permissive environment.
Legitimate quoting must also be considered. There are a million and one reasons why someone might legitimately want to copy a few sentences of a blog post. Maybe they like it enough to post a quote to Twitter or Facebook, or perhaps they want to comment on it in a blog post of their own. Content theft is a big problem, but the old methods of periodically searching for and reporting content stolen from one's site are infinitely preferable to this plugin's ineffective method.
Finally, why require the use of a shortcode? Why not just add the script globally to all content pages and forget that stupid "This page is copy protected" header?
At most, Houdini has the ability to add a superfluous <h5> tag to the page and annoy legitimate users with an obnoxious script while doing absolutely nothing to thwart real content thieves. I wonder if WordPress Extend would consider removing this laughable plugin from the directory... Of course, we bloggers would then be denied this ripe opportunity to satirize this particular piece of code.
iPad? Of course I want one, but…

- Image by toykyo via Flickr
Technological progress can suck sometimes. I have wanted an iPod Touch for about a year and a half, to have the ability to play music and games while on the go as well as gain access to email, tasks, calendar, contacts, etc. while away from a computer (but near an open Wi-Fi network). I almost bought one last year, then I got wind of the upcoming third-generation models: more storage, etc. etc. So I waited. Then the Apple Tablet rumors really started in force, and I really don't have that much spare change anyway, so I continued to wait.
And on Wednesday last — yesterday, that is — the bombshell dropped. Apple announced the iPad.
I got the news late in the day, so there wasn't any point in trying to get out a quick post. There's not even any point in posting about its technical specifications or features, since that information is well covered by Apple as well as others and is a mere search away. But I do want to say this: The iPad has very nearly stolen my desires away from the iPod Touch.
Why would I want an iPad anyway? The form factor appeals to me. I like its thin, light construction, and the fact that it's completely mouseless; multi-touch interaction is definitely a win. The keyboard add-on would work to supplement the on-screen keyboard for more serious writing. Of course, there's also the Wi-Fi.
Unfortunately, the iPad isn't at all perfect, at least for what I would want to do with it. Like the iPod Touch and (save for the camera) the iPhone, it has no camera, no multi-tasking, no media card slots (so my 16GB SD card would stay in my camera), no USB, etc. So far as I know, it's subject to all the limitations of the iPhone OS. But for some reason I still want one. Probably the same reason that I want(ed) an iPhone or iPod Touch. And Apple's solution to the lack of ports? Adapters. Yeah. Not the best solution, in my opinion, and it'll definitely keep me from seriously considering acting on this want. (Unlike so many others, I don't really care about the name. I just think iPad is awfully similar to iPod.)
The lack of a camera is really strange to me. With such a sophisticated device, based on high-speed data communication over Wi-Fi and/or 3G, a user-facing camera (at least) would seem to be a natural feature especially since Apple's laptops have included a built-in webcam for a while now. Videoconferencing on a device like the iPad could be really enjoyable, what with the accessories that would probably come out to make it even better. (I would like to see a stand that allows it to be used like one of those communication screens on Star Trek. Geek that I am.
)
As usual, Apple has created an incredible piece of hardware, but has omitted what I would consider to be key parts of a truly productive and useful platform. Just about every consumer electronic Apple produces seems to be focused on consuming media, whether music, video, images, or text. Their more conventional computers have productivity components, and can multitask like any Windows or Linux system out there, but they still excel at media consumption and production. This latest consumer electronic device is, to me, basically a Nokia N900 Internet Tablet with an App Store, no hardware keyboard, and Apple's design flair.
Given the limitations, there's no way I'm going to buy an iPad. It's really a bummer. I'll just have to contain that want, as I have been for the iPod Touch. Both devices are beautiful, amazing pieces of engineering (and it's interesting to note Chris Messina's hypothetical iPad Touch post from 2007, found on Twitter via @damon's timely tweet), but both are too limited and neither would really satisfy my want for a true portable computer. Too bad knowing the limitations of these Apple devices doesn't in any way alleviate my geek lust for them.





