9.9.9

| | Comments (0) | TrackBacks (0)
It's not that I'm dead or anything. But yes, I shut my virtual mouth, while trying to keep the eyes wide open. Turns out that, surprise surprise, quiet comes at a price: you can't have signal without some noise.

Enter WakeMe.At

| | Comments (0) | TrackBacks (0)

Following last week's exciting news about the launch of FireEagle and the consequent wave of new interest in location base social networks (like brightkite) I think it's definitely time to come to terms with rough edges and introduce you to what has been keeping me busy for a few weekends in the past season.
Started just as an exercise to learn the FireEagle API, it evolved rapidly due to early feedback, fun and personal curiousity into what is starting to look like a full fledged application. Well, at least the stem of it. Now, to push it one step further, it needs to meet real people. So, without further ado, enter WakeMe.At.

What is WakeMe.At?

While trying to explain the idea to friends, a number of possible definitions emerged
* a location centric taskmanager
* a distributed, serendipitous travel guide
* your ubiquitous sticky notes
* a tool for collaborative local action

Ultimately, you can imagine WakeMe.At as a blank canvas where to doodle with four data brushes: where you are, where notes are, their relationship with you (through your social network), and the media through which you like to be notified.

Also, WakeMe.At is a provocation into try and think differently: it invites you to start mapping your tasks instead of listing them, and it hints to the possibility of sharing them with your friends and find out that they can be carried out in a more eco and time-efficient way by the group rather than the individual.
Incidentally, it also made me notice how the modern cities are built around the concept of personal tasklist, more than on collaboration/communication model.

Why should I care?

Strictly speaking, you don't have to, at least at this stage.
BUT, you may be interested in playing with a new way of asynchronously exploring the space around you, or share notes and actions about places or events with your friends.
Also, if you are enjoying location based services already out there, like iamnear or brightkite, chances are you already have got an idea of the possibilities that location aware tools unveil.
Finally, from a beta oriented point of view, you may instead be interested in being involved into the development of something slightly different from the usual "show me who's around and I may be friend of", help me build a proper enabling web service, and enjoy waves of funny little bugs.

How does it work?

WakeMe.At tracks your position, either through manual updates or your FireEagle account (if you have one). From the site, you can then place memos on specific places (you can identify a place through its address or by using an interactive map).
A memo can be of two types: a note or a todo.

Notes

Notes, like their tangible counterparts, are used to describe the qualities of what they're attached to (in this case, a place).
You can use a note to remember the opening times or the sales going on in a shop, an anecdote about a monument, or a particularly awesome spot to watch fireworks.
You can share notes with your friends, make them available to the public, or keep them for yourself.

Todo

Todo are tasks that, in WakeMe.At, are bound to a place: of course this includes shopping lists that needs to be triggered whenever you get close to your local market, but also reminders about that exhibition at the museum that is going to end soon, or the travel card you need to renew at the train station.
As for notes, you can share todos with your friends (they could help you with your shopping or may be interested in the exhibition too!), make them public or keep them private.

One of the trickiest parts of building a location based service is that you probably want to be able focus on your physical context rather than having to continuously check the website for notes and todos. This represents two separate technical challenges: asynchronous location update and notification:

Location update

Of course users can update their position from the website, but in order to provide maximum flexibility, WakeMe.At also integrates with FireEagle. This means that, if you have a FE account, you will be able to update your location through a wide range of different ways (some examples include brightkite, dopplr, N95, iPhone...), and WakeMe.At will periodically check and mirror your updates from there, wether you're actually logged in the website or not.

Notification

While the web interface represent the most complete user experience, you can choose to be notified of nearby memos through different media.
This way we think it'll be easier for you to keep track of your notes and todos while on the move.
For the time being, you can choose to be notified via email and/or Twitter.
Sadly, Twitter just announced that they disabled the Direct Message to SMS feature from their UK phone number; pity, it was the perfect catch to receive notifications directly to your cell phone. I covered the subject slightly more here.

What's missing, and where to go next?

WakeMe.At is in its early days, you can call that alpha, beta, or just say it still needs a good deal of adjustments. I'm aware of that and will try to fix them in the near future, based on feedback and time (which is always an issue).
What follows is a list of my main areas of concern at the moment. You're more than welcome to help me on any of these :)

