web page hit counter

Tuesday, September 04, 2007

MobileDevCamp Geek Lunch : Portable, Distributed and Parasitic Social Networks

Based on some interest at MobileDevCamp a few of us decided to get together for a geek lunch. You know those unofficial birds-of-a-feather lunches at SXSWi? Yeah, like that. Although it depends on who exactly shows up, the topic will probably involve some practical aspects of building a web service that depends in some way on a social network. Is it better to try to import Facebook (or GMail or whatever) contacts, or chuck your private implementation and just use the Facebook API? How about distributed social networks implemented via OpenID and FOAF/XFN? Too early to depend on for anything except an experiment?

The facebook event page has the details, but right now it looks like this coming Thursday starting around 11:30 at an as-yet-undetermined venue somewhere north of Uptown and south of Addison. In Dallas. Texas. The assumption is that if you're serious about this sort of thing you've probably got a Facebook account. It's probably going to be a small-to-medium-sized group, but anyone actively working in the space is welcome. An RSVP is appreciated since we may need to reserve space.

Labels: , ,

You should follow me on twitter here.

Friday, July 06, 2007

Buddy Icons, Avatars and Profile Images

It seemed like a good idea at the time, but it ended up taking forever to put this chart together. Part of it was getting distracted by the sites themselves[1], both the interesting content and the sometimes frustrating implementations. The various sign-up processes are definitely worth a survey.

The list is pretty random, and consists of some sites I was researching anyway, plus most of Jeremy Keith's sites from his adactio article on social networks.[2] The table has the name of the site, the size(s) of the icons, how the icons are cropped and what terminology is used to refer to the images.

flickr48x48cropping widgetbuddy icon
twitter48x48, 24x24center squarepicture
dopplr128x128, 32x32top squareicon
last.fm160x160, 50x50aspect scaledyour picture
jaiku75x75, 30x30center squareyour photo
anobii48x48center squarebuddy icon
corkd64x64center squarebuddy icon or picture
pownce140x140, 48x48center squarephoto
revish48x48scaled?user icon
ficlets48x48nonebuddy icon
newsvine120x120cropping widgetyour photo
ma.gnolia.com75x75, 32x32aspect scaledavatar
xing140x185aspect scaledyour photo
digg48x48, 32x32, 16x16cropping widgetyour image
librarything207x276aspect scaledpicture
wishpotNx75aspect scaledmy picture
dreamcrowd80xNaspect scaledmy icon

last.fm has a pointer to mypictr if you want to get fancy with cropping. That's a good idea, since apart from Flickr the site-specific cropping widgets were uniformly hard to use.

aNobii allows you to upload an image, or you can give it your Flickr name and it will use your flickr buddy icon. There's an an option to check Flickr for updates once a month. Cool.

revish delights and disappoints. It looks like they make a wild guess that your revish login is the same as your Flickr login and speculatively download the matching buddy icon. It worked in my case. At first I though they were using the Flickr api's findByEmail call to match my email address to my Flickr account (which is a neat idea), but I used a email that isn't hooked to Flickr, so they must just be guessing. On the other hand, if you upload your own icon they scale it without cropping, which is just nasty.

ficlets doesn't even bother with manual picture uploads. They're associated with AOL, so as expected you can use your AIM icon, but you can also point at your Flickr or twitter account (which are, conveniently, both 48x48)

Conclusions? If you're going to use a small image as your primary user icon, then make it 48x48 and give users the option to use their Flickr buddy icon. For extra credit, if you've got an email, use the Flickr API to grab the appropriate icon speculatively (without forcing them to enter their Flickr name). For extra extra credit, poll Flickr once a month for changes to the icon. Don't bother with a fancy cropping widget unless you can make one as good as Flickr, instead just crop the uploaded images to the largest centered square and scale to fit. Point users to mypictr if you think they want to get fancy.

On the other hand, if you want a portrait-style picture on the profile page, 48x48 is too small and the picture shouldn't be square. Give the user the option to upload a picture or let them give a URL that points to a profile picture they like.

If you're not sure how your site will evolve, let people upload whatever they want, and then keep a relatively high resolution copy of it so you can re-scale or re-crop later on. Once you scale down, you can't scale up again.

