Sunday, March 23, 2008

Selling a RAZR on Craigslist vs. SecondRotation - the winner is ...

Craigslist beats SecondRotation - handily.

I started our with SecondRotation; I don't like eBay so I didn't bother with them.

This is how the SecondRotation sale went:
  1. Go to web site.
  2. Create account.
  3. Get quote ($50).
  4. Clean out phone.
  5. Find packaging, find drop-off spot, send package.
  6. Wait a week.
  7. SecondRotation says the phone is "locked" and offers to "dispose of it for free".
  8. Request return of the phone.
  9. Wait.
  10. Again request return of the phone.
  11. Wait.
  12. Phone is returned, without much packaging. The box is a bit beat up, but otherwise it looks like what I sent them.
  13. Sprint support says the phone isn't locked.
Now I try Craigslist. For the sake of comparison I sell it for what SecondRotation offered: $50.
  1. Take a picture.
  2. Post picture and description. I include a link to a Google Apps page. That page has my contact info and my LinkedIn profile.
  3. Get six responses within 3 days. I guess $50 was a bit on the low side, but I'm fine with that. I accept the first one and remove the advertisement.
  4. [I'd already cleaned out the phone, if I] hadn't I'd have done it at this point.
  5. Arrange to meet at my office so buyer can switch phone to his number before handing me any money.
  6. Phone switched, I get $50.
The Craigslist experience was much better than the SecondRotation experience -- even if I assume SecondRotation really did think the phone was locked. Maybe it was ... transiently.

Recently I used Craigslist to move a child's play structure and a wooden futon frame from our attic. I'd tried to give them away for years without success, a Craigslist ad got rid of them in days. I didn't ask for money, these were high quality goods I'd been unable to find a good home for. Both items ended up with young families who will get years of use from them.

I'm a Craisglist fan.

The future of the Nintendo Wii - DRM and resale implications

Millions of people buy a Wii, and it works. I buy one (list price) and our 2nd remote won't stay "synchronized" (connected) to the console.

I try not to think about this sort of thing too much. I'm sure it's not personal.

My balky remote means I've had to spend time with the manual. There's a suspicious volume of discussion on troubleshooting the remotes, and on the complexities of using older Nintendo games (example: Classic, meaning modern, controller vs. GameCube controller). Mixed among this is a very brief discussion of how Nintendo's digital rights management works for the "Virtual Console Games".

Briefly, there are three classes of Nintendo games for the Wii system:

  1. Nintendo Wii games shipped on optical (CD/DVD like) discs. Game data is stored either in the console or in optional 2GB SD card.
  2. Nintendo GameCube games - also optical disc based. Game data is stored in 1-2 optional GameCube memory card(s).
  3. Virtual Console: games for NES, Super NES, Nintendo 64, Sega Genesis, TurboGrafx 15, NEOGEO and "more". Game data is stored in the Wii console or in optional 2GB SD card.

The Virtual Console games shipped in various cartridge formats, they now are downloadable and run in emulation environments on the the powerful Wii processor.

It's the Virtual Console games that have the most interesting Digital Rights Management implications. I suspect that a future version of the Will will use this infrastructure for modern games; the current console doesn't have enough storage to allow this.

So let's assume that the Virtual Console infrastructure is the future. What happens to those games when you try to sell a Nintendo Wii?

Page 61 of the Wii operations manual tells us what to do:

  1. Format Wii system memory. This removes downloaded content, but it can still be recovered for free from the Wii Shop Channel Account.
  2. Remove the Wii Shop Channel Account. This removes "records of your transactions and rights to downloaded software".

In other words, to sell a Nintendo Wii, you must first destroy your Virtual Console games.

Ouch.

Maybe Nintendo will figure out a way to move games to a new machine, but there's nothing about that in the documentation. The excellent Wikipedia article on the Wii says:

The SD card can be used for uploading photos as well as backing up saved game data and downloaded Virtual Console games. To use the SD slot for transferring game saves, an update must be installed. An installation can be initiated from the Wii options menu through an Internet connection, or by inserting a game disc containing the updated firmware. As a presently uncircumvented system of digital rights management, Virtual Console data cannot be restored to any system except the unit of origin.

It's certainly interesting to watch how the evolution of DRM.

Update 3/23/2008: See the comments. There may be a way to access the accounts and restore access to the virtual games after selling a Wii -- but it's not well documented. I assume Nintendo will need to figure this out eventually. They'll probably copy whatever Apple does with the iPhone.

* Good luck figuring out which of three classes of controller will work with the Virtual Console Games and the storage relationships to the Wii SD card and the optional Wii GameCube Memory Card. This Wikipedia article tells us that the "classic controller" works with all of the emulation games, but the GameCube controller is almost as good. On the other hand, there are Game Cube games that don't work with the "classic" controller. I think if you don't mind the long cables and you have the Wii console well secured, the GameCube controllers are preferred.

PS. Even when I log out of my personalized Google search, today a brief post of mine is the 2nd hit on a search of "Nintendo Wii digital rights management". Weird.

Update 3/31/2008

An interesting corollary of the Wii DRM -- you really don't want to return a console.
Please do not return your system to the retail store. All of your Wii Shop data, including games and points will be lost. They are non-refundable and non-transferrable. If you don't have a Wii Shop Account and you elect to return your product to the store, you must first follow the Delete Usage procedure described in your manual to remove any personal pictures, email addresses or other information that may be on your system.

Saturday, March 22, 2008

Updaters: From Diff to Whole (and Sparkle)

This TidBITS article brings back memories for old geeks:

TidBITS Problem Solving: Tales from the Sausage Factory: Why Those Big Downloads for Simple Updates?

...And then at the end you have whole-app updaters such as Sparkle, which is what we use (see "Sparkle Improves Application Update Experience," 2007-08-20). The Mac developer community seems to have more or less standardized around Sparkle these days. I'm amazed at how often I open and app and find that it's using Sparkle to keep itself up to date. Aside from the programs where I implemented it myself, I don't recall the last time I saw an application using a more granular updater. Even Apple seems to publish monster updates for their apps. They use more granular packages for updates to the OS itself, but on the other hand there seem to be a lot of problems caused by these which are fixed by re-applying the big combo updaters they put out...

In the old days updaters were pretty small, typically diffs. Those days are gone -- the cost of bandwidth is less than the cost of the problems that arise with anything less than a whole-app update.

In my real job we still use an old data update solution that's basically a diff-type update. Nowadays whole-data is the only way to go.

Aperture 2.01 bug: retouch broken for grayscale images

This is a verified bug -- but it may be limited to grayscale images.
Apple - Support - Discussions - Retouch/Clone problem ...: "I can't get Retouch (or clone) to do anything at all. They act like they're working but nothing in the image is changed. However the Spot and Patch tool will work on these images/files."
I'm using 10.4, but it sounds like this is a bug everywhere.

Update 3/22
: I exported as PNG and reimported and the tool works, so it's not broken for every file format. Then I found the "limit to 1024" PNG export is broken -- it ignores crops. Apple must punish the QA group for finding bugs.

SharePoint 2007 and non-Office documents: didn't Microsoft lose a court case for this sort of thing?

SharePoint 2007 is ubiquitous now. It's eliminated most other document management and "collaboration" solutions in corporate settings.

Office 2007 Word, Excel and Powerpoint documents work pretty well in a managed Sharepoint document repository (library).

Oddly enough, other documents don't work nearly as well. They're very much second class citizens, with an unnecessarily clumsy and error-prone workflow for check-out, check-in, versioning and editing.

Funny how that works.

I thought Microsoft got in a wee bit of trouble for these sorts of games -- once upon a time. Too long ago, perhaps. Certainly nobody in the current US justice department is paying attention now.

Thursday, March 20, 2008

Google's GData OS X cocoa library now iPhone compatible: photos to Picasa, etc.

The "one more thing" reference in this Google Mac blog posting seems appropriate ...

Official Google Mac Blog: New frontiers with Google Data APIs and Objective-C

And one more thing...

The source code for the GData Objective-C Client Library is now compatible with the iPhone SDK as well. Perhaps you want your iPhone software to send photos to a Picasa Web Albums account, or keep a journal of phone calls automatically in Blogger. Maybe your iPhone application accesses a database of information from a Google Spreadsheet or from Google Base. With the Google Data APIs Objective-C Client Library, creating software for these tasks is straightforward.

If you are writing iPhone software, just drag the "GData Sources" group folder from the GData project file into your iPhone project, and use the GData APIs as you would when writing a Mac application. The Objective-C Client Library is an open-source project, so you can find links to the sources and documentation on the project page.

So those 100,000 SDK developer wannabes can now easily leverage Google's entire suite of services with very little extra effort.

Wow.

Wednesday, March 19, 2008

The iPhone SDK-OS is like the Palm OS -- and that's a good thing

When the SDK came out I was bemused to find similarities to the Palm OS world: No multitasking, data access limited to the application's data.

Since then we've learned that Apple's applications do multitask (if I actually owned an iPhone [2] I'd have noted that obvious fact, but I write these posts very quickly) and some iPhone partners (AOL, ?Adobe) will be allowed access to multitasking. For most developers though, developing for the iPhone OS X is rather like developing for Palm OS [1].

Fubo.org has made a persuasive case over the past few days that these are justified and measured constraints given the current state of iPhone development. The articles are well worth reading, but I particularly liked the fine way he concluded his last post:

furbo.org · More brain surgery…

...If you’re still unconvinced, let me ask you one final question: do you want to get IM notifications while you’re making a 911 call?

[1] One developer I read noted that the original Palm OS SDK had a more sophisticated 'wake me when an event matches my entry on the event registration queue' function than he found in the current iPhone SDK.

[2] Gordon's laws of acquisition mean I don't buy until my demands are met ...

iPhoto can't merge Libraries -- but neither can Aperture

What can I say?

Aperture: Merging Libraries confirms you ... can't merge Libraries.

You need to export project-by-project-by-project then import project-by-project-by ...

It's awe inspiring, really.

And now I own this sucker ...

Tuesday, March 18, 2008

Safari 3.1 STILL doesn't work properly - pasting into rich text fields

Safari 3.1 is out, and it's no better with rich text fields than Safari 3.0 was.

When I copy rich text to the clipboard, and paste into a Blogger rich text edit area, it frequently appears outside of the bounds of the text area. If I repeat the operation, it appears repeatedly "out of bounds".

There's no fix but to switch to HTML mode and paste into that text box.

Firefox/Camino don't have this problem.

Very annoying. I think Apple is going for force me to fire up my free developers account and file a bug report. Next time it happens I'll attack a screenshot to this post ...

Monday, March 17, 2008

Vote for the Google Calendar features you want ...

You can "vote" for the Google Calendar features you most want.

Go to Calendar Help Center and click on the "send suggestions" radio button.

On the next screen you can click "Suggest it" for the features you most want.

The one I want, a no-alarm default for appts and a kb shortcut to add/remove alerts, isn't on the list today. Lots of other good things are.

Vote once. Vote often.

Sunday, March 16, 2008

Aperture is still slow

I've ordered Aperture 2.0, but my time with the trial version tells me Aperture is still slow.

It's not the old GPU/rendering story. That's not the problem.

The problem is that Aperture brings up the SBOD (spinning wheel) on very routine operations -- such as deleting images when in "P" (preview) mode. Thirty second timeouts are not uncommon.

These aren't operations that should push any machine. I assume they're related to threading issues with the underlying data storage mechanism.

There's still a lot of rework to be done on Aperture. The 1.0 code base must have been extremely problematic.

Saturday, March 15, 2008

Visible Body - Internet Explorer Only

The Visible Body | 3D Human Anatomy sounded interesting -- but it's XP and IE only.

What a shame.

That's quite odd these days. Once upon a time insisting on IE and XP worked quite well, but I'm not sure that's true now.

Friday, March 14, 2008

Google Apps Calendar fix? Integrating identities.

Only last week I'd hit another snag in our family calendaring project:
Gordon's Tech: Calendar sharing bugs and limitations in Google Apps vs Google Standard

.... I'm running into design limitations and bugs with Google Calendar and Google Apps Calendars. At the moment they include:
  • A Google Calendar has both a "Private Address" and a "Calendar Address". The Private Address enables sharing with a single individual. A Google Apps Calendar has a "Google App Domain Address" and a "Calendar Address". It's likely that Google re-purposed the "Private Address" function to enable "Domain sharing", but that means you can't privately share a Google Apps Calendar outside of a Google App domain.
  • There's an bug in Google Apps Calendar. Under certain operations it gets stuck in a mode where it will only share busy/free information -- even if you enable public sharing at both the domain and calendar level....
Today the problems have resolved, and my Google Apps Calendar now shows the both a standard and a Public calendar address.

I hope Google's fixed the bug(s), but I suspect the unexpected resolution is due to slow propagation and completion of certain changes to Calendar settings. For now, anyway, I seem to have a fix.

Now that I'm moving forward again, I'll recap. This might be useful to someone.

I've described our family calendaring project previously. Using Google Apps to create our eNom administered family domain was easy. That gave each of us email and calendars.

Emily's email has lived on the Google Apps account for months, with IMAP sync from two our Macs and access via Google's Java client for the Blackberry. Her Google Apps Calendar also synchronizes with her Blackberry using an other Google Java app.

That left me as a problem. I'm waiting for the iPhone to meet my minimal demands, so I'm on my second Palm Tungsten E2. That devices syncs with Outlook at home (work is more complex, I'll omit it). Now that Outlook can sync with a Google Apps Calendar my home Outlook is synchronizing with my Google Apps Calendar every hour or so.

Only one problem remained.

I have two primary (and several secondary) Google/Google App identities. One is in the family domain, the other is much older and has a plain gmail.com address. The older one is bound to years of email, Google search results, blogger*, etc. Google now lets me keep a single Google App identity and a single Gmail identity running simultaneously so I can work with both, but it's a pain to have two calendars. Two emails are fine, but two calendars is no good.

Now that's fixed. Here's what I did:
  1. Google Apps: In Domain Management set the limit on extra-domain sharing with authenticated users to maximally permissive.
  2. In my Google Apps Calendar added my Gmail account with maximal control (this didn't used to work).
  3. Set my Google Apps email to forward to my Gmail account -- so I get email reminders.
  4. In my Gmail account cleaned out my Gmail Calendar and renamed it "Don't Use!"
Now I can sync my Google Apps Calendar to my Palm via Outlook, I can quickly add items to that Calendar from my regular Gmail account, and my wife can see my personal calendar and add items to it.

The only minor glitch is that my Gmail defaults to using my legacy Gmail Calendar for event creation, but it's not hard to switch target calendars in the drop down box. The name for my old calendar, "Don't Use", reminds me to switch.

So far, not too bad.

* Google Apps accounts can't join a Blogger blog btw.

Wednesday, March 12, 2008

Travel tool: Mini Surge Protector with USB Charger

I carry one USB charger and a simple extension cord in my bag. This Belkin product is a sure thing for my carry-on bag:

Belkin Mini Surge Protector with USB Charger - The Unofficial Apple Weblog (TUAW)

....stylish surge protector power strip looks like it would be right at home in any mobile Mac user's bag. It includes two powered USB ports for charging iPhones, iPods, and the like, as well as three AC outlets...

...The Belkin Mini Surge Protector is "coming soon" for $24.99.

The Belkin site mentions a "360-degree rotating plug with 4 locking positions". I assume the plug fully retracts.

This is a great boon when fighting for an airport outlet; most travelers will gladly relinquish an outlet in favor of the protector. My only change is that I'd like to see it ship with a 6 inch extension cord, I'll look for one that would fit.

Saturday, March 08, 2008

Calendar sharing bugs and limitations in Google Apps vs Google Standard

In honor of Google's Outlook synchronization I've been synchronizing my personal Outlook/Palm calendar to my calendar on our family site. (Corporate Outlook sync to Google Calendar is, regrettably, an unfair bending of corporate rules.)

So far, not too bad. I've done multiple personal Outlook/gCal syncs and one Palm/Outlook sync without duplicate events. So far.

Unfortunately, I have multiple Google identities. So I need to be able share a calendar between my primary (older) Gmail identity, which binds all my personal email and my primary blogs, and my family domain identity.

That's where I'm running into design limitations and bugs with Google Calendar and Google Apps Calendars. At the moment they include:

  • A Google Calendar has both a "Private Address" and a "Calendar Address". The Private Address enables sharing with a single individual. A Google Apps Calendar has a "Google App Domain Address" and a "Calendar Address". It's likely that Google re-purposed the "Private Address" function to enable "Domain sharing", but that means you can't privately share a Google Apps Calendar outside of a Google App domain.
  • There's an bug in Google Apps Calendar. Under certain operations it gets stuck in a mode where it will only share busy/free information -- even if you enable public sharing at both the domain and calendar level.

So I can't meet my primary goal -- of keeping my sync'd Family Domain Calendar private while enabling read-write access to it from my personal Gmail account (outside the family domain).

Even the private address functionality of the standard Gmail Calendar has a pretty limited set of functionality:

Note: the private address was designed for your use only, so be sure not to share this address with others. If you want to let others view your calendar, we recommend that you share your calendar's public address (or "Calendar Address") with them. If you accidentally share your calendar's private address, click on the "Reset Private URLs" link to regenerate your calendar's private address.

Google does have certain cultural limitations -- there's such an institutional bias to openness that they can't seem to get their heads around access controls.

I may experiment with flipping things around. Maybe I can sync my personal Outlook account to my Google Standard Calendar, and then share that Calendar within the family domain.

3/15/2008: I tried again today and from my Google Apps account I can now share the calendar with full privileges to my Gmail identity. From my Gmail identity I can now edit the calendar. Is someone from Google reading this blog?! (I presume the fix is coincidental, but ...)

4/24/2009: I've just run into the same od bug again. My Google Apps account was set to allow sharing only in the domain. I created a calendar in my owner/admin account. I then changed sharing to allow non-domain shares. I couldn't then make the calendar accessible. I tried various tricks as described in comments such as trying to make the calendar universally editable, etc. After a half hour or so of playing around I found I could create another calendar in the same account and that one was shareable. I then returned to the primary calendar and ... that one was shareable too.

I don't know if anything I did made a difference. Maybe it just takes an hour or so for sharing changes to really take effect. Clearly Google hasn't fixed this problem in the past year.