(wish list) the great gulf between Panorama and Mac OS X Address Book syncing

Mark Terry mark at abernackie.com
Mon Feb 4 04:57:54 PST 2008


On Feb 4, 2008, at 12:08 AM, Steve Kane wrote:

> I've got iPhone on the brain (haven't bought it yet).

As reported earlier, I just bought one last week, and that thing is  
phenomenal. My biggest challenge was caving on the Leopard upgrade (my  
strategy  was to hold out with Panther, until getting a new machine.  
That machine unexpectedly turns out to be the iPhone.  ;) It turns out  
Leopard needs *9 Gigabytes* more disk space than Panther (MS Word must  
be in there somewhere.) Making room, and adjusting to loss of Classic,  
were the worst part of the deal.

Apple really has done all the hard work: with iSync, you have all the  
control you need over what ports in and out of Address Book, iCal and  
iTunes, every time you connect, if you like. You can port contacts and  
calendar events into Address Book and iCal from Panorama thru vCards.  
The vCard Wizard will do Address Book stuff. I'm not sure about iCal.

Since I had experimented with porting contacts and events into my  
iPod, I'd developed a similar scheme of my own. For contacts, I have a  
couple markers to designate my core contacts, that I always want  
available. I add to them anyone with whom I've recorded an event  
(call, post, visit, to-do) in the past year, or future 6 mos. A simple  
procedure selects them and exports the text file. Address Book is  
smart enough to recognize duplicates, and treat them as updates, if I  
don't bother to purge it before import. The vCard Wizard will build  
the export file, I believe, once you've selected the records you want.

The calendar is a little tougher. Exporting/importing to iCal is  
simple enough, but, once it's in there, I think it would be better to  
have the data updated thru AppleScript (although you could muscle  
through with import/export/replace if you needed/wanted to). I'm going  
to get after that (if no one else does ;) soon enough. My iCal export  
is below.

One quick note on the iPhone cost: once you get past the purchase  
price ($400 or so) it's really not that bad. My calling plan with AT&T  
has almost identical costs and calling features, minutes, etc. as my  
former plan with Verizon, but it also includes unlimited internet/ 
email access, with good speed, and great coverage. And, for Apple  
people, at least, the design, compatibility, etc. make it a quantum  
leap into increased productivity, punctuated with unlimited  
coolness... it's *almost* fun to work with it. There are some  
drawbacks as well but, so far, it's mostly just fun.

Basic Calendar export is below. Built on ".vcs", which is version 1,  
instead of ".ics" which is vers 2, and too finnicky for me, so far.  
Consider this just a place to start: it creates a file that will  
import into iCal, but needs to be enriched somewhat, depending on how  
you use it.

M

/*
"ApptName"=name of your guy
"EmailAddress" is your guy's email address
"Where"=location, if you want that in there
"ApptID" is a unique identifier for that event
"Reminder" is the name of my Reminder field. (Pan reminder data type)
"Note" is description of the event
*/

local RA,folder,file,prompt
ArraySelectedBuild RA,¶,"",
{BEGIN:}+?(Type,"VTODO","VEVENT")+{
ATTENDEE;CN="}+ApptName+{"}+sandwich(":mailto:",EmailAddress+{
LOCATION:}+Where+{
UID:}+ApptID+{
STATUS:}+str(ApptStatus)+{
DTSTART;TZID=America/Detroit:} 
+datepattern(reminderdate(Reminder),"YYYYMMDD")+{T} 
+timepattern(remindertime(Reminder),"HHMMSS")+{
SUMMARY:"}+ApptName+{"
DTEND;TZID=America/Detroit:} 
+datepattern(reminderdate(Reminder),"YYYYMMDD")+{T} 
+timepattern(remindertime(Reminder)+3600,"HHMMSS")+{
DESCRIPTION:}+Note+{
ORGANIZER;CN="Your Name":mailto:you at youremailaddress
END:VEVENT
}

ArrayFilter RA,RA,¶,
     replace(import(),",","\,")
ArrayFilter RA,RA,¶,
     array(import(),1,";")+sandwich(";",replace(array(import(), 
2,";"),";","\;"),"")

RA=
{BEGIN:VCALENDAR
VERSION:1.0
PRODID:-//abernackie.com//SalesGuy v5//PanV - Provue\, Inc//EN
X-WR-CALNAME:Home
X-WR-TIMEZONE:America/Detroit
CALSCALE:GREGORIAN
METHOD:PUBLISH}+¶+
RA+¶+
{END:VCALENDAR}
RA=replace(arraystrip(RA,¶),¶,CRLF())

prompt="Save as:"
file=".vcs"
SaveFileDialog folder,file,prompt
if info("dialogtrigger") MATCH "Cancel" rtn endif
FileSave folder,file,"iCalttxt",RA



More information about the Qna mailing list