If you want to leave a comment giving information on your favorite site, I'll try to keep the chart up-to-date. I suspect it will become more important as profile-exchange mechanisms start to proliferate.

Update: If you liked this post, you'll love A Survey of User Profile Fields.

[1] Corkd was especially bad. I felt obliged to fully research my wine before entering it in. Le Cigare Volant led to some reading on Bonny Doon and finally to The Phenomenology of Terroir: A Meditation by Randall Grahm. Some hours later, it was on to other, mostly less compelling, sites.

[2] I was at adactio because of Brian Oberkirch's excellent (if oddly stereo-mixed) Edgework podcast interview with Jeremy. I drive with only one earbud in (under the possibly mistaken impression that it's legal) so I could only hear Jeremy's answers. It was frustrating at first, but I got to kind of like it.

tags:,,,

Labels:

You should follow me on twitter here.

Wednesday, February 07, 2007

DayTripr and OpenID


I'm frantically adding demoable stuff to DayTripr in preparation for Demo Camp Dallas 1 next week. I just finished up a really half-baked integration with OpenID. OpenID is an important part of the "war against the portals"[1], but let's face it, no real user is going to log in via OpenID any time soon. But I couldn't help myself. The uncontrollable urge to implement is a hazard of being a technologist, I suppose. Next up: A Public Content Sharing proof of concept. Equally useless in the short term, equally fun to code. I am a weak person.

[1] Deportalization. Don't like that term, need a new one. Anybody remember Jefferson's Mosquito Fleet from American History class? Never mind, mustn't be negative.

tags:,,, ,,

Labels:

You should follow me on twitter here.

Wednesday, December 13, 2006

Amazon S3

It's about four months late, but this weekend I decided to try out Amazon's Elastic Compute Cloud with an eye towards moving off the hosted server I use for DayTripr. For those living in a cave, EC2 lets you upload virtual machine images to Amazon, where they will be run on Amazon's massive compute farm. EC2 will revolutionize the world, is both a floor wax and dessert topping, and will render traditional hosting services obsolete any minute now.

You'll notice that the title of this post is not "Amazon EC2", however. That's because the Beta program is currently full. Darnit. But to use EC2 effectively, you've got to understand Amazon's Simple Storage System so I decided to spend a few hours playing with S3 as a consolation prize.

I'm eventually do a full writeup over on Distributopia but for now I've just got a few comments:
  • The S3 SOAP interface is largely worthless. Amazon made the extremely dubious decision to go with the long-abandonded Microsoft-only[1] DIME format for SOAP attachments. You can include data in the body of a request, but for big files it's best to use attachments. Admittedly, there's a gaping void in the SOAP world where attachments should go, but still, DIME? Sheesh. So use the REST interface.
  • The S3 protocol is conceptually simple, but uses a custom digital-signature setup that is a pain to get right. So unless you just want to play around a bit, use a toolkit. The Java-based toolkit Amazon provides is incomplete (no permissions API), so use a 3rd party library. jets3t was the first one I tried and I was happy with it.
  • The EC2 instances are not persistent. You get some reasonably large amount of virtual disk space, but it's not absolutely guaranteed to always be there. The suggestion is to ship stuff you want to keep over to S3 (they're meant to work as a pair, and the EC2 to S3 bandwidth is free), but if you're using an RDBMS that presents certain problems. Doing hourly backups and shipping those over is one solution, but a very much cooler one is to set up a distributed file system. The reason this is a totally cool solution it that it lets you finally make practical use of that stupid "Advanced File Systems" course you took back in college. Take that non-computer-science majors.
So, I wait patiently for my turn at the Beta trough so I can port over DayTripr and instantly be massively scalable[2]. I'm looking forward to it.

[1] Ok, so DIME isn't exactly MS-only. I know, I implemented DIME support for GLUE. But it might as well be. And besides, even MS has abandoned it. For those who like pain, here's MTOM, the latest in a long line of misbegotten specs from those lovable professional spec-writers at the W3C.

[2] Not.


tags: ,,,

Labels: ,

You should follow me on twitter here.

Monday, December 11, 2006

DayTripr : Build Something You Want

