Things I Like About San Francisco #1154307965
The dragon flies were out in Delores Park this afternoon.
This blog post is full of links.
#dragonflies/tag/restobook
I was going to work on the e(r)dfg-writer when I got back
from Helsinki, but while I was there I filed the following
under Thinking Out Loud
: I'd like to be able to open
the address book (on my phone) and select a contact and then
use their email address to key into the Flickr
database. If there's a match, do stuff like add their
Flickr homepage and their most recent photos feed as
URLs and store their NSID for future API goodness. If they
have a buddy icon then use that for the thumbnail in the
contact database. From there it's no great leap to imagine a
glorified slideshow application that displays photos for
Flickr contacts in your phone's address book.
Because the address book is still the center of everything.
I have been going on, for years, about how great it is that Nokia has ported Python to their phones but I've never really done anything about it. So I rolled up my sleeves and wrote everything I just described. Sort of.
The tool for merging an address book contact with their
Flickr account works (except for the part on page 60 of the
Series 60 Python API Reference that reads : The following
field types are recognized but cannot be created at present:
) although the
UI is awful. I will release it once it's been cleaned up a
little.thumbnail_image
update: This is almost done but then I saw a presentation on Wednesday night and got a little distracted by another neat idea which I'll write about soon. This one will be released but until you can set a contact's thumbnail image it is a largely pedantic exercise with no magic.
update: fladdressbook 0.1, will fetch and merge Flickr account data for a Series 60 address book contact.
The tool for doing a slideshow for those contacts worked,
mostly, and then got dragged down by the lack of a real
emulation environment for OS X, the inability to do any kind
of useful debugging the moment you create a
Canvas
object and who knows what's really going
on threading weirdness. I would still like to finish it but
I'm feeling a little burned out by it now and it's hard to
get excited about anything that is really just a feed
aggregator. (I opted for polling feeds rather than
implementing the API because that seemed easier and
faster. At the time.)
But I'd managed to do enough hacking to get a feel for how things worked and I started to think about what else I could suck in to the address book. Restaurants seemed like an obvious choice and keeping restaurants listed in del.icio.us also seemed like a good idea. I suppose there are legitimate privacy concerns but to my measure they aren't a big deal and don't outweigh the benefits : Ready-access from any web browser, not having to deal with synching and just otherwise sharing with the community. For example, I spent a lot of time poking around /helsinki and /helsinki+restaurant before I left for Finland and it was very useful.
Okay, everything except for the part about
ready-access. I never did get international-roaming working
on my cell phone while I was overseas and looking up
restaurants, on the web, would not have been emergency
enough for me to suffer the GPRS rates in Europe. Why not
just suck it down and store it locally? At a minimum
having the phone number bolted in to the (drumroll) make a
phone call
functionality would make it worth it. If
you've also got a phone where you can hack away at other
information (hello, location data) then you can start to
have even more fun.
Translation : Please god, make Yelp develop a decent mobile web site.
So, yeah, I wrote the thing to do all of that. It relies on three things :
- All the relevant bookmarks be tagged with
restobook
- All the restaurant-specific metadata be stored in the bookmark's description field. Tags are still stored as tags and accounted for later.
- All the restaurant-specific metadata be written in a bastardized version of RDF/N3.
Here's what the metadata for Quince, a fancy-pants restaurant in San Francisco, looks like :
# Does this look strangely like the kind of thing that Norman Walsh has # been plugging away at for years? It does, doesn't it. He's smart, like that. :address "1701 Octavia @ Bush San Francisco CA 94109"; :phone "415 775 8500"; :yelp "zFxD8QinHt69Bs7M2mgB-Q"; :hours "M-H 17H30-22H00 / F-Su 17H00-22H00";
And this is what the application does with all of my
del.icio.us links tagged with restobook
:
restobook says hello!
---------------------
Reading configs
Testing your network connection
Testing your del. login
Fetching dates tagged with restobook
Fetching posts tagged with restobook on 2006-07-21
Fetching posts tagged with restobook on 2006-07-20
Fetching posts tagged with restobook on 2006-07-18
Fetching posts tagged with restobook on 2006-07-17
Parsing 6 results
Parsing data for Quince
Trying to geocode 1701 Octavia @ Bush San Francisco CA 94109
Parsing data for Bar Tartine
Trying to geocode 561 Valencia San Francisco CA 94110
Parsing data for Bacco
Trying to geocode 737 Diamond @ 24th San Francisco CA 94114
Parsing data for The Blue Plate Restaurant
Trying to geocode 3218 Mission St. @ Valencia San Francisco, Ca. 94110
Parsing data for La Ciccia
Trying to geocode 291 30th @ Church San Francisco CA 94131
Parsing data for Schroeder's German Restaurant
Trying to geocode 240 Front St San Francisco, CA 94111
# At this point, the application actually starts to store
# the restaurants in your address book. When run in debug
# (emulation) mode on the desktop it dumps restaurant data
# to the screen...
Quince (dump) :
--------------------------------
phone_number : 415 775 8500
city : San Francisco
geopostion : 37.788026, -122.427107
tags : french italian resto restobook sf tryme
country : Us
http://maps.yahoo.com/py/maps.py?addr=yadda+yadda+yadda (map)
http://del.icio.us/url/cefa3614ae92b56ad332d525da9cc4e0 (del.icio.us)
http://www.quincerestaurant.com/pages/home_main.html (homepage)
http://www.yelp.com/biz/zFxD8QinHt69Bs7M2mgB-Q (yelp)
hours : M-H 17H30-22H00 / F-Su 17H00-22H00
state : Ca
postal_code : 94109-4326
company_name : Quince
street_address : 1701 Octavia St
--------------------------------
# And so on
Some caveats and notes along the way:
-
The application prompts you to indicate whether posts that already exist on your phone should be merged, ignored or checked one at a time.
-
Update: Version 0.2 allows you to specify optional tag filters for merging. That is, the application will always look for posts tagged with
restobook
but now you can also limit it by, say,restobook
andinvestigate
. Unfortunately, the filtering has to happen on the client side so some of the irritating UI problems involving SSL certificates, discussed below, remain. -
This doesn't actual parse N3/RDF. It uses a really sloppy regular expression. If I haven't been bitten in the ass by it before you, patches are welcome. No, really.
-
There are a couple of del.icio.us-isms that combine to make an irritating user experience. First, there is no way to get all the posts for a tag in a single API call; instead you have to retrieve all the dates for posts with that tag and iterate over the list. This wouldn't really matter except that del.icio.us has also started serving API requests over an encrypted connection using a certificate that Nokia doesn't recoginize. (I am not convinced that there are any certificates that Nokia phones recognize but that's another story.) The end result is that you are asked to approve said certificate on every request. If there's a way to disable this I haven't found it so please tell me.
I'm not sure what to do about this. One possibility is to add an option to restrict updates to only the most recent tagged posts or to only fetch posts within a certain number of days. Another solution would be to just live with it since this is not an app for obsessive-compulsive Internet weenies who want everything updated in real-time.
update: Version 0.2 prompts you to inidicate whether you want to only retrieve the most recent posts tagged with
restobook
(and any additional tag filters you may have defined). -
No, you can not subscribe to someone else's bookmarks as an import option. That is what del.icio.us'
copy
functionality is for. -
Yes, (bastardized) RDF/N3. Deal with it. It's no harder (or easier) than anything else and has the advantage of being more portable. Spend five minutes writing a microformats to N3 parser, bolt it on to the various del.icio.us bookmarklets and then get on with it. Life is short.
-
No, the application is not very smart. It knows how to handle basic stuff like addresses and to recognize certain fields as
special
. For example,:yelp
is interpreted as a unique identier, in their database, and turned into a URL. Otherwise, anyOMGWTFBBQ
;unknown
items are stored as individual notes. I don't like this either. -
Namespaces. Sure, namespaces. Patches are welcome. Did I mention it's not using a real RDF parser? I want to be able to do this too :
# @prefix trans: <x-urn:asc:transportation:public#> . # @prefix resto: <urn:isbn:155022560X> <-- shameless plug for my friend # Sarah's book which has a great set of meta-properties for each # restaurant; I will try to catalogue them in another post resto:Alcohol "Y"; resto:CreditCards "Y"; resto:VegetarianFriendly "N"; resto:PublicTransporation [ trans:metro "Laurier" ];
update: Version 0.2 has a poor man's namespacing. Items that contain a (non-blank) prefix will be grouped together and stored as a single note whose label is the value of the prefix. The note does not contain newlines, yet, because it seems to be impossible to add them through the Python interface. I wait, patiently, to be proven wrong. Some sort of indicator of the note's N3-ness will be added in version 0.3. I just noticed that one — sorry.
-
vCal, recurring events or basically any sort of calendar integration : I am happy to be convinced otherwise but the short answer is
No
. (That kind of integration would make sense for Upcoming, however.)update: upcalendar, a tool for syncing your upcoming.org watchlist with your phone's calendar.
-
It may not be sexy but it's useful. Because the address book is still the center of everything. And the network will never be
always on
.
This blog post is full of links.
#restobookThe Helsinki Diaries, Stardate : 1151915967
Heathrow, the same bloody coffee joint.
It doesn't have anything to do with Helsinki, because it
could have happened anywhere, but the other day I watched a
trio of seagulls fight one another for a stray hotdog. This
seems like a fitting metaphor for contemporary life. Once
the woman who gave me the tour of Alvar
Aalto's house, in
the Munkkiniemi district, and I got to know one
another our favourite past-time was to roll our eyes and
say :
The world was bigger then and smoking wasn't dangerous.
The part where every woman in Finland is beautiful, to the point of distraction, starts to unhinge you after a while. The part where it's still dusk at three in the morning unhinges you right away. After that, it's pretty great.
Hair-metal never died in Finland. The recent concert to celebrate Finnish death-metal band Lordi's victory at Eurovision 2006 brought out 90, 000 jubilant fans. Apparently this was the largest ever gathering of Finns in one spot. The guy at the record store told me people are trying to order Lordi t-shirts for their children.
Basically everyone drinks (beer) anywhere and
anytime. Often you see people carrying a case of very
stubby, by Canadian standards, stubbies arranged in rows six
by two with a cardboard handle. These are referred to as
dachshunds
. On my last night, I saw a leather
case in the shape of an actual dachshund (complete with
wagging tongue) in to which you could place your beers.
The geese look funny in Helsinki, by which I mean they
don't look like Canadian geese. Try to imagine a Canadian
goose with a puffin's head minus the colour. Finland is sort
of like that too. In many ways it feels
like Canada except
for the part where you know it's not. The best line in
the
Complaints Choir of Helsinki (which may be the most
bestest thing ever) : We always lose to
Sweden at hockey and Eurovision.
The city's modern art museum, the Kiasma, is a beautiful space and if the ARS 06 show was any indication they have a better eye for what's going on than most art weenies.
On Saturday afternoon, I saw a guy do an honest to goodness, without a trace of irony, wheelie on his crotch-rocket in the middle of one of the city's main thoroughfares.
People in Helsinki eat a lot of ice cream. I wonder whether ice cream is to Finns what vanitas paintings were to the Dutch : A reminder not to get too excited about the good (warm) times.
I tried to order herring but the first night they were out and the second they were serving it with blue cheese. Everyone in the restaurant cheered when Ronaldo's penalty kick eliminated England from the World Cup. I ate vorschmack. Both Chris and Sampo's restaurant lists are very good.
I have a theory that during the Viking era the Finns sailed to Wales and stole all the vowels. It is the only possible explanation.
It's by the sea. It's hard to go wrong when you're by the sea. It is low key by Big City standards but still perfect for idly wandering around. If there's good coffee I couldn't find it. Nor has Chris who's been there for two years.
The bar on the roof of the Hotel Torni is an excellent place to go for drinks — especially when the sun never sets.
I want to go back during the winter months (when the sun never rises). I want to go to Turku and see the St. Henry's Chapel.
This blog post is full of links.
#helsinki