Design

As you'll notice by heading to WakeMe.At, the site doesn't have a real style of its own yet. There are some ideas, of course, and I believe it's ok to show its goals and the leading principles behind it, but it's still lacking a proper IA and visual design.
The current general architecture is heavily inspired by Dopplr, which I consider a true source of inspiration when it comes to "proper" design, but since the two sites don't address quite the same question, I think we'll have to move away from this layout soon and find a better fit.

Mobile

I'm working on a stripped down version of the site, that will be helpful essentially to consume data from a mobile device. This needs still some work (and some test), but should be available pretty soon.

Seamless experience

Currently, WakeMe.At does a pretty good job in trying to guess your location and deliver notifications, but the experience as a whole is often less than fluid.
I reckon there's a lot of room for improvement in designing an interaction that feels more "natural".

API

This is something that's on its way: WakeMe.At is built as a RESTful application and pretty much all the data is thus accessible and manageable already. There are a few missing bits though, especially access to data via JSON, application based authentication, like "OAuth"http://en.wikipedia.org/wiki/OAuth, and some nice documentation that explains it all.

When can I join?

NOW! Even if formally WakeMe.At is in "closed" beta (or should I say alpha), I'm eager to get a little more people on board to see if it just blows off or not.
So, if you're interested, head to this page and request an invite; it should come to your mailbox pretty soon!

A big Thank You

Last but not least, I'd like to thank the small group of very special people that helped in testing wakeme.at so far. Strictly in order of appearance in the database: simbul, amitkoth, tomtaylor, folletto, phauly, kurai, feba (who also kindly reviewed this post), margotmood, gianchan, abeggi (bugspotter supreme)

Planning ahead

| | Comments (0) | TrackBacks (0)

In exactly one month this blog will turn 6. Now, this last couple of years especially the activity here has been less than frenetic, but just because my digital "public" life has been scattered on a bunch of different channels (on the other hand, RSS followers of this blog had the privilege of experiencing an aggregated perspective ages before FriendFeed ;) ).
Anyway, the thing is, this year I'm planning ahead: last week I updated the MT engine that powers these pages, and yesterday I spent an hour or so simplifying the templates and experimenting a bit with the publishing profiles to save some CPU cycles (I'm still hosting this blog on DreamHost, and the amount of computing power dedicated to the the perl interpreter was somehow embarassing; now it should be less demanding).
I'm also considering following Tantek's example and moving the comments to somewhere more social, like Pownce... but I'm not getting that much attention anyway so maybe that can wait.
Oh, and finally, right now I finished processing all my news feeds. First time in at least one year! :)
rss_inbox0.png