I started DayTripr because I wanted to use it, and I have been.[1] The most surprising thing so far has been just how soon I forget most of my life. I'm talking trips from last month that it turns out I barely remember. (We went there? Oh yeah! And that other place, too. And I totally forgot that place we saw that we want to check out next time!)

Another fun thing has been reading over pages from other family members (I roped my Dad into helping out with testing) It makes me feel like I'm participating even though we're living 1600 miles away.

That's great and all, but just because I use it doesn't mean anyone else will. There are certainly sufficient technical glitches to be off putting to all but the most dedicated user. So what makes DayTripr special? Why should people use it in preference (or in addition to) the plethora of "Travel 2.0" sites out there? I'm still working out the full answer, but in the mean time, here's a couple quick things I'm pretty sure about:

DayTripr isn't about airlines and hotels. There's an easy stream of money from facilitating reservations, but DayTripr is about day trips, darnit. One day and one day only.[2] By removing about 90% of the focus of a normal travel site, DayTripr is free to focus on other stuff.

DayTripr is evolving to be about people, not about places. Think of it as a personal travel planner/diary that you want to share with friends, not "please rank this hotel on a scale of one to five stars." I don't think the content on DayTripr is going to compare to first class travel writing, but I want the technology to support the sort of personal storytelling that I like to read.

Easy to say, potentially hard to do. I better get coding.

[1] I just finished Karl Schroeder's Lady of Mazes. The book involves how choice of technology affects culture, from the personal level to the experience of a whole civilization. Using DayTripr isn't quite as extreme as total immersion virtual reality, but hey, you work with what you got.

[2] Ok, maybe a day and a half. Why not? But that's not what it's about.

[3] I just made that up. But it sounds good, and for all I know it really is a truism. And if it isn't, it ought to be.


tags: ,

Labels:

You should follow me on twitter here.

Tuesday, November 07, 2006

DayTripr : Mobile Access Trials and Tribulations

Up until a few minutes ago I couldn't have defined "tribulation" without reference to the hackneyed phrase in the title of this post. Enough to get it right on a multiple-choice, but no real clue. Turns out it's your standard Latin "threshing sledge" to French to Middle English sort of thing[1].

There's an early drawing of a threshing sledge there on the tablet[2] somewhere, along with, evidently, some numbers. The tablet was made in what is now Iraq, about 5500 years ago. I'd like to think it's some sort of threshing sledge FAQ. Threshing sledges are still around, although I'm sure the FAQ entries are out of date.

