Filed under: Cool tools, Hacks, Tips and tricks, iPhone
iphonelogd logs your calls in iCal
If you haven't figured it out yet, I'm one of those people who loves it when my computer grabs stats on what I'm up to (though I'm not so much on the whole reporting to other companies thing-- I'd prefer to keep my activities to myself). That's why I love the idea of iphonelogd, a little Ruby script that grabs your call history off of your iPhone, and loads it right into iCal as a calendar with a listing of events.Pretty sweet. And while it's great that the iPhone's call history already goes way, way back-- no more getting angry that my phone didn't save the number of the girl that called me last Tuesday-- it's even better to have every call logged in iCal with zero effort. You do have to actually run the script, but with a little launchd tweaking, that is easily accomplished as regularly as you restart your Mac. This is exactly what the iPhone promised-- a cell phone that works as well with your Mac as the iPod does.
[ via df ]

Get a WordPress.com Blog
![TUAW [Cafepress]](http://www.blogsmithmedia.com/www.tuaw.com/media/tuaw-cafepress-promo.png)


Reader Comments (Page 1 of 2)
Marky Mark said 9:39AM on 11-09-2007
That girl that called you last tuesday...that'll be your mom right!
Reply
Florian said 9:55AM on 11-09-2007
Maybe you can post some hints, how to run the ruby script. Thx.
Reply
Figini said 9:58AM on 11-09-2007
Should my iPhone actually be connected to iTunes when running the script?
Reply
SuitCase said 9:59AM on 11-09-2007
What a great idea.
Reply
Chris said 10:03AM on 11-09-2007
ok this is just cool, thats one thing i hate on my old dumb-phone is that the logging of calls is never really complete, and since i get business cars i'd really like a graphical layout of when my missed calls came in and if i can look at a calendar to see it then hell ya!
One question does anyone know if theirs a iPhone app to moderate calls? like to block certain numbers but not others, or to silent certain numbers but not others etc perhaps with scheduling?
Reply
Nathan B Hoffman said 10:09AM on 11-09-2007
Would someone post or point to a tutorial on how to run these scirpts manually and/or automatically?
TIA
Reply
Adam said 10:13AM on 11-09-2007
All I did was unzip the file, drag that into my terminal and it worked. Pretty cool. The only extra step was creating a new calendar in iCal named "Call Log". Hope this helps.
Reply
Nathan Hoffman said 10:35AM on 11-09-2007
Last login: Wed Nov 7 19:43:18 on console
Welcome to Darwin!
XXX-PowerBook-2:~ XXX$ /Downloads/iphonelogd.rb
/Downloads/iphonelogd.rb:36:in `require': No such file to load -- rubygems (LoadError)
from /Downloads/iphonelogd.rb:36
Reply
Michael Jones said 11:09AM on 11-09-2007
Maybe its just me, but I cant get this to work at all. No errors, nothing, just executes then ends. :( Too bad, this would be awesome.
Reply
jack.givens said 11:40AM on 11-09-2007
Works great thanks. I just created a new calendar called "Call Log" and ran the script from the terminal. By changing the name to "iphonelogd.command" you can double click it and have it do its thing from the Finder.
Reply
Steve Most said 12:39PM on 11-09-2007
1 - set-up Call Log Calendar on Mac - then close app.
2 - open terminal on Mac
3 - drag iphonelogd.rb into terminal and run it.
Works for anyone in your address book. Needs Leopard.
Reply
byron church said 1:29PM on 11-09-2007
Great idea !! not very usable yet . It would be a lot more usable as a separate log with incoming and outgoing labels like TreoCallLog
Reply
Fritz Laurel said 3:21PM on 11-09-2007
This is awesome. I love this!
Reply
mr. Obsession said 3:22PM on 11-09-2007
NEEDS LEOPARD = Huge caveat
Reply
Fritz Laurel said 12:53AM on 11-10-2007
BTW, this *might* work on Tiger if you install the Ruby items: Gems, RubyCocoa and SqlLite3. Don't quote me on that as I haven't tried it, but I know Ruby is more strongly represented in Leopard and this script uses those extension. I'm guessing that's why it's Leopard only at the moment.
If anyone gets it to work in Tiger, let the Tiger folks know.
Cheers,
FL
Reply
Glenn Rempe said 2:13AM on 11-10-2007
The easiest way to set this up to run is using "Lingon" which is a free tool that lets you manage launchd entries.
I first checked out the log code to a directory with svn, and then I run the ruby script from that location once an hour with launchd. You can download as you normally would any file and place it on your hard disk where you like and follow these directions as well if SVN is beyond you.
My Lingon settings (update to suite your tastes):
1) org.yourlastname.iphonelogd
2) /usr/bin/ruby /Users/glenn/src/git-svn/iphonelogd/iphonelogd.rb 'iPhone Call Log'
3) 'Run it every 1 hours'
4) save it, and logout/login again or restart your mac
Lingon is awesome, is open source, newly updated for leopard, and can be found here:
http://lingon.sourceforge.net/
And yes this needs Leopard since the Ruby language runtime, the frameworks to integrate it with OS X, and ruby gem libraries are only installed in Leopard now that Ruby (and its friend Ruby on Rails) are now first class programming languages in OS X 10.5. The Apple engineers did a lot of work to integrate Ruby tightly with OS X for this release (WooHoo!). Not sure its possible to run this particular code in 10.4 at all. I think you'll start seeing a lot more about Ruby in the OS X context in the days to come.
Enjoy.
Reply
Peter said 11:16AM on 11-10-2007
This would be great if it can interface the call logs with Daylite3, which is what I have been waiting for all along so we can log calls to our customers.
Unfortunatley there is (yet) still no legal iPhone in Canada as we have to wait for the behemoth Rogers to get around to getting us real cell phones.
Reply
timeshifter said 1:28PM on 11-10-2007
How often do you need to run this? My Recent Calls list only goes back as far as last Wednesday (today is Saturday). I'm guessing that if it doesn't show in Recent Calls on the iPhone it's gone?
Reply
Martin said 1:16PM on 11-10-2007
I am attempting to make this work under Tiger. So far I have done the following:
- upgraded ruby to 1.8.5
- installed RubyCocoa0.12.0
- fixed up readline so irb would run
Then I commented all the iCal stuff out of the script so that I could first concentrate on reading and capturing the log. I did this because the Calendar framework (/System/Library/Frameworks/CalendarStore.framework) is not present in Tiger.
I make no promises since I have to work on this in my (almost non-existent) spare time. If anyone else is looking at this and wants to compare notes let me know.
Reply
Martin said 4:06PM on 11-10-2007
I was wondering about this myself. Does anyone know how the calls list on the sync'd machine is populated? Does it get updated or deleted on each sync? Is there a direct correspondence between the Recent Calls list on the phone and what is saved on the sync'd machine.
Reply