I've also collected so many notes in causal media that just don't fit into any digital one but blog posts (or anything with a longer/wider perception coverage, like articles, but I ain't no journalist): events, for example - interesting 2008, reboot, frontiers of interaction, just to name a few. I'll have to put those notes, at least the valuable bits, somewhere before they get blown away by disturbances of various sort. I don't care that much if they're not "hot" anymore, I just don't want to loose them.
The other question is where to put things: I still like the idea of keeping the geek stuff separated by the more abstract stuff, which means that in the planning ahead I shoud also take into account the time needed to feed, and then give room to, both sides.

more and more often, in the past few weeks, I found myself in the odd condition of having something to say and that I feel "appropriate" for this place, and yet it was the place (blog) itself that didn't feel "right" anymore. People changes over time, fashion and voices change over time... and I suppose there are times for a blog to follow the same route.
So when on saturday morning I discovered that all the files I had hosted on DreamHost where gone (only temporarily, as I gladly discovered later in the day), I decided to devote part of the weekend to start renewing the image of codewitch.org a bit.

Before continuing, let me say that I still haven't achieved all the goals I'm looking forward to, but since I don't know when I'll have more time to work on this, I thought it would be better to start sharing my considerations and plans now.

I chose a few guidelines to work with:
. "simple, informal, practial" layout and typefaces
. try to reduce the number of interactors "aggregating" where possible based on task
. give the reader the opportunity to figure out (and possibly experience) the context that originated one entry, leveraging on the life stream data (the aggregated list of events collected from other points of presence on the net, e.g. flickr, upcoming, twitter, del.icio.us)
. provide, where possible, different layers or zoom factors to consider the website content from.


Clean layout and typeface

This was the easy part. I started from the nice cutline theme, recently ported to MT4 by Byrne Reese, added a custom header and helvetica-fied all of it.
I also dramatically reduced the line height, that gives me agoraphobia everytime I look at Cutline blogs. I'm still not happy with the entry metadata line, maybe I could stick it all on a phantom left column, or maybe I could just get rid of it... we'll see.

Reducing Interactors

This blog usede to have an ajax powered search tool.
Now, the search has been disabled, mainly because I don't trust perl CGI performance on Dreamhost and because, let's face it, Google has all the answers: personally I grew so addicted to its pervasive assistance that more often than not, seconds after landing on a webpage looking for something specific, I hit cmd-K and refine the search from there without even looking for an internal search widget. Moreover, as you may notice from the elsewhere column, my data is more and more spread all across the web in a series of vertical silos, thus a "local" search is less and less relevant for an "identity" blog such as this one (identity being very different from meaning personal, but this is a long story).
So the bottomline is that search (maybe google powered) could make it back, but it's lower priority (unless somebody starts screaming out loud, that is).
Archive navigation is another interesting issue: it would be nice to provide a consistent metaphor for category, date, and possibly tag oriented navigations.
In the latest version of this blog there were "select" fields to navigate through category and monthly archives. Tags were browsable through a tag cloud.
Now, tag cloud remains an interesting metaphor for tags, provided that the tagspace is kept reasonably healthy. This means pruning the dictionary, creating clusters, renaming tags to cope with the evolution of the language or the conventions... and I can't see that happening easily (at present, this blog defines 673 tags). As for monthly and category archives, categories of this blog are a lot more than necessary (partly because this blog predates the tag era) so in a perfect world I should refactor them back to a manageable 4/5 headcount; this would make the "select" navigation option pretty useless (actually unconvenient, since the 4/5 pretty determinant category names will be hidden in the select). Time can't be refactored though, and this blog has more than 5 years of archives. Even if not all months have entries, there is still a considerable amount of voices to consider, so much so that the select field could be less than ideal.
So I was thinking of experimenting with a normal list for categories, paired with a similarly styled accordion based navigation for the dates. This should grant (at least in this phase) a good balance between visible information and effort required from the reader.

This is going to be it for today, next: context through lifestream and zoom factor.

While I make myself at home in this newly installed MTOS backend (I know, the blog layout still looks the same... babysteps ;) ), I wanted to share this little trick that is maybe public domain but personally never realized until tonight...

As you know the Internet is a noisy place. Part of this noise is "visible", and is made by you and me, hyperjumping from one website to the other, leaving comments on site, writing our own blog, buying stuff on Amazon, searching google.
Most of the traffic on the net though goes unnoticed and is made by robots. Now there are good robots and bad robots. Good robots tends to behave so we're not concerned by them now; bad robots tend to either be there to spam, steal or hack into your website.
Usually there are pretty clever exploits to achieve these goals, but I find very enlightening to study even the magnitudo of damage they can bring just by being noisy.


Let me explain: it happens that I had a pretty old application that's been running fairly good for the last few months, out there in the wild, until the time, a few days ago, when it started receiving more and more traffic.
The traffic was of the "let-me-try-and-use-you-as-a-proxy" type, but even if that specific attack was blocked, an interesting side effect emerged: the session table (where temporary information about one interaction between the user and the site is kept) got quickly polluted and started growing at a scaring pace.

Now, if you're used to create web application, one of the basic tricks, together with caching the hell out of the website, is to disable all sort of unneded "user specific" data gathering. Here, for instance, there's a very good post on the topic, and on how to conditially enable sessions in parts of the site. What the post doesn't make clear (or not clear to me, that is) is that exceptions will still trigger the creation of a session. This happens, in other words, when the application can't map your request to an existing resource (action, file, image or other). Guess what, the spammy internet noise we mentioned earlier does exactly that.