Speaking of ancient technology still in use today, developing a site for mobile phones is turning out to be a trial. The biggest pain so far is the software that takes HTML to phone-speak (there's a twisty maze of WAPish protocols in there.) It has a mind of its own. Like choosing to resize certain images to fit on the phone screen, but only sometimes. (Resizing makes maps unreadable). Then there's the way it breaks pages up, sort of semi-randomly, or refuses to load some pages at all. And the screens are all tiny in different ways.

Enough whining, back to work.


[1] Thanks Merriam-Webster (http://www.webster.com/cgi-bin/dictionary?sourceid=Mozilla-search&va=tribulation) and Bartleby/American Heritage (http://www.bartleby.com/61/67/T0346700.html)

[2] Original image at http://www.hp.uab.edu/image_archive/, but it looks to have been taken from the Dept. Antiquities, Ashmolean Museum, Oxford, UK. The Ashmolean Museum was, according to Wikipedia, built in 1678 to house the cabinet of curiosities of Elias Ashmole. If that sounds cool, you should definitely check out the Museum of Jurassic Technology the next time you're in LA.

tags: ,

Labels: ,

You should follow me on twitter here.

Tuesday, October 24, 2006

DayTripr : Mobile Access

I've added mobile access to the DayTripr trip pages. You could get to the site over WAP before, but you couldn't see the Javascript-based maps. Now any request with a WAP header gets served a special page with a static map image and some link-based navigation controls. To try it out, just visit any of the trip pages using the browser that's built into your phone. Let me know how it goes. If you think it's hard supporting Firefox/IE/Safari/Opera, you should try supporting every kind of cell phone under heaven.

Mobile access to the trip pages isn't really all that useful, but mobile access to the soon-to-be-implemented trip planning pages is going to be a hoot. No more carrying around bulging folders of notes and maps!

So maybe you don't carry around tons of research on your day trip, but I'm thinking it's going to be nice to be able to get to all that info you came across when you were planning the trip during your lunch hour last Wednesday. (A three hour drive and the crab shack is closed for the winter! It totally didn't say that in the review. What about that other place we talked about, you know, the chowder place? Was that around here? What was it called?)

Labels: ,

You should follow me on twitter here.

Monday, October 16, 2006

DayTripr : Soft Launch

I "soft launched" DayTripr on Sunday. There's just enough there for friends and family to start helping with basic workflow testing and building up some initial content. Feel free. Fresh eyes have been spotting lots of problems I never noticed or had gotten used to. It's been a little depressing to find so many issues, but making something simple takes a lot of work.[1] I'm glad I resisted the urge to add more features before launch or I'd never have it all working right.

Within a couple of hours DayTripr had it's first sign up from somebody I hadn't personally invited. I took some log perusal to figure out that they'd found the del.icio.us bookmark I'd added as a convenience for testing on different browser/machine combos. Some further digging revealed this little gem of site.[2] At first I was appalled. You know that feeling you get when you look at your driver's license photo? Then again, I asked for it.

[1] "I have only made this letter rather long because I have not had time to make it shorter." Pascal. Lettres provinciales, 16, Dec. 14, 1656.
[2] http://betamuseum.blogspot.com "Web2.0 Sites Museum". Is it meant as a subtle dig? The "museum" part seems sort of final. There's a cultural gap in there somewhere. On the upside, I've been getting a steady trickle of hits and I've enjoyed reading through the other, uh, exhibits. On balance, I'm flattered.

Labels:

You should follow me on twitter here.

Thursday, October 05, 2006

DayTripr : Monetizing Other People's Work

Guy Kawasaki's recent blog post on Fanpop hit a nerve with me. DayTripr is going to be a site that makes use of "user generated content," but I'm uncomfortably aware of the nasty power imbalance that that can imply. I've pretty much decided that the "we own and/or permanently-licence-for-free-forever everything you do" model is not the right way to go.

Om Malik sums it up nicely:
"...aren’t we seemingly commoditizing our most valuable asset - time. We become the outsourced workforce, the collective, though it is still unclear what is the pay-off. While we may (or may not) gain something from the collective efforts, the odds are whatever “the collective efforts” are, they are going to boost the economic value of those entities. Will they share in their upside? Not likely!"
The argument for a site like del.icio.us is that the minor effort required to bookmark a link is more than offset by the value the site provides. I'm not sure if that would be true for a site like DayTripr (writing up a day trip is harder than clicking a bookmark button) and I've been thinking a lot about what that implies.

There is added value to be found in aggregation and analysis, but raw material needs to be paid for, and I think sites need to pay (not necessarily in money) for the content they're made of. It needs to be something more than gold stars, though.

I'll be exploring some of my (mostly stolen) ideas on how exactly to go about that in upcoming blog postings.

Labels:

You should follow me on twitter here.

Tuesday, October 03, 2006

DayTripr

We go on lots of day trips. Before our daughter was born we went on bunches, and now that she's two, we go on even more. Planning is a pain. I generally spend as many hours planning as I do on the road. There's a lot of good information out there on the Interweb, but it's spread out and hard to find. Traditional travel sites aren't much use, they concentrate on flights and hotels. Chamber of commerce sites have lots of information, but like those day trip books in the "Local" section of every chain bookstore, they're hit-or miss (often out of date and of questionable quality)

I tend to use recommendations from friends and depend a great deal on serendipity (especially write ups in blogs), but I don't always get lucky, and sometimes it gets a little stressful.

Day trips are just different than multi-day trips, and I feel like they've been neglected.

Out of these frustrations (and some really good conversations at Bar Camp NYC 2) is born... DayTripr : The place to plan, record and share your favorite day trips. Well, technically, "will be born". I'm in the middle of coding right now. The site should premier sometime next week. I've got friends and relatives lined up to help with the initial content, but it's going to take a lot more than that to get the site up to speed. I may be asking some of you, dear readers, for a little help. For right now, any feedback on the idea itself is appreciated.

More soon...

Labels: ,

You should follow me on twitter here.