Friday, December 31, 2010

Farewell to Nisus Writer Pro?

Fleeing Microsoft Word, and wary of proprietary file formats, I started using Nisus Writer Express in 2005. Years later I switched to Nisus Writer Pro. It's improved along the way, but import/export remains a real problem. Today I tried using NWP to do a yearly solstice letter. It did a nice job formatting the letter, it even let me create hyperlinks.

When I went to export as HTML however, all I got was text. The images were attached in a subfolder, but not referenced in the HTML. PDF export gave me the images, but no hyperlinks.

I had to dump the HTML ouput text into Word 2007 (Windows, more's the pain) and recreate the letter from the source images. How humiliating.

Nisus Writer Pro is a wonderful product, but they've been stuck for years when it comes to import/export tools. I really need decent HTML export.

It's time for me to try iWork. Then I'll have a really tough choice -- the unreliability of Microsoft Office or the data lock of iWork. Neither choice appeals.

Update: iWork doesn't export as HTML at all. So in this regard it has no advantage over Nisus. I'll wait and see what the expected 2011 version of Pages will include.

Tuesday, December 28, 2010

There are no great task managers for the iPhone - but there's hope for 2011

I'm surprised by the conclusion of my recent survey [3] of iPhone/OS X/Web task management solutions. There are still no great task managers for the iPhone.

Neither Things, nor Appigo's ToDo.app (which I have used incessantly since 2008), nor OmniFocus, nor Remember the Milk.app nor Toodledo.app are a great solution. They all fall short. None of them are the equal of the venerable, simple minded, task manager that came with the PalmOS in 1994 and was improved with integration into DateBk in the late 1990s.

You may wonder why I condemn all of our current options. I'll start by listing the base requirements.

  1. Simple enough for a non-geek to use with at least basic task attributes (due date, priority, task name, description, category [1]) and views (filters, sorts).
  2. Data freedom: import/export capabilities for all tasks.
  3. Synchronization to a desktop or web version that matches the "data model" of the iPhone version and has the same usability standards. [2]
  4. Affordable (total solution costs < $50)
  5. Calendar integration, even if that's only an "agenda" type view of tasks and dates.
  6. Search across all "fields" (attributes).
  7. Utter, absolute reliability.
  8. Instant on, no delays in task entry.
  9. Archiving of completed tasks.
  10. Local iPhone app with synchronizatio -- not dependent on a data connection to work.

Sounds easy, doesn't it?  Palm did most of this fifteen years ago, and Pimlico's DateBk delivered the complete package (and more) over ten years ago. Must be easy [4]...

Evidently not. Nobody does it for the iPhone today. Let me name the failures ...

  1. OmniFocus is too expensive ($100 for iPhone/desktop pair) and is too complex. At a lower price point though I'd seriously consider them despite the complex. I'm an Omni Group fan.
  2. Things has reliability issues, is too expensive and doesn't support data freedom. Their iTunes ratings continue to decline.
  3. Appigo's ToDo.app doesn't have a robust and reliable web or desktop solution and lacks data freedom. The best option is to sync with Toodledo's web app, but that app has a different data model than ToDo.app. This is what I use every day however.
  4. Toodledo's own iPhone/web solution is limited by their complex (and, sadly, ugly) web app. The web app search is field specific and so almost useless.
  5. Remember the Milk has a bad reputation as a business partner, their iTunes ratings are poor (?reliability), they are relatively costly at $25/year, and there's no data freedom. (Corrected from original - see comments.)

It's a sad situation. The best option is still the combination of Appigo's ToDo.app and Toodledo's web service; I pay for both. I do, however, grit my teeth every time I use Toodledo's web client, especially if I need to search for something.

I'm hopeful we'll see a fix in 2011. There are at least three ways the logjam could break.

Apple's OS X app store could reenergize the flagging OS X desktop, and new desktop products might appear at better price points. If Apple were to provide OS X App Store developers with a standard way to synchronize to iOS devices I'd expect a great solution. Alternatively,  Apple could forget it hates its customers, and finally put a bullet through iCal (sadly, will require 10.7). Lastly, and least likely, Jobs might decide he doesn't totally hate task managers after all.

Google might finally provide an API for Google Tasks, allowing iOS client development. Or they might provide HTML 5 (Gears-like) offline Google Tasks web app with synchronization support for Safari. [6]

Lastly, the Omni Group could create a "lite" version of OmniFocus for the App Store and sell both an iPhone and desktop OmniFocus Lite for under $50.  Or some other current vendor will fill out an existing solution.

If we assume an average probability of each of these outcomes of 50%, there's an almost 90% probability [5] we'll get finally get a great iPhone task management solution next year.

I'll raise a beer when it happens.

See also (mostly not about tasks, but all about PIM functions and the amazingly hard Palm to iPhone migration)

- fn -

[1] The big "breakthrough" change to the Palm ToDo (task) list was the radical addition of up to 16 categories. For quite some time Palm tasks lacked "categories" (single tag). The original Palm design team were even more radical minimalists than Apple's modern iPhone OS team.
[2] This is huge. If data models don't match perfectly non-geeks, and even geeks, will eventually be frustrated -- even if they don't understand why they are frustrated.
[3] Looking for a good solution for Emily, and deciding none existed.
[4] I'm being sarcastic of course. One of the hardest things in software development is deciding what to omit. It's the old line about sculpture - great art consists of removing the inessential.
[5] 1 - (1/2*1/2*/2) = 7/8
[6] More likely now that the Google/Apple war is over.

Friday, December 24, 2010

How information leaks on Facebook: a semi-private URL vs. Picasa web albums

This is mundane, but worth noting.

For years we kept some shared family material private by not sharing the URL. It worked, the site was never indexed -- until recently.

I'd shared one of the album URLs on Facebook. That did it. Even though my page contents are shared only with friends, I suspect Facebook indexes any URLs it comes across. Probably most of my friend's Pages are not themselves public, so their view of my post was probably shared.

It's not a surprise that the URL leaked, but it's noteworthy that it remained private through tend years of Google. It only broke when I started using Facebook.

I renamed the URL, so it's secret again. I won't publish the new URL to Facebook, I'll return to sharing by email.

So what about Picasa Web Albums? They are also commonly shared by exchanging a "secret" URL, and I've shared some on Facebook. Interestingly these aren't indexed in Google, perhaps because Google doesn't index non-shared albums.

Thursday, December 23, 2010

Google IMAP and the intractable duplicate IMAP email problem

I've only recently returned to using Mail.app; for a couple of years I was almost pure Google. Since I integrated my personal Contacts across OS X Address Book/MobileMe/iPhone/Google Contacts however I've returned to enjoying the power of a dedicated email client.

Alas, there's a catch. In my time away I'd forgotten the Gmail IMAP to Mail.app sync duplicate email problem. It's not really a Mail.app specific problem, every IMAP client has the same problem.

This is an intractable problem. The standard model for email is that that every message belongs to exactly one folder. Folders can contain folders. It's very much like traditional directories since the days of DOS and well before. (Tree data structure)

Google has a very different model. Google's mail "folders" are an illusion, in reality all Gmail messages are in a single repository. Each message can have many tags, and a single tag can be used for many messages. Each tag is treated in the UI like a "folder", but a message belongs equally to each "folder' (they're just tags).

This is more than a mere "physics" problem -- it's a math problem. 7 != 3, and a tree-type folder hierarchy cannot represent a tag collection.

There are two approaches to "synchronizing" a traditional email application with Gmail. You could make the first tag of an message the "folder" tag, and ignore the other tags. The other approach, which Google took, is to replicate emails. So a single message in Gmail with 4 tags becomes 4 messages in Mail.app in 4 folders.

Of course this wastes space, but space is cheap. Much worse, however, is that it clogs up searches.

I don't see this problem going away - unless Google admits defeat and regresses to using standard folders. For now, however, I'd love to see a program that would go through my Mail.app database and remove all the duplicate emails - even if it randomly assigned them to a single folder.

See also:

Monday, December 20, 2010

Why are my Canon images names with a _MG_ prefix instead of IMG_?

This happened to me a while ago.

My Digital Rebel images started having the prefix _MG_ instead of IMG_.

I figured I'd run by some strange numbering threshhold. It was odd though. Sometimes I'd see IMG_ again ...

It bugged me.

I should have googled it long ago. Photo.net explains - this is what Canon does when you switch from sRGB to Adobe 1998 RGB color space. It's a JEITA specification mandate. I probably see IMG_ when I shoot JPEG instead of RAW.

Thanks photo.net.

Sunday, December 19, 2010

Blogger lives - mobile templates in draft

Last June I put Google's Blogger on the Dead list, in part because of the lack of a mobile template. This morning Blogger in draft offered me a mobile template.

Blogger isn't dead after all.

Wednesday, December 15, 2010

Google apps for our family: now with email monitoring (delegation)

It wasn't designed to support parental control and supervision, but Google's new email delegation function is very helpful (emphases mine) ...

Google Apps update alerts: Email delegation now available for all Google Apps customers

.... Administrators must first enable mail delegation by checking the 'Mail Delegation' checkbox under 'Email Settings' in the administrator control panel.

To enter a delegate, users can select the 'Accounts' tab under 'Settings' in Gmail and click 'Add another account' to enter their delegate's email address.

Once the delegate is signed into their own own Gmail account, they can then access the other person's account from the account selection menu at the top of Gmail....

You can only add delegation accounts that are a part of the Google Apps domain, you can't add external Gmail accounts.

It takes a while for the "account selection" menu to appear. About fifteen minutes after I set up delegation on my son's account a small arrow appeared to the right of my bold email address on the top right of my Google Apps Gmail page.

In fact currently my son does not directly use Gmail, it's just an IMAP service for OS X Mail.app. Only I know his Gmail password. So this doesn't let me do anything I couldn't already do, but it's much easier to monitor his account.

Monday, December 13, 2010

Troubleshooting MacBook wake from sleep problems

Our 3 yo Dual USB MacBook (Intel dual core) is having intermittent wake from sleep problems. It's on a WiFi network and running Leopard - 10.5. On lifting the lid it spins up then hangs with a faint blue screen. There's no cursor.

I haven't found a fix yet, but here's a list of what I've tried [4]. They're listed in the order I'd suggest. Of course the first thing to do with any ill-behaved machine is to check that your backups are good...

  1. Run Safe Mode start, (aka Safe Boot) then restart [2]
  2. Remove share mounts
  3. Login items - remove all
  4. Clean out list of remembered WiFi networks - Network:AirPort:Advanced. [5]
  5. Do not inactivate the ethernet port - even if you don't use it. Delete all Locales. [6]
  6. Disable Bluetooth
  7. Update Flash (or consider removing it forever)
  8. Input Managers - remove all. They are Satan's tool.
  9. StartupItems - remove all from Library\StartupItems and ~\Library\StartupItems if it exists. Do not mess with System\Library.
  10. Onyx: check corrupted preferences, check disk, delete caches including font caches
  11. Onyx: Repair Permissions :-) [1]
  12. Install disk, run disk utility check disk
  13. Reset SMC [3]
  14. Zap PRAM [2]
  15. Run hardware test in loop mode on install DVD
  16. Remove or update any low level software
    1. Look in /System/Library/Extensions for ideas, but dont' mess with /System. Look in Library/Extensions.
    2. Cisco VPN for example - uninstall requires terminal
    3. Retrospect Client [7]
    4. Fusion is another - it loads early. Update it.
  17. Console.app: Look for messages on startup. Unfortunately Console captures a vast number of warnings and error messages even in a "healthy" system.
  18. Disable Safe Sleep (more a Leopard than Snow Leopard option?)
  19. Look for more ideas here: Tutorial: Dealing with Wake-from-sleep issues | MacFixIt - 2006
  20. Reinstall OS X (desperation move). If you're on Leopard, might as well upgrade to Snow Leopard.
  21. Send out for repairs - likely a hardware issue. Bad memory can do this and problems may not show up in the hardware test.

I'll update this post with the eventual outcome. As of this moment I'm trying Permissions [1] and SMC reset (more likely to help) and I'll try run the hardware test tonight in loop mode.

Update 12/18/10: The hardware test worked. The problem is much better. I wouldn't say it is perfect, but clearly some of the above measures helped. The two I'd most favor are "clean out list of remembered WiFi networks" and "reset SMC". I suspect this problem is less common with 10.6 and that, at least with 10.5, there are many contributing factors to "wake from sleep" failure. The fixes I made reduced the frequency, but it will still occur.

By way of comparison, there were NEVER any issues with the pre-hibernate sleep mode of 10.3 and MacOS Classic, but XP sleep mode is completely unusable. (I've no experience with Win 7 sleep.)

Update 6/17/11: This problem resolved. I think it was finally fixed in 10.6

See also:

-- footnotes

[1] OS X has reams of permission related issues. I have never, however, seen repair permissions help with any of them, much less anything else. It always finds things to "repair", but the "repairs" fix nothing. Repair Permissions is the OS X equivalent of a disconnected thermostat. It's there to distract the customer. Still, when all else fails, I suppose it's worth trying. Onyx will conveniently run Repair Permissions.

[2] Safe Boot, loop mode hardware test and zap PRAM all need a wired keyboard. There are terminal workarounds for Safe Boot.

[3] An Apple identified cause of wake from sleep issues - Intel-based Macs: Resetting the System Management Controller (SMC): "A portable Mac doesn't appear to respond properly when you close or open the lid." I have noted that sometimes the green light on my magsafe connector doesn't come on ...

[4] An infamous Discussion thread on MacBook Pro problems is a good source of ideas.

[5] I had at least 20-30 in my machine. I removed every one.

[6] I have done this in the past, but not on this machine.

[7] I had a leftover version from when I used a Win XP Retrospect Pro backup server. I had to find an old installer to safely uninstall this low level app that runs on startup.

Tuesday, December 07, 2010

Picasa web uploader - Google Data Freedom scores

Credit to the data freedom team at Google - the new OS X web uploader can also download albums and even ALL albums - including video.

Picasa web uploader

Does any other free image service allow such easy download of "all albums"? (I pay for extended storage, but most don't)

Sunday, December 05, 2010

Onyx finds a directory problem

Joel Barriere's Onyx troubleshooting utility for OS X is free. It comes well recommended, so when my main machine was misbehaving I tried it again.

This time the Onyx startup test told me I had a drive directory structure problem. I was a bit surprised; It's been years since I ran into something like that. Onyx recommended I run disk utility from my 10.6.2 installer disk.

I was lazy, so I tried safe boot instead. Safe boot won't work with a wireless kb, so I plugged in a wired kb and held the shift key down on restart. Surprised again -- it didn't work! I thought safe boot would run fdisk if it found an error, but I guess not.

So I gave in, found my OS X installer disk, and ran Disk Utility from there. It found a missing directory item and fixed it. The behavior has changed over the years, now if Disk utiliy fixes an error it runs a second time to look for uncovered problems. It was fine, but I ran it a third time because I'm that kind of geek.

I don't know if this had any relationship to my problems. My iMac's screensaver uses images hosted on a Time Capsule external share; for some reason it's been dropping the wireless share and failing to reconnect. This is a pain to debug, because there could be multiple causes and because, even at the best of times, OS X doesn't recover from dropped shares very well.

Still, I'm glad to have found something fixable. I made a donation to Titanium Software. I meant to give $10, but I didn't pay attention to the denomination so I gave 10 Euro (about $13 or so).

I wonder if Onyx will be sold in the OS X App store come January. Since it's always been donation-ware (free) that would probably cause some complaints, but this is a venerable and well regarded utility. Barriere surely deserves some revenue.

Saturday, December 04, 2010

Aperture Projects descriptions and iPhoto Event descriptions - what happens on iPhoto migration?

One of the problems with migrating from iPhoto to Aperture has been that all of the descriptions associated with iPhoto events and albums are lost.

In Aperture 3, however, projects now have descriptions ...

Working With the Project Info Window | Aperture Users Network

The Enter description field is a place to add descriptive text to add to your Project. This is a great concept, which we’ll talk about more in other tutorials, but essentially it’s designed to hold text to describe a whole Project as opposed to individual images in the Project. You can include any information you’d like here, and it’s searchable. For example, let’s say that you were doing a shoot for a client, but you didn’t want to add the client’s name to the metadata of your photos. You could add that to the Project description field and search for that later on.

Aperture 3 projects now behave like iPhoto events, they can be created automatically (fixed 1 day interval, less flexible than iPhoto). There's a good description of the project description field in this support thread. Along the way rwboyer mentions using a one page book template with a large text area for notes associated with project.

This is encouraging. So has Apple finally addressed a major issue with migrating from iPhoto to Aperture? Will event descriptions be saved in project descriptions?

I couldn't find any documentation on this, but it was easy to experiment. I created an iPhoto 8.1.2 Library with an annotated Event and imported that Library into Aperture. The iPhoto Library became an Aperture folder, and the iPhoto Event became an Aperture Project.

After I did this, the Aperture Project description field was ...

...

empty.

I would love to see Apple sued for false advertising when they claim Aperture 3 is a natural migration path for iPhoto users.