If you're on Rails, one solution appears to be disabling session application-wide (even if you need them in all controllers) and then re-enable where needed. The post on Errtheblog has clear examples of how to do that.

Well, enough for this thursday night.
P.S.: MTOS indeed feels pretty sleek.

I kind of saw it coming, when google integrated gtalk with reader without letting user opt out, a couple of weeks ago. Anyway, apparently there's a wave of angst rising now at the claim that, by doing so, google ruined Christmas. Meh. Personally I agree with Michael and his "Give me a break", but yes, giving users the option to choose would have been wiser. Now don't get me wrong, I'm totally for syntactic (or interface, in this case) vinegar to "facilitate" the correct use of a tool, but there's a (not so subtle) difference between not giving me a keyboard shortcut for "trash" items in gmail and exposing all the stuff that I decided to share counting on the fact that:
page is accessible to anyone who knows its address, so all that's left to do is to let your friends know about it.
Security through obscurity is by far not the best practice, but certainly you can't blame the users for adopting it, nor you can pretend that what was shared before under that context is still perceived as "sharable" with the new push behaviour. This is also one of the issues I was pointing out and trying to solve through the Social News Reading concept: enabling people to choose who to trust and to empower with their own share of attention. Among other things that I appreciated under the xmas tree, the long awaited open source version of MT (that actually came in a few weeks ago, but I had no time to play with it so far) and, right on the xmas day, Ruby 1.9, that promises, among other things, to considerably speed up things. Now I should put those to good use to bring this website back to the techie edge it belongs... ideas are never a problem, time often is, but I still have some holidays and only a bunch of social events... ...like the SnowBall, that started as a dinner between old friends, and turned overnight in quite a massive event, considered the time (28th of december) and the place (somewhere in northwest Italy). We plan to eat well, drink better, have some inspiring conversations and, if anybody cares, maybe play a round of werewolf or the like; so if you don't have better plans stick yourself on the wiki by tomorrow morning and we'll try to add a sear for you. Oh, mind you, the snowball fight will probably have to be rescheduled, due to lack of snow itself... Update: Google promptly replied to the feedback mentioned above and adjusted reader's behavior according to that. Cute.

More than one year passed since BlogTalk, where I gave this speech about Social News Reading.
The idea was not new indeed.

However, nothing much happened in the past 12 monthes along this route: blogs are still growing steadily, new forms of user participation (e.g. twitter and facebook) became mainstream, APIs and standards are emerging both for managing digital identities (like the recent oAuth) and social networks alike (like google's OpenSocial or sixapart's elsewhere I'm)... but people still read feeds essentially in the same way as before. Feed reading is still a lonely experience, like fishing with line and hook; friends and fellow fishermen can point you to places known to host the richest schools, but finding, extracting and processing the good is still up to the individual. Well, I'm interested in exploring the concept of introducing nets, trawls and active cooperation here, moving from sport to commercial fishing, that is.

Recently there's been some effort (namely feedhub ) to algorithmically determine the subjective relevance of memes and conversations across the net... but I can't say I'm happy with it and here's the short version of why:
1. because the algorithm knows my "sources" but it doesn't know me: the reason why I'm interested in a specific topic at a given time will inevitably vary too fast or too randomly for the algorithm to pick up and adapt to.
2. because for the daily dose of mainstream entertainment, I already have Boing Boing and Techmeme, and they do quite well: they contribute to create that common knowledge texture that underlies conversation with my peers: if it's not signal, it's familiar noise.
3. it doesn't know about my social network. I subscribe to a lot of blogs: most of them are friends I like to be able to quickly sync with from time to time, plus they're on average more clever than me and occasionally come up with a brilliant connection; others are trendsetters and pundits that most of the time brag about pop topics (or themselves); others are rebloggers and nanopublishers specializing in some area of research or practice. From time to time, a sparkle bursts here or there, resonating across the network (often under disguised form) creating a chord. That's the kind of signal I'm interested in.

So I think that feedhub, like other human-driven (digg) or algorithmic (techmeme?) efforts before it, is great for picking up the general buzz and feel, even from a very customized perspective as feedhup promise, but they'll fail when it comes to extracting contextualized value (i.e. something useful to a specific goal).

Whoops, it wasn't that "short". Sorry.

Since I already invested enough of Your (and my) time with this post, I'll close it here, but expect some news on the SocialNewsReading front here soon :)--

MT and mod_perl 2

| | Comments (2) | TrackBacks (0)
Just had to push movable type onto an apache2 / mod_perl2 box. Just for testing, so the main aim was not performance, but just having the bloody thing work. Well apparently mod_perl 1.xx is supported, while mod_perl 2 is not. Now I'm sure there are more elegant ways to tame MT in such an environment (and actually I would appreciate if the lazyweb could point me to them, since google is of little help), but if you have no time and are in desperate need of a quick hack, this may help: just go to your .htaccess and add
SetEnv MOD_PERL ''
that will bail MT out of the mod_perl environment. Make sure also you don't have the handler set to perl-script.

5

| | Comments (2) | TrackBacks (0)
This blog is 5 years old today.

The long goodbye

| | Comments (0) | TrackBacks (0)

Six months and one week. My last post on this blog was written right before LIFT conference in Géneva.
There, speaking with Martin, I just came to the conclusion that the image that was projected by this website was not anymore resembling the man behind it.

Masks and characters gain power and weight while you play them, until the point where the filter is just stronger than the signal. So, as 4 years ago, I put the weblog on a hiatus while taking the time to explore other voices.

These above were focused mainly on social events, thoughts and the neverending stream of consciousness.

However, the present blog has always been the best place where to keep track of geeky/techy achievements, and in these months I had the chance to realize how much of my personal learning path follows the way of technology and design. So here we go: a new post and maybe a new, gentler, stream of more focused journal of experiences.

Without further ado, since february life moved on quite a lot, so let's try to summarize how my context changed through the main points below:

Research

In the field of media, last year has been dominatede by McLuhan theories and (critical/smart) mass effects... while in these last months I've been focusing more on niche, interactive media like virtual worlds (particularly WoW and Second Life) and games and learning (forgive me if I don't use the edutainment word).

In the realm of physical spaces, while last year I tried to fill some of my huge gaps in architecture, nowadays I've been exploring object interaction (and in particular identification - barcodes or RFIDs, hardware hacking - arduino, and fabbers)

Social bla bla bla

On the events side, last year has been definitely a BarCamp year for me. 

This year, especially after the amazing RItalia experience, I've had a chance to reconsider the the interaction between tools (like BarCamps) and the people who use it: it's not (only) the people nor the tools that make the difference, you need both (yeah, basically you need the people, then the tools help in actually make them do something).

And speaking of tools, this year I've been definitely blogging less and enjoying network oriented social media like facebook and twitter more. And no, wait, this isn't exactly what was happening before: I spent years on deviantArt and Flickr, but there you needed an excuse (photos, in these two examples) to act as both a magnet and expedient to trigger the conversation. Facebook, Twitter... well, they're just about it: the ties that binds.

Last but not least...

Adding contrast to the lifescape (or of the importance of sending clear messages... to yourself, first and foremost)

I'll not explain this in depth now... but essentially this year has been a lot about letting go of sophistications. I know that my very argot doesn't suggest that but... well, bear with me for a while, I'll try to prove it :) and embracing a sharpened view of life.

For now, I'll say that I tried to switch from being serial mover to being a full time nomad, so that (maybe) eventually will understand and appreciate the settlers.

Similarly, I stepped from being a devsultant to dive into fulltime, bleeding edge hard-coder (and having fun doing it, thanks to Rails) so that will eventually slingshot back into a more defined consultantdom.

Well, that's all folks... stay tuned!

Find recent content on the main index or look in the archives to find all content.

Recent Activity

Friday

  • Bru tweeted, "lost in transcodification"
  • Bru tweeted, "liking the ramen profitable concept. http://bit.ly/13Epvo"
  • Bru saved the link Artissima, Turin's contemporary art fair
  • Bru tweeted, "dear @penguinbooks, I just unboxed The Original of Laura. Now, that's a bit over the top."

Thursday

Wednesday

Tuesday

Monday

Today

Friday

  • Bru tweeted, "digikey goodness arrived. now waiting for #sparkfun. c'mon..."

Pages

Powered by Movable Type 4.25