<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1351332971081386851</id><updated>2011-11-24T05:06:08.963Z</updated><category term='feeds'/><category term='mobile'/><category term='openid'/><category term='nexus'/><category term='url shortening'/><category term='admin'/><category term='workflow'/><category term='web'/><category term='vacations'/><category term='books'/><category term='DIY'/><category term='secure'/><category term='full screen'/><category term='hacking'/><category term='art'/><category term='algorithms'/><category term='mashups'/><category term='browsers'/><category term='home'/><category term='www'/><category term='www2008'/><category term='applications'/><category term='accessibility'/><category term='iphone'/><category term='slowdown'/><category term='shell'/><category term='rss'/><category term='thoughts'/><category term='todo'/><category term='services'/><category term='opendata'/><category term='wie'/><category term='aggregator'/><category term='canada'/><category term='codebits'/><category term='sniffing'/><category term='work'/><category term='usability'/><category term='travelling'/><category term='update'/><category term='rant'/><category term='mashmeup'/><category term='broken'/><category term='future'/><category term='gtd'/><category term='user experience'/><category term='idea'/><category term='research'/><category term='vacation'/><category term='overload'/><category term='www2007'/><category term='pt'/><category term='rants'/><category term='ux'/><category term='googlecode'/><category term='offtopic'/><category term='meta'/><category term='SheevaPlug'/><category term='social networks'/><category term='web2.0'/><category term='unix'/><category term='w4a'/><category term='identity'/><category term='playground'/><category term='html'/><category term='weekly'/><category term='whit.me'/><category term='scientific writing'/><category term='fun'/><category term='conferences'/><title type='text'>Rui Lopes' blog:ground</title><subtitle type='html'>thoughts on Web user experience</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rlopes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>50</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-2242511323036314611</id><published>2011-10-02T03:22:00.001+01:00</published><updated>2011-10-02T03:22:25.599+01:00</updated><title type='text'>I Love the Web. Or how the Web changed my life, forever.</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;  &lt;p&gt;It was circa 1996 that I started interacting with a new medium: the Web. By then, images were already woven into the fabric of Web sites, which resulted on a rich experience. Hours and hours were spent browsing, jumping from link to link, very close to the way thoughts spread in a brain. I was in awe.&lt;/p&gt;  &lt;p&gt;And then, something magic happened. Right-click, view source. My life changed forever.&lt;/p&gt;  &lt;p&gt;I already had some experience with computers and programming, since the early age of 10. DOS and (Turbo) Pascal were my two best buddies for long nights. But the possibilities of creating something out of a simple text editor, and deploying it to the World... oh boy, that was a game changer.&lt;/p&gt;  &lt;p&gt;Fast forward a nice bunch of years. My short(-ish) research scientist carrier at the University of Lisbon has been fully centred on the Web and the way people use it: hypertext processing, accessibility, usability. At the same time, my creative roots and need for "that feeling of accomplishment" led me to invent and experiment with the more practical side of the Web.&lt;/p&gt;  &lt;p&gt;And an opportunity of a lifetime emerged. I'm blogging sitting in my bed in California, where I'll be working for the next years at a &lt;a href="http://www.google.com"&gt;pretty nice company&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I'll be spending most of my time tinkering on Web front-end technologies, applying all the knowledge I've gathered in the past 11 years at the University, pursuing the goal of improving the user experience on one of the Web's principal gateways.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;Let the fun begin!&lt;/p&gt;  &lt;/p&gt;      &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/i-love-the-web-or-how-the-web-changed-my-life"&gt;ruidlopes' postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-2242511323036314611?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/2242511323036314611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/2242511323036314611'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2011/10/i-love-web-or-how-web-changed-my-life.html' title='I Love the Web. Or how the Web changed my life, forever.'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-4859160282945376561</id><published>2011-09-03T19:28:00.001+01:00</published><updated>2011-09-03T19:28:21.289+01:00</updated><title type='text'>Unfocused Groups</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href="http://neilperkin.typepad.com/only_dead_fish/2011/08/have-focus-groups-had-their-day.html"&gt;Have Focus Groups Had Their Day?&lt;/a&gt; Asks &lt;a href="http://neilperkin.typepad.com/"&gt;Neil Perkin&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Excellent question. I've had a background process running in my mind for almost a year now, waisting brain cycles on thinking about &lt;a href="http://en.wikipedia.org/wiki/Focus_group"&gt;Focus Groups&lt;/a&gt;, from results of some experiments we did with regards to UX on smart phones. And the more I think about it, the more I tend to agree with Neil.&lt;/p&gt;  &lt;p&gt;Yes, it's always been said that focus groups should be handled with extreme care. It's easy to have bad results from these studies or, at best, a few incremental improvements to existing problem spaces. But even with a good facilitator, this research method leads to the appearance of &lt;a href="http://en.wikipedia.org/wiki/Alpha_(ethology)"&gt;Alpha individuals&lt;/a&gt; amongst participants, thus quickly skewing the main goals of such studies.&lt;/p&gt;  &lt;p&gt;Instead, to attain the goals of focus groups, I'd suggest two complementary approaches: &lt;a href="http://en.wikipedia.org/wiki/Ethnography"&gt;Ethnography&lt;/a&gt; &amp;mdash; thus studying what users do and say, in their own context, as well as what they don't do and don't say &amp;mdash; and &lt;a href="http://en.wikipedia.org/wiki/Design_thinking"&gt;Design thinking&lt;/a&gt; &amp;mdash; a thought process of understanding user-faced problems and finding appropriate solutions.&lt;/p&gt;  &lt;p&gt;This way, one will deeply understand the setup and constraints imposed to and by users interacting with a given system, and disrupt it without relying on biases introduced by users' personal experiences.&lt;/p&gt;      &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/unfocused-groups"&gt;ruidlopes' postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-4859160282945376561?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4859160282945376561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4859160282945376561'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2011/09/unfocused-groups.html' title='Unfocused Groups'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-8660037641503874612</id><published>2011-04-05T11:02:00.001+01:00</published><updated>2011-04-05T11:02:48.758+01:00</updated><title type='text'>How far can we stretch the notion of Web browsers and Web apps?</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;After a great week at the &lt;a href="http://www.w4a.info/"&gt;W4A 2011&lt;/a&gt; and &lt;a href="http://www.www2011india.com/"&gt;WWW 2011&lt;/a&gt; conferences, I've been thinking a lot about the true meaning of a&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Web_browser"&gt;Web browser&lt;/a&gt;&amp;nbsp;and a&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Web_application"&gt;Web app&lt;/a&gt;, particularly triggered by a great W4A keynote speech by &lt;a href="http://www.bebowhite.com/"&gt;Bebo White&lt;/a&gt;&amp;nbsp;and an insightful dinner chat with him, &lt;a href="http://www.cs.man.ac.uk/~sharper/"&gt;Simon&lt;/a&gt;, and &lt;a href="http://www.markelvigo.info/"&gt;Markel&lt;/a&gt;&amp;nbsp;afterwards.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;We, as a Web community, often perceive Web browsers as really concrete applications: Internet Explorer, Mozilla Firefox, Apple Safari or Google Chrome, and Web apps as the wet dream of thin-client lovers. &lt;em&gt;But, in reality, things are much more blurry than that.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://www.w3.org/Proposal.html"&gt;initial propostal for the World Wide Web&lt;/a&gt; elicites the following definition of a Web browser:&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;&lt;em&gt;is a native application program running on the client machine:&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;  &lt;li&gt;&lt;em&gt;it performs the display of a hypertext node using the client hardware &amp;amp; software environment. For example, a Macintosh browser will use the Macintosh interface look-and-feel.&lt;/em&gt;&lt;/li&gt;  &lt;li&gt;&lt;em&gt;it performs the traversal of links. For example, when using a Macintosh to browse on CERNVM FIND it will be the Macintosh browser which remembers which links were traversed, how to go back etc., whereas the CERNVM server just responds by handing the browser nodes, and has no idea of which nodes the user has visited.&lt;/em&gt;&lt;/li&gt;  &lt;li&gt;&lt;em&gt;it performs the negotiation of formats in dialog with the server. For example, a browser for a VT100 type display will always negotiate ASCII text only, whereas a Macintosh browser might be constructed to accept PostScript or SGML.&lt;/em&gt;&lt;/li&gt;  &lt;/ul&gt;  &lt;/blockquote&gt;  &lt;p&gt;Basically, a Web browser is a client application that knows about links (represented by &lt;a href="http://tools.ietf.org/html/rfc3986"&gt;URIs&lt;/a&gt;) and communicates with Web servers. Indeed, the formal specification for the &lt;a href="http://www.w3.org/TR/webarch/"&gt;Architecture of the World Wide Web&lt;/a&gt; does support this assertion.&lt;/p&gt;  &lt;p&gt;Actually, Web browsers are nothing more than &lt;em&gt;fancy&lt;/em&gt; specialisations of the concept of&amp;nbsp;&lt;strong&gt;user agent&lt;/strong&gt;&amp;nbsp;(&lt;a href="http://tools.ietf.org/html/rfc1945#section-10.15"&gt;which should identify themselves in adequate HTTP headers&lt;/a&gt;). A user agent is, indeed, one of the main &lt;a href="http://www.w3.org/DesignIssues/UserAgent.html"&gt;axioms of the Web's architecture&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote class="posterous_medium_quote"&gt;  &lt;p&gt;&lt;em&gt;Browsers and Email programs are user agents. This isn't just a formal long term for them, it is an important issue. They are programs which act on behalf of, and represent, the user.&lt;/em&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;However, I couldn't find a formal definition for the term &lt;em&gt;Web app&lt;/em&gt;. My experience, and from all the reading and discussions I've seen in the past, a &lt;em&gt;Web app&lt;/em&gt; can be loosely defined by the following three major characteristics:&lt;/p&gt;  &lt;ol&gt;  &lt;li&gt;It is accessed via the Web (i.e., through HTTP);&lt;/li&gt;  &lt;li&gt;It interacts with Web resources;&lt;/li&gt;  &lt;li&gt;It is built on top of existing Web technologies (e.g., HTML, CSS, Javascript).&lt;/li&gt;  &lt;/ol&gt;  &lt;p&gt;Any given combination of these characteristics results in a different flavour for a Web app, such as:&lt;/p&gt;  &lt;ul&gt;  &lt;li&gt;A simple HTML Web app (combining 1. and 3.);&lt;/li&gt;  &lt;li&gt;A complex HTML Web app that interacts with several Web resources (combing all characteristics);&lt;/li&gt;  &lt;li&gt;A Flash-based Web app (combining 1. and 2.).&lt;/li&gt;  &lt;/ul&gt;  &lt;p&gt;Now, onto modern Web-centric development. Several of the contemporary services and applications deployed on the Web provide API binding points, upon which accessing applications and added-value services can be built.&lt;/p&gt;  &lt;p&gt;Case in point: &lt;a href="http://dev.twitter.com/"&gt;the Twitter ecosystem&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;At a fundamental level, the &lt;a href="http://twitter.com/"&gt;Twitter Web site&lt;/a&gt; behaves as a Web app: it is accessed via the Web (through a Web browser), it interacts with Web resources (via the Twitter API), and it is built on top of existing Web technologies. &lt;em&gt;[ed. note: the discussion between the blurry lines between Web pages and Web apps is off-topic in this post]&lt;/em&gt;. The same reasoning can be applied onto other third-party Web apps such as &lt;a href="http://hootsuite.com/"&gt;HootSuite&lt;/a&gt; and &lt;a href="http://www.tweetdeck.com/"&gt;TweetDeck&lt;/a&gt;&amp;nbsp;(I leave as an exercise to the reader the reasoning over the &lt;a href="https://chrome.google.com/webstore/detail/hbdpomandigafcibbmofojjchbcdagbl"&gt;TweetDeck Chrome app&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Now, here's the catch that Bebo made (and which got me thinking): &lt;strong&gt;how close are we to think about native apps as a hybrid between user agents and Web apps?&lt;/strong&gt; Here are some possible reasons on this, using the &lt;a href="http://itunes.apple.com/us/app/twitter/id333903271?mt=8"&gt;Twitter iPhone app&lt;/a&gt; as the lab rat:&lt;/p&gt;  &lt;ul&gt;  &lt;li&gt;It is, definitely, accessed via the Web: the actual app is available through a URI (okay, installed might be a more adequate term, but then we get onto the discussion about whether or not Chrome apps are Web apps or not);&lt;/li&gt;  &lt;li&gt;It interacts with Web resources: not much case on this, since it operates on top of the Twitter API (via HTTP);&lt;/li&gt;  &lt;/ul&gt;  &lt;p&gt;While as a native iPhone app it is implemented in Objective-C, it could definitely be implemented with Web technologies such as &lt;a href="http://www.phonegap.com/"&gt;PhoneGap&lt;/a&gt;.&lt;/p&gt;  &lt;ul&gt;  &lt;li&gt;It performs the display of a hypertext node using the client hardware &amp;amp; software environment: a&amp;nbsp;tweet, a user profile, a tweet stream, all are uniquely available as hypertext nodes (i.e., represented by URIs);&lt;/li&gt;  &lt;li&gt;It performs the travessal of links: this happens in different situations, such as embedded links, retweets, @usernames. All of them follow the link travessal metaphor;&lt;/li&gt;  &lt;li&gt;It performs the negotiation of formats in dialog with the server: the Twitter API does interpret the &lt;em&gt;Accept&lt;/em&gt; HTTP header, where data is transmitted e.g. in JSON, instead of the more traditional HTML version.&lt;/li&gt;  &lt;/ul&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;So, it seems that this app indeed suits all requirements to be classified both as a Web browser and Web app. Should we, then, start thinking more broadly about the consequences of this conceptual shift?&lt;/p&gt;  &lt;ul&gt;  &lt;li&gt;What is the meaning of inter-app linking? How can it be achieved at the fundamental level of the Web?&lt;/li&gt;  &lt;li&gt;Should APIs stop existing and being nothing else than different content representations (i.e., 100% &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer"&gt;REST services&lt;/a&gt;) ?&lt;/li&gt;  &lt;li&gt;What common treats of &lt;em&gt;classical&lt;/em&gt; Web browsers should be ported to apps?&lt;/li&gt;  &lt;/ul&gt;  &lt;p&gt;Food for thought.&lt;/p&gt;      &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/how-far-can-we-stretch-the-notion-of-web-brow"&gt;ruidlopes' postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-8660037641503874612?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/8660037641503874612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/8660037641503874612'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2011/04/how-far-can-we-stretch-notion-of-web.html' title='How far can we stretch the notion of Web browsers and Web apps?'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-4495370096757637781</id><published>2011-03-17T15:18:00.001Z</published><updated>2011-03-17T15:18:17.025Z</updated><title type='text'>Measuring User Experience — Initial Forays</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href="http://ruidlopes.posterous.com/beyond-usability-user-experience"&gt;My previous post on this blog&lt;/a&gt; delved on usability and user experience, with an initial argument that, while user experience is intrinsic to each product or service, there are several objective ways to measure it, and that these metrics can be replicated across different products and services.&lt;/p&gt;  &lt;p&gt;While my gut feeling already figured out some ways to measure user experience that do not comprise archetypal usability metrics, i.e., measuring effectiveness and task completion success, I informally surveyed some community members at the&amp;nbsp;&lt;a href="http://www.quora.com/How-can-UX-beyond-Usability-be-effectively-measured"&gt;Quora&lt;/a&gt; and&amp;nbsp;&lt;a href="http://uxexchange.com/questions/5129/how-can-ux-beyond-usability-be-effectively-measured"&gt;UXExchange&lt;/a&gt;&amp;nbsp;Q&amp;amp;A&amp;nbsp;forums about this, to find out some clues on this. Indeed, I was pointed out some insightful answers, was pointed to previous discussions and essays on this subject. And, as an academic exercise, &lt;a href="http://www.google.com/research/pubs/pub36299.html"&gt;a paper presented by some Google UX Researchers at CHI 2010&lt;/a&gt; on this exact topic.&lt;/p&gt;  &lt;p&gt;So, it seems, I might be on the right track.&lt;/p&gt;  &lt;p&gt;Without going too much into detail about the pros/cons of each answer (which is fodder to forthcoming posts, I guess), here's an&amp;nbsp;unordered list of possible ways to measure user experience:&lt;/p&gt;  &lt;ul&gt;  &lt;li&gt;Analytics &amp;ndash; average time of stay, return rates,&amp;nbsp;aggregate data representation of multiple people&lt;/li&gt;  &lt;li&gt;A/B testing&lt;/li&gt;  &lt;li&gt;Task goals &amp;ndash; registration completion, contact form submission, path to purchase&lt;/li&gt;  &lt;li&gt;Customer support responsiveness&lt;/li&gt;  &lt;li&gt;Customer satisfaction evaluation &amp;ndash; quantitative and qualitative&lt;/li&gt;  &lt;li&gt;Social sensing &amp;ndash; Facebook likes, retweets, google trends&lt;/li&gt;  &lt;li&gt;Experience monitoring &amp;ndash; qualitative, representation of a single session&lt;/li&gt;  &lt;li&gt;Mindshare goals &amp;ndash; qualitative measures such as awareness, branding effectiveness&lt;/li&gt;  &lt;li&gt;Loyalty&lt;/li&gt;  &lt;li&gt;Net Promoter Score&lt;/li&gt;  &lt;/ul&gt;  &lt;p&gt;I must point out that this list has some caveats: it can be unreasonable to apply some of these metrics in particular scenarios, and all of them have to be tackled from the perspective of the ultimate goals of the product or service they are applied to. In sum, the context they are applied serves as the basis for all measurements. This means that there's an additional variable when comparing the user experience of two products or services.&lt;/p&gt;      &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/measuring-user-experience-initial-forays"&gt;ruidlopes' postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-4495370096757637781?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4495370096757637781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4495370096757637781'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2011/03/measuring-user-experience-initial.html' title='Measuring User Experience — Initial Forays'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-4131121191164836880</id><published>2011-02-25T00:39:00.001Z</published><updated>2011-02-25T00:39:20.167Z</updated><title type='text'>Beyond Usability - User Experience</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;A couple months ago, my fellow researcher on Accessibility, User Experience (UX), and other Human Factors stuff, &lt;a href="http://simon.harper.name/"&gt;Simon Harper&lt;/a&gt;, &lt;a href="http://simon.harper.name/2010/12/21/defining-ux-and-a-merry-christmas-2010/"&gt;blogged about UX and its misconceptions&lt;/a&gt;, as well as challenges for the future of this research field. Simon details, with some very very heaving backing from a &lt;a href="http://portal.acm.org/citation.cfm?id=1518813"&gt;really important paper from CHI 2009&lt;/a&gt;&amp;nbsp;(&lt;a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.150.180&amp;amp;rep=rep1&amp;amp;type=pdf"&gt;please do read its full text&lt;/a&gt;, it's a must), that UX might lay outside of current Human Factors practices due to being less generalisable. The community was questioned about reflecting on UX matters, their meaning, their goals.&lt;/p&gt;  &lt;p&gt;I agree that UX practices are less likely to be generalised, in comparison to the more traditional, systematic User Centred Design discipline. What works in one instance, one product, one service, might not work in all others. Their essence, reflected in users' experience with a product or service, is often &lt;em&gt;unique&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;But I do like to take big challenges.&lt;/p&gt;  &lt;p&gt;In the last couple of months I've been thinking hard about all of this. UX get thrown a lot in blogs, interviews, and all that fluff surrounding the latest crop of stuff coming out of technology. People are using it as the next coming of Jesus and solver of all problems in Human-Computer Interaction. Totally &lt;em&gt;not true&lt;/em&gt;!&lt;/p&gt;  &lt;p&gt;Furthermore, when people start talking about UX in a more practical, less fluffy way, they often misconcept it with a portion of its concerns, i.e., &lt;em&gt;Usability&lt;/em&gt;. And the same goes between &lt;em&gt;User Experience Design (UxD)&lt;/em&gt; and &lt;em&gt;User Centred Design (UCD)&lt;/em&gt;. Again, the latter is indeed a subset of the former. I often see the UxD process being used when people actually meant UCD. I would argue that UCD's goals is to create and study the &lt;em&gt;effectiveness&lt;/em&gt; of UIs for their target audience, whereas UxD goes beyond that towards &lt;em&gt;engagement&lt;/em&gt; and &lt;em&gt;pleasureness&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;For now, I won't be dissecate and dissertate too much on the actual definition of UX. Heck, if the top experts cannot agree on this, who am I to take &lt;em&gt;the&lt;/em&gt; ultimate stake at its definition? Let us stay at a phylosophical, &lt;a href="http://en.wikipedia.org/wiki/Ontology"&gt;ontological definition&lt;/a&gt; for it: &lt;em&gt;the property of being capable to provide a good experience to users&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;However, what can actually be talked about is that ideed UX can be &lt;strong&gt;measured&lt;/strong&gt;, directly or indirectly; individually or collectively. And by having the proper metrics, UxD can be leveraged towards the constant improvement of products and services. And this can, I argue, be &lt;strong&gt;replicated&lt;/strong&gt; and &lt;strong&gt;generalised&lt;/strong&gt; across products and services.&lt;/p&gt;  &lt;p&gt;This is the kick-off on a series of blog posts I'll be writing in the forthcoming months. I'll delve into different forays on measuring UX, specially beyond the &lt;em&gt;early phase focus&lt;/em&gt; of traditional UCD, or &lt;em&gt;effectiveness benchmarks&lt;/em&gt; from usability studies. Worst case scenario, I'll learn a lot!&lt;/p&gt;  &lt;p&gt;Fun times ahead, stay tuned :)&lt;/p&gt;      &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/beyond-usability-user-experience"&gt;ruidlopes' postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-4131121191164836880?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4131121191164836880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4131121191164836880'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2011/02/beyond-usability-user-experience.html' title='Beyond Usability - User Experience'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-8209084352901044728</id><published>2010-12-13T23:12:00.001Z</published><updated>2010-12-13T23:12:13.258Z</updated><title type='text'>Developers deserve a good UX, too</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;When developers, designers, startups, etc. think about User Experience, they often imagine simple GUIs, great graphical design, gratifications, bells and whistles and whatnots. Basically, all things that would guide end users towards getting revenue (or other goals).&amp;nbsp;For the sake of this post, let's call it these UX features part of the User Land (UL).&lt;/p&gt;  &lt;p&gt;A lot of times, what is delivered in a UL product or service caters to their creators' needs, mindset, etc. A mix of catering to their own &lt;em&gt;pain points&lt;/em&gt; and their own &lt;em&gt;expertise&lt;/em&gt;. This can result in amazing results, true. But, more often that not, they scratch a single person's own itch.&lt;/p&gt;  &lt;p&gt;These concepts can also be applied to an oft forgotten place: Developer Land (DL).&lt;/p&gt;  &lt;p&gt;Software, nowadays, is highly complex. It's a mix of creativity, off-the-shelf components and libraries, glued together in a perfect (dis)harmony. The high-burden and error-prone process of creating applications leads to reusing &amp;ndash; and correctly so &amp;ndash; existing components and libraries. The humungous landscape that is the software libraries world (frameworks, classes, generators, development environments, etc.) can be daunting for a lot of developers.&lt;/p&gt;  &lt;p&gt;But several developers create libraries to cater to their own &lt;em&gt;pain points&lt;/em&gt;, and believe other developers have the same &lt;em&gt;expertise&lt;/em&gt;. While this can result in a good software library, things can get pretty messy easily. Hence, DL end users (i.e., those using software libraries in their own applications) face the same problems as UL end users. Confusion, insatisfaction, not meeting their goals. That is, developers also experience &lt;em&gt;bad UX&lt;/em&gt; in DL.&lt;/p&gt;  &lt;p&gt;So, without further ado, here's a small list of best practices to provide a good UX in Developer Land:&lt;/p&gt;  &lt;ol&gt;  &lt;li&gt;&lt;em&gt;Proper APIs:&lt;/em&gt; whenever possible, classes, functions, parameters, data types, and any other identifiable naming schemes, should have clear, concise names, including clear naming in REST-style APIs. Even further, they should be self-documented, so that even seasoned developers don't need to RTFM every single time they need to use a particular feature.&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Documentation:&lt;/em&gt; it's never enough to stress this point. Documentation provides detailed explanations not just on how to use each class, function call, etc. (although &lt;em&gt;proper APIs&lt;/em&gt;&amp;nbsp;partially&amp;nbsp;fullfil this requirement), installation, configuration, building instructions, etc. must be sane and descriptive. Developers shouldn't assume that everyone knows every tiny bit detail about library X that should existing in path location Y, in order to have something working.&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Tutorials/Guides:&lt;/em&gt; when software libraries are more complex than a &lt;em&gt;Hello World&lt;/em&gt;, in can be (it usually is!) daunting to dive right into APIs and reference documents. This is where tutorials and guides appear. They provide easy, step-by-step instructions on how to use libraries, i.e., step by step examples on creating something useful. These positive reinforcement activities do allow for better learning experiences.&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Examples:&lt;/em&gt;&amp;nbsp;while &lt;em&gt;tutorials&lt;/em&gt; and &lt;em&gt;guides&lt;/em&gt; exemplify usage, they cannot cover every single detail about using all the features provided by a software library. Hence, &lt;em&gt;proper APIs&lt;/em&gt; should be complemented with example usage &amp;ndash; not just a piece of code, but a detailed, explained step by step usage of each feature.&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Error handling:&lt;/em&gt; let's face it, errors do happen. Even when software is correctly implemented (i.e., bug-free), it can fail due to external stimuli. Thus, software libraries shouldn't fail silently, nor crash abhorrently. Error handling should be built from the ground up, and exposed in a graceful way: less of the C's &lt;em&gt;function-return-error-value&lt;/em&gt;, and more of the &lt;em&gt;errors-are-exceptions-on-control-flow&lt;/em&gt;.&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Sandboxes:&lt;/em&gt; when libraries really do get complex and tricky, developers are less confident on trying out their features. This gets even worse when libraries handle information-sensitive features (e.g., posting messages to social networks), or&amp;nbsp;which&amp;nbsp;can trigger payment activities. In these cases, developers should provide safe environments &amp;ndash; sandboxes &amp;ndash; where DL end users can try, test, tweak, and fail on using libraries without penalties.&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Gratifications:&lt;/em&gt; the oft-forgotten realm of inside jokes embedded in software code, comments, etc. They don't offer anything practical, regarding their stated purpose (i.e., functions, etc.). But they do provide a sense of accomplishment &amp;ndash; and good laughs &amp;ndash; to those who delve and inspect the source code.&lt;/li&gt;  &lt;/ol&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;And, that's it for now. Happy coding!&lt;/p&gt;      &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/developers-deserve-a-good-ux-too"&gt;ruidlopes' postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-8209084352901044728?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/8209084352901044728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/8209084352901044728'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/12/developers-deserve-good-ux-too.html' title='Developers deserve a good UX, too'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-4641052163843711126</id><published>2010-11-30T19:43:00.001Z</published><updated>2010-11-30T19:43:46.399Z</updated><title type='text'>Some notes on UX</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;I've just finished my talk for &lt;a href="http://portugal-gtug.blogspot.com/" target="_self"&gt;Portugal's GTUG&lt;/a&gt; (Google Technology User Group), entitled &lt;em&gt;Some Notes on UX&lt;/em&gt;. On this talk, I shared ideas about User Experience (mostly on the Web) in 3 domains: &lt;em&gt;demystification&lt;/em&gt;, &lt;em&gt;inspiration&lt;/em&gt;, and &lt;em&gt;guidance&lt;/em&gt;. Please find below the slides:&lt;/p&gt;  &lt;div style=""&gt;&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/ruidlopes/some-notes-on-ux" title="Some notes on UX"&gt;Some notes on UX&lt;/a&gt;&lt;/strong&gt;  &lt;object height="355" width="425"&gt;  &lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=gtug-ux-101130133447-phpapp01&amp;amp;stripped_title=some-notes-on-ux&amp;amp;userName=ruidlopes" /&gt;  &lt;param name="allowFullScreen" value="true" /&gt;  &lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=gtug-ux-101130133447-phpapp01&amp;amp;stripped_title=some-notes-on-ux&amp;amp;userName=ruidlopes" type="application/x-shockwave-flash" height="355" width="425"&gt;&lt;/embed&gt;  &lt;/object&gt;  &lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/ruidlopes"&gt;Rui Lopes&lt;/a&gt;.&lt;/div&gt;  &lt;/div&gt;  &lt;p&gt;I hope to be fortunate on sharing and discussing these ideas with &lt;em&gt;you&lt;/em&gt; (this presentation will always be a work in progress).&lt;/p&gt;  &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/some-notes-on-ux"&gt;ruidlopes' postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-4641052163843711126?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4641052163843711126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4641052163843711126'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/11/some-notes-on-ux.html' title='Some notes on UX'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-9065006853890345257</id><published>2010-11-19T23:07:00.001Z</published><updated>2010-11-19T23:07:13.394Z</updated><title type='text'>TLD.hack launched!</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;So, today I've launched a new service, &lt;a href="http://tldhack.com" target="_self"&gt;TLD.hack&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Domain_hack" target="_self"&gt;According to Wikipedia&lt;/a&gt;, a top-level domain hack is:&lt;/p&gt;  &lt;blockquote class="posterous_medium_quote"&gt;an unconventional domain name that combines domain levels, especially the top-level domain (TLD), to spell out the full "name" or title of the domain. Well-known examples include blo.gs, del.icio.us, cr.yp.to, e.xplo.it, retou.ch, and goo.gl.&lt;/blockquote&gt;  &lt;p&gt;For bad or for worse, TLD hacks are part of the Web. They open the way to registration of new domains that can be memorable - if a bit confusing, sometimes.&amp;nbsp;Since, as of today, there are more than 250 TLDs, it can be a bit cumbersome to test if a specific &lt;em&gt;hack&lt;/em&gt; exists.&lt;/p&gt;  &lt;p&gt;Let there be &lt;a href="http://tldhack.com"&gt;TLD.hack&lt;/a&gt; to the rescue, hope you enjoy it!&lt;/p&gt;      &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/tldhack-launched"&gt;ruidlopes' postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-9065006853890345257?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/9065006853890345257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/9065006853890345257'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/11/tldhack-launched.html' title='TLD.hack launched!'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-3367440408222294686</id><published>2010-11-15T22:29:00.001Z</published><updated>2010-11-15T22:29:16.441Z</updated><title type='text'>Codebits 2010: talk, gummy bears, et al.</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;Last week&lt;span style=""&gt; &lt;/span&gt;&lt;a href="http://codebits.eu" target="_self"&gt;Codebits 2010&lt;/a&gt; was held, once again, in Lisbon. As usual, this event/fest/party/hackathon was full of awesome. I'm not going to review it deeply, just search for &lt;a href="http://twitter.com/#!/search/%23codebits2010" target="_self"&gt;#codebits2010&lt;/a&gt; in Twitter, in order to get a gist of what happened there during those 3 days.&lt;/p&gt;  &lt;p&gt;I gave a talk at the event, on one of my (serious) hobbies, Javascript, entitled &lt;a href="http://codebits.eu/intra/s/proposal/52" target="_self"&gt;Human-powered Javascript Compression for Fun and Gummy Bears&lt;/a&gt;. Basically, the talk centred on bending Javascript to your will, knowing what to do with this extremely plastic language, and also what not to do. And, if you didn't attend the talk, you will feel extremely unlucky, since I distributed 2 packs of gummy bears for the audience. Please find below the slides:&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;div style=""&gt;&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/ruidlopes/humanpowered-javascript-compression-for-fun-and-gummy-bears" title="Human-powered Javascript Compression for Fun and Gummy Bears"&gt;Human-powered Javascript Compression for Fun and Gummy Bears&lt;/a&gt;&lt;/strong&gt;  &lt;object height="355" width="425"&gt;  &lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=codebits2010-javascript-101115161148-phpapp02&amp;amp;rel=0&amp;amp;stripped_title=humanpowered-javascript-compression-for-fun-and-gummy-bears&amp;amp;userName=ruidlopes" /&gt;  &lt;param name="allowFullScreen" value="true" /&gt;  &lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=codebits2010-javascript-101115161148-phpapp02&amp;amp;rel=0&amp;amp;stripped_title=humanpowered-javascript-compression-for-fun-and-gummy-bears&amp;amp;userName=ruidlopes" type="application/x-shockwave-flash" height="355" width="425"&gt;&lt;/embed&gt;  &lt;/object&gt;  &lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/ruidlopes"&gt;Rui Lopes&lt;/a&gt;.&lt;/div&gt;  &lt;/div&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;Furthermore, since the talk was so much focused as a hands-on experience on tweaking and pushing Javascript around, I made available all the code (HTML+JS) for free at &lt;a href="https://github.com/ruidlopes/codebits2010" target="_self"&gt;github&lt;/a&gt;. Explore it, clone it, change it, experiment.&lt;/p&gt;  &lt;p&gt;As a bonus side, I participated in the coding contest, where we developed a &lt;a href="http://codebits.eu/intra/s/project/184" target="_self"&gt;multiplayer game development kit for iOS&lt;/a&gt;. We were extremely fortunate to finish at &lt;a href="http://codebits.eu/s/blog/09c99d17e0066f467c2c7b86df0610cc" target="_self"&gt;4th place&lt;/a&gt;. Stay tuned for more developments on this front, too.&lt;/p&gt;      &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/codebits-2010-talk-gummy-bears-et-al"&gt;ruidlopes' postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-3367440408222294686?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/3367440408222294686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/3367440408222294686'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/11/codebits-2010-talk-gummy-bears-et-al.html' title='Codebits 2010: talk, gummy bears, et al.'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-2284236967564083000</id><published>2010-10-30T14:05:00.001+01:00</published><updated>2010-10-30T14:05:14.987+01:00</updated><title type='text'>A fine example of a good UX</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;I've just read a post entitled &lt;em&gt;&lt;a href="http://farukat.es/journal/2010/10/482-addictive-allure-of-instagram" target="_self"&gt;The Addictive Allure of Instagram&lt;/a&gt;&lt;/em&gt;, describing how &lt;em&gt;&lt;a href="http://instagr.am/" target="_self"&gt;Instagram&lt;/a&gt;&lt;/em&gt;, a photo taking application/social network for the iPhone hits the nail on providing its users with a fine, detailed UX.&lt;/p&gt;  &lt;p&gt;It's all about pain points, simple UI, less choices, seamless integration with other services. But more importantly, it brings back the &lt;em&gt;emotions&lt;/em&gt; of taking, seeing, and sharing photos.&lt;/p&gt;  &lt;p&gt;A must read. And a must use, for the app itself.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;(via &lt;a href="http://daringfireball.net/linked/2010/10/29/farukagram" target="_self"&gt;Daring Fireball&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;      &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/a-fine-example-of-a-good-ux"&gt;ruidlopes' postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-2284236967564083000?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/2284236967564083000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/2284236967564083000'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/10/fine-example-of-good-ux.html' title='A fine example of a good UX'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-325349253580218558</id><published>2010-10-27T00:21:00.001+01:00</published><updated>2010-10-27T00:21:29.006+01:00</updated><title type='text'>On username consistency</title><content type='html'>&lt;div class='posterous_autopost'&gt;Being online nowadays is pretty much a common thing. Wether on social networks, blogs, homepages, and whatnots, an online presence can potentiate growth.&lt;p&gt;But multiplying this presence capability by the billions of people that are online can be cumbersome.&lt;/p&gt;&lt;p&gt;Hence, being easily discoverable is a key point. And a key point in discoverability is username/alias consistency among online communication channels. If a single username is used throughout different services, one can potentiate his own profile/persona.&lt;/p&gt;&lt;p&gt;In tune with this line of thought, check if you have the same username in: email, website, twitter, linkedin, etc. If not, change that, if I may suggest.&lt;/p&gt;&lt;p&gt;In the light of this post, I have eaten my own dogfood. You can now find me at ruidlopes.com, and this blog also reflects these corrections as well.&lt;/p&gt;      &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/on-username-consistency"&gt;ruidlopes' postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-325349253580218558?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/325349253580218558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/325349253580218558'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/10/on-username-consistency.html' title='On username consistency'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-8744760165125358630</id><published>2010-10-26T21:49:00.001+01:00</published><updated>2010-10-26T21:49:40.225+01:00</updated><title type='text'>Some weeks of UX: Closure</title><content type='html'>&lt;div class='posterous_autopost'&gt;Some of the previous posts in this blog concerned a weekly analysis of UX related news, blog posts, and other miscellanea community activities. You may have noticed that the burst of posts ended abruptly some weeks ago.    While an interesting and always important exercise, the weekly rate format proved to be a cumbersome, complex task involving reading a lot, analysing, thinking, and rethorical discourses. Hence the stop (right before I went on vacations, too).    I'm sure I'll return with a new format on this blog that tackles the UX community blurb and fluff. Stay tuned. Meanwhile, please do continue following and reading posts from &lt;a href="http://feeds.feedburner.com/ruidlopes-uxblogs"&gt;my shared feed of UX blogs&lt;/a&gt;.      &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/some-weeks-of-ux-closure"&gt;ruidlopes' postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-8744760165125358630?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/8744760165125358630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/8744760165125358630'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/10/some-weeks-of-ux-closure.html' title='Some weeks of UX: Closure'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-9098738553903571326</id><published>2010-10-26T16:39:00.001+01:00</published><updated>2010-10-26T16:39:26.716+01:00</updated><title type='text'>A New Home</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;My blog, which has been &lt;a href="http://rlopes.blogspot.com" title="hosted on Blogspot" target="_self"&gt;hosted on Blogspot&lt;/a&gt; for several years, found a new home at Posterous with the URL &lt;a href="http://ruidlopes.posterous.com" title="http://ruidlopes.posterous.com" target="_self"&gt;http://ruidlopes.posterous.com&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Why? Simplicity.&lt;/p&gt;  &lt;p&gt;If you follow my irregular posts by RSS or even directly in the old URL, no change is required. I configured everything so that Blogspot automatically gets all the new posts. Nevertheless, please do feel free to update your feeds accordingly.&lt;/p&gt;      &lt;p style="font-size: 10px;"&gt;      &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;       from &lt;a href="http://ruidlopes.posterous.com/a-new-home"&gt;ruidlopes's postground&lt;/a&gt;      &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-9098738553903571326?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/9098738553903571326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/9098738553903571326'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/10/new-home.html' title='A New Home'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-5515574288573266729</id><published>2010-08-27T22:10:00.000+01:00</published><updated>2010-08-27T22:10:02.373+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><category scheme='http://www.blogger.com/atom/ns#' term='weekly'/><title type='text'>This week on UX: Chapter V</title><content type='html'>&lt;em&gt;Chapter V, 21st August 2010 - 27th August 2010&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;This week on UX will be particularly focused on &lt;a href="http://en.wikipedia.org/wiki/Accessibility"&gt;Accessibility&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.londonwebstandards.org/2010/08/html5-and-accessibility/"&gt;HTML5 and Accessibility&lt;/a&gt;&lt;/h2&gt;The newest version of HTML5 is being praised all over the Web. With new features like &lt;a href="http://en.wikipedia.org/wiki/Canvas_element"&gt;Canvas&lt;/a&gt; and &lt;a href="http://www.w3.org/TR/html5/offline.html"&gt;offline cache&lt;/a&gt;, it sure provides a solid foundation to create HTML-based applications, running on the Web browser, available &lt;em&gt;on&lt;/em&gt; the Web.&lt;br /&gt;&lt;br /&gt;This post discusses the fact that &lt;em&gt;HTML5 is not a panacea for accessibility&lt;/em&gt; (nor it should be). Sandi correctly states that, without &lt;a href="http://www.w3.org/TR/WCAG20/"&gt;WCAG&lt;/a&gt; and other &lt;a href="http://en.wikipedia.org/wiki/Inclusive_design"&gt;inclusive design&lt;/a&gt; practices, the accessibility experience of a Web site is definitely not guaranteed.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://lists.w3.org/Archives/Public/public-html/2010Aug/att-0112/issue-30-decision.html"&gt;Working Group Decision on ISSUE-30 (longdesc)&lt;/a&gt;&lt;/h2&gt;Which brings us to the biggest discussion this week on accessibility blogs, mailing lists, twitter, and other forums. &lt;em&gt;longdesc&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;For those who might not know about this, &lt;em&gt;longdesc&lt;/em&gt; is an HTML attribute for the &lt;em&gt;img&lt;/em&gt; element, that aims at providing a thorough description of images. While the &lt;em&gt;alt&lt;/em&gt; attribute serves as a quick description/caption of the image, &lt;em&gt;longdesc&lt;/em&gt; is critical for situations where an image has a lot of information, such as &lt;a href="http://en.wikipedia.org/wiki/Graph_of_a_function"&gt;graphs&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Painting"&gt;paintings&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So, without further ado, &lt;em&gt;longdesc&lt;/em&gt; has been removed from the current HTML5 draft. A lot of ink has already flowed around the Web. I'm against this action by the HTML5 Working Group, despite the fact that it is a rarely used attribute, severely used in wrong ways when actually used. &lt;a href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-describedby"&gt;&lt;em&gt;aria-describedby&lt;/em&gt;&lt;/a&gt; is not a solution for many cases where &lt;em&gt;longdesc&lt;/em&gt; fits purpose.&lt;br /&gt;&lt;br /&gt;A really interesting follow up on this question can be read at a properly entitled blog post &lt;a href="http://rebuildingtheweb.com/en/how-do-we-save-longdesc/"&gt;How do we save longdesc?&lt;/a&gt;. The comments provide a lot of insights and opinions on this issue, as well as several links to more information about it. Please do read it.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://dev.opera.com/articles/view/cognitive-disability-learning-difficulty/"&gt;Web accessibility for cognitive disabilities and learning difficulties&lt;/a&gt;&lt;/h2&gt;The oft perceived bastard child of accessibility, due to its immense spectrum of related disabilities and lack of knowledge on how to cope with them. Cognitive disabilities are also, probably, the most difficult to be taken into account on design phases, usability testing, etc.&lt;br /&gt;&lt;br /&gt;This blog post at &lt;a href="http://dev.opera.com/"&gt;Dev.Opera&lt;/a&gt; defines a small, useful set of recommendations on how to make content accessible for people with cognitive disabilities: &lt;em&gt;consistency&lt;/em&gt;, &lt;em&gt;structure&lt;/em&gt;, &lt;em&gt;focus&lt;/em&gt;, &lt;em&gt;readability&lt;/em&gt;, &lt;em&gt;transformability&lt;/em&gt;, and &lt;em&gt;content&lt;/em&gt;. Really interesting read.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;bonus point:&lt;/strong&gt; following these recommendations, your Web site will definitely have a better usability to everyone and, ultimately, provide a better experience for all users.&lt;br /&gt;&lt;br /&gt;For completeness, read a 4-years old &lt;a href="http://lists.w3.org/Archives/Public/public-comments-wcag20/2006Jun/0118.html"&gt;formal objection&lt;/a&gt; to WCAG 2.0 claims on the inclusion of requirements, guidelines, and criteria for making Web content accessible to people with cognitive disabilities.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;that's it for now. next week I'll definitely have more to share! meanwhile, if you haven't read previous posts, or would like to re-read them here are the links for all chapters: &lt;a href="http://rlopes.blogspot.com/2010/08/this-week-on-ux-chapter-iv.html"&gt;IV&lt;/a&gt; &lt;a href="http://rlopes.blogspot.com/2010/08/this-week-on-ux-chapter-iii.html"&gt;III&lt;/a&gt; &lt;a href="http://rlopes.blogspot.com/2010/08/this-week-on-ux-chapter-ii.html"&gt;II&lt;/a&gt; &lt;a href="http://rlopes.blogspot.com/2010/07/this-week-on-ux-chapter-i.html"&gt;I&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;(this is part of an experiment on posting some links I found around the Web centred on UX topics. most of them come from &lt;a href="http://feeds.feedburner.com/ruidlopes-uxblogs"&gt;my shared feed of UX blogs&lt;/a&gt;. thanks for reading this post!)&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-5515574288573266729?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/5515574288573266729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/5515574288573266729'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/08/this-week-on-ux-chapter-v.html' title='This week on UX: Chapter V'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-5657223504357015613</id><published>2010-08-21T00:20:00.002+01:00</published><updated>2010-08-21T00:22:02.180+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><category scheme='http://www.blogger.com/atom/ns#' term='weekly'/><title type='text'>This week on UX: Chapter IV</title><content type='html'>&lt;em&gt;Chapter IV, 14th August 2010 - 20th August 2010&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.inspireux.com/2010/08/16/using-multiple-data-sources-insights-feed-design/"&gt;Using Multiple Data Sources and Insights to Aid Design&lt;/a&gt;&lt;/h2&gt;Studying how people use software is not a trivial task. UX practitioners have their own preferred techniques: usability studies, ethnography, or even &lt;a href="http://en.wikipedia.org/wiki/CPM-GOMS"&gt;CPM-GOMS&lt;/a&gt;. However, most of the time, people tend to use one or two techniques, depending on time, knowledge, budget, etc.&lt;br /&gt;&lt;br /&gt;But the best way to grasp this is through the combination of several techniques. This article at &lt;a href="http://www.inspireux.com"&gt;inspireUX&lt;/a&gt; delves into this problem, through the definition of a framework to help practitioners selecting appropriate approaches. Sometimes, adding just one more cost-friendly technique will deeply broaden the spectrum of insights that one can grasp – which takes us to our second post of the week.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.uxmatters.com/mt/archives/2010/08/creative-ways-to-use-unmoderated-user-research.php"&gt;Creative Ways to Use Unmoderated User Research&lt;/a&gt;&lt;/h2&gt;Doing large usability tests, covering different user profiles, is one of the best ways of understanding how usable a software is. But the price and time tags for such studies limits their application more often than not.&lt;br /&gt;&lt;br /&gt;A recurring proposal, and once again stressed on this article at &lt;a href="http://www.uxmatters.com"&gt;UXmatters&lt;/a&gt;, is to &lt;em&gt;complement&lt;/em&gt; usability tests with a low-cost alternative, &lt;em&gt;unmoderated user research&lt;/em&gt;. Putting users in their own context, interacting with the software for long periods of time, is a key aspect of this kind of studies. Gathering log data, diaries, etc., complement the technique, and allow for a bigger picture on how people use the software's UI.&lt;br /&gt;&lt;br /&gt;Complementarly, a blog post at &lt;a href="http://uxmag.com/"&gt;UX Magazine&lt;/a&gt; discusses &lt;a href="http://uxmag.com/strategy/doing-more-with-remote-research"&gt;how to apply remote user research&lt;/a&gt; effectively.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.cimex.com/digital/card-sorting-is-dead-long-live-card-sorting"&gt;Card sorting is dead- long live card sorting&lt;/a&gt;&lt;/h2&gt;Oh boy, this title could surely raise flame wars between UX practitioners. But rest assured – &lt;strong&gt;spoiler alert&lt;/strong&gt; – at the end of this article at &lt;a href="http://www.cimex.com"&gt;cimex&lt;/a&gt;, it is mentioned that &lt;em&gt;Card sorting is not dead, far from it&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Once again, and keeping up with the spirit of this week's Chapter, the authors stress the fact that card sorting, by itself, most probably won't generate enough useful information from users, and that the time taken for post-it analysis might not be worth the effort. But they do say that it's yet another technique in the UX belt that, complemented with other techniques (e.g., for already deployed Web sites, Web analytics is a paramount helper), provide a better insight on the results from card sorting sessions.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://ignorethecode.net/blog/2010/08/13/opinions_vs__data/"&gt;Opinions vs. Data&lt;/a&gt;&lt;/h2&gt;Final post for this week. And, once again, talking about the same subject: having a one-sided view of UX analysis can lead to misleading (no pun intended) assumptions.&lt;br /&gt;&lt;br /&gt;This article at &lt;a href="http://ignorethecode.net"&gt;ignore the code&lt;/a&gt; discusses how preconceived ideas can be incredibly wrong. A short discussion about Gmail's latest UI changes that introduce a new, awkward, UI element – a hybrid between a checkbox and a dropdown list – despite how strange it might appear, has usability data backing its effectiveness by a broad range of users. The quantitative beat the qualitative.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;that's it for now. next week I'll definitely have more to share! meanwhile, if you haven't read previous posts, or would like to re-read them here are the links for all chapters: &lt;a href="http://rlopes.blogspot.com/2010/08/this-week-on-ux-chapter-iii.html"&gt;III&lt;/a&gt; &lt;a href="http://rlopes.blogspot.com/2010/08/this-week-on-ux-chapter-ii.html"&gt;II&lt;/a&gt; &lt;a href="http://rlopes.blogspot.com/2010/07/this-week-on-ux-chapter-i.html"&gt;I&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;(this is part of an experiment on posting some links I found around the Web centred on UX topics. most of them come from &lt;a href="http://feeds.feedburner.com/ruidlopes-uxblogs"&gt;my shared feed of UX blogs&lt;/a&gt;. thanks for reading this post!)&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-5657223504357015613?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/5657223504357015613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/5657223504357015613'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/08/this-week-on-ux-chapter-iv.html' title='This week on UX: Chapter IV'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-378638700149920640</id><published>2010-08-14T01:44:00.000+01:00</published><updated>2010-08-14T01:44:28.019+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><category scheme='http://www.blogger.com/atom/ns#' term='weekly'/><title type='text'>This week on UX: Chapter III</title><content type='html'>&lt;em&gt;(this is part of an experiment on posting some links I found around the Web centred on UX topics. most of them come from &lt;a href="http://feeds.feedburner.com/ruidlopes-uxblogs"&gt;my shared feed of UX blogs&lt;/a&gt;.)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Chapter III, 7th August 2010 - 13th August 2010&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.uxmatters.com/mt/archives/2010/08/avoid-being-embarrassed-by-your-error-messages.php"&gt;Avoid Being Embarrassed by Your Error Messages&lt;/a&gt;&lt;/h2&gt;This week's first instalment begins with an often forgotten issue with software: &lt;em&gt;the usability of software gone wrong&lt;/em&gt;. Let's face it: all non-trivial software has &lt;a href="http://en.wikipedia.org/wiki/Software_bug"&gt;bugs&lt;/a&gt;. And humans are more than accustomed to live with unexpected situations: it's what cognitive psychologists call &lt;a href="http://en.wikipedia.org/wiki/Inference"&gt;inference&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;However, several times, UIs provide dead ends when faced with an erratic behaviour. It becomes significantly troublesome to cope with such issues, e.g., cryptic error messages, error numbers, etc. No amount of inference by a human being (other than the programmer who coded it) will be able to discern the problem conveyed on most error messages. This article on &lt;a href="http://www.uxmatters.com"&gt;UX Matters&lt;/a&gt; discusses some of these behaviours of software. The key message from this article is: &lt;em&gt;Think about error messages as part of a conversation with users&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://particletree.com/features/visualizing-fittss-law/"&gt;Visualizing Fitts’s Law&lt;/a&gt;&lt;/h2&gt;&lt;a href="http://en.wikipedia.org/wiki/Fitts'_law"&gt;Fitts's law&lt;/a&gt;. The golden treasure of Usability. One of the few mathematical formulas than can quantify a usability property. For those who don't know or recall what this law states, it's explained in a few simple terms: the smaller the clickable area, the more difficult it becomes to reach it with the mouse quickly.&lt;br /&gt;&lt;br /&gt;This introductory article at &lt;a href="http://particletree.com"&gt;Particletree&lt;/a&gt; describes thoroughly the properties of Fitts's law, how it can be applied in a 2D scenario (since it was originally devised just for one dimension), and all with the aid of interesting and appealing pictures.&lt;br /&gt;&lt;br /&gt;Whether you are a novice or an expert in the UX field, I strongly recommend you to read this article. Well written, straight to the point (pun intended), and it even discusses a bonus point: &lt;em&gt;screen edges&lt;/em&gt; (spoiler alert: it's all in the &lt;em&gt;infinite dimensions&lt;/em&gt;).&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://uxmyths.com/post/931925744/myth-23-choices-should-always-be-limited-to-seven"&gt;Choices should always be limited to 7+/-2&lt;/a&gt;&lt;/h2&gt;This &lt;em&gt;meta&lt;/em&gt; article on &lt;a href="http://uxmyths.com"&gt;UX Myths&lt;/a&gt; provides several links to the discussion and debunking of one of the greatest myths in usability: the one that states that since people are only able to memorise few things in their short-term memory, they should be presented with lists with limited size.&lt;br /&gt;&lt;br /&gt;It's not enough to stress this fact once. It should be repeated ad nauseum. By having lists presented visually, sighted users do not need to (and will not) memorise them, since their affordance is immediate.&lt;br /&gt;&lt;br /&gt;Even for blind people, who depend greatly on short-term memory when interacting with information, can cope with big lists of information if they are familiar with the subject (&lt;em&gt;citation needed&lt;/em&gt;, but it comes from several observations on usability studies &lt;a href="http://boomux.com"&gt;we&lt;/a&gt; performed with blind and partially sighted users.).&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://blog.bumblebeelabs.com/the-5-guerrilla-user-test/"&gt;The $5 Guerrilla User Test&lt;/a&gt;&lt;/h2&gt;It seems that this week's articles are particularly focused on classical usability/UX topics. This last one discusses guerrilla usability testing: stop at a caffee and ask someone if they can help you with a small set of tasks.&lt;br /&gt;&lt;br /&gt;This kind of tests challenge the &lt;em&gt;myth&lt;/em&gt; that all usability tests are hard to make, require a lot of users, expensive equipment such as 10000€ eye-trackers, etc. With the right conditions and proper planning, guerrilla usability tests can provide several answers about the UX of a software, and keeps people from skewing their actions for being inside an etheral usability lab.&lt;br /&gt;&lt;br /&gt;The fun (dare I say, awesome) side of this article lays at a particular insight: &lt;em&gt;Drunk people are a pretty accurate mimic of distracted, indifferent people&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;(that's it for now. next week I'll definitely have more to share.)&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-378638700149920640?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/378638700149920640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/378638700149920640'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/08/this-week-on-ux-chapter-iii.html' title='This week on UX: Chapter III'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-5959178084629450759</id><published>2010-08-06T13:15:00.000+01:00</published><updated>2010-08-06T13:15:47.876+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><category scheme='http://www.blogger.com/atom/ns#' term='weekly'/><title type='text'>This week on UX: Chapter II</title><content type='html'>&lt;em&gt;(this is part of an experiment on posting some links I found around the Web centred on UX topics. most of them come from &lt;a href="http://feeds.feedburner.com/ruidlopes-uxblogs"&gt;my shared feed of UX blogs&lt;/a&gt;.)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Chapter II, 31st July 2010 - 6th August 2010&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.stcsig.org/usability/newsletter/0104-style.html"&gt;Guidance on Style Guides: Lessons Learned&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;When defining the UX of a software product, stopping at wireframes or graphical mockups is not enough. &lt;em&gt;Content is King&lt;/em&gt;. Having a great UI with poor, inappropriate content, designed UXs will fail miserably. &lt;em&gt;Extensibility is Desired&lt;/em&gt;. Especially on the Web side, the extremely dynamic growth of software implies extending UIs to cope with new features.&lt;br /&gt;&lt;br /&gt;Hence, &lt;em&gt;Style Guides&lt;/em&gt; come to help maintaining consistency after UX design. In this article on the &lt;a href="http://www.stcsig.org/usability/newsletter/"&gt;STC Usability SIG Newsletter&lt;/a&gt; discusses some key points to be taken when creating a Style Guide.&lt;br /&gt;&lt;br /&gt;Complementarily to this post, this week's readings also focused on more things about style guides:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A List Apart's &lt;a href="http://www.alistapart.com/articles/writingainterfacestyleguide"&gt;advice on writing style guides&lt;/a&gt;, as well as their own &lt;a href="http://www.alistapart.com/contribute/styleguide/"&gt;style guide&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;BBC's &lt;a href="http://www.bbc.co.uk/blogs/bbcinternet/2010/07/bbc_news_websites_content_mana.html"&gt;revamp of their CMS&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;UX Booth's &lt;a href="http://www.uxbooth.com/blog/complete-beginners-guide-to-content-strategy/"&gt;guide to content strategy&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.federalregister.gov/articles/2010/07/26/2010-18334/nondiscrimination-on-the-basis-of-disability-accessibility-of-web-information-and-services-of-state"&gt;Nondiscrimination on the Basis of Disability&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;Access to information without barriers is a &lt;a href="http://www.un.org/disabilities/"&gt;Human Right&lt;/a&gt;. Consequently, most countries have legislation to enforce it, ranging from non-discrimination in work, to barrier-free buildings, and accessible Web sites.&lt;br /&gt;&lt;br /&gt;This article at the &lt;a href="http://www.federalregister.gov"&gt;Federal Register&lt;/a&gt; delineates the strategy for updating USA's laws on this subject, specifically centred on how to legislate the requirement for Websites that provide information and services to the public.&lt;br /&gt;&lt;br /&gt;One of the biggest eye-openers in the proposal is that they are aiming not just to governmental agencies and offices, but also at &lt;strong&gt;enforcing accessibility on privately-owned services&lt;/strong&gt; that provide public services, such as online shopping.&lt;br /&gt;&lt;br /&gt;I really really wish that this kind of &lt;em&gt;hands-on&lt;/em&gt; governmental initiatives are pushed forward and enforced throughout the world.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.centigrade.de/en/blog/article/micro-interactions-vs-macro-interactions/"&gt;&lt;br /&gt;Micro-Interactions vs. Macro-Interactions&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;A &lt;em&gt;rogue&lt;/em&gt; blog post discussing a particularly interesting aspect of UX: how user gratification is reached by taking into account the macro and the micro in available interactions.&lt;br /&gt;&lt;br /&gt;Markus delves into discussing several macro properties of UIs, such as consistency among screens (or pages), among navigation, etc., by means of task analysis, wireframing, information architecture, and other common practices of the User Experience Design process. So far so good.&lt;br /&gt;&lt;br /&gt;But he correctly points out that, despite of the macro, the details of the micro are oft left out of UxD. I agree with him when he states that describing micro interactions, such as widgets' behaviours, are really difficult to attain with wireframes, storyboards, or even textual descriptions. His proposal of the micro is to delve into small usable prototypes which can be &lt;em&gt;interacted with&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;The gist that comes from this post: &lt;em&gt;It's all in the details&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.uie.com/articles/indispensable_skills"&gt;Five Indispensable Skills for UX Mastery&lt;/a&gt;&lt;/h2&gt;The last article I will discuss in this post concerns a UX skill set that every UX designer must learn, master, and bend: &lt;em&gt;sketching&lt;/em&gt;, &lt;em&gt;storytelling&lt;/em&gt;, &lt;em&gt;critiquing&lt;/em&gt;, &lt;em&gt;presenting&lt;/em&gt;, and &lt;em&gt;facilitating&lt;/em&gt;. Jared goes into detail in his latest instalment at &lt;a href="http://www.uie.com/brainsparks/"&gt;UIE Brain Sparks&lt;/a&gt;, for each one of these skills.&lt;br /&gt;&lt;br /&gt;While a really interesting read, I'd have to add a 6th indispensable skill: &lt;em&gt;writing&lt;/em&gt;. It's embedded in the entire UxD process, and as important as sketches. I'd dare to say that acquiring proper writing skills is tougher than four of the five original skills. Mastering the &lt;em&gt;presenting&lt;/em&gt; skill is probably the toughest of all, since it encompasses a bit of all other skills, as well as the &lt;em&gt;writing&lt;/em&gt; one.&lt;br /&gt;&lt;br /&gt;Still, all of them come from practicing, reading, thinking, and willing to learn. In this spirit, here's two more articles related to these questions:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://online.wsj.com/article/SB10001424052748703467304575383131592767868.html?mod=WSJEUROPE_hpp_MIDDLETopNews#printMode"&gt;Does Language Influence Culture?&lt;/a&gt; This provocative article from the &lt;a href="http://online.wsj.com"&gt;WSJ&lt;/a&gt; discusses the profound issues of language and culture, and how they are intertwined. It is a must read, if you do user research, especially when cross-cultural;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.wikihow.com/Read-Body-Language"&gt;How to Read Body Language.&lt;/a&gt; This article at &lt;a href="http://www.wikihow.com/"&gt;wikiHow&lt;/a&gt; centres on learning to understand people just by watching them (both actively and passively). These techniques are really fashionable now due to the &lt;a href="http://www.fox.com/lietome/"&gt;Lie to me&lt;/a&gt; TV series, but they do oft make different in UX, particularly when facilitating in user interviews and usability tests: the body speaks more truths than what the user says.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;em&gt;(that's it for now. next week I'll definitely have more to share.)&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-5959178084629450759?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/5959178084629450759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/5959178084629450759'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/08/this-week-on-ux-chapter-ii.html' title='This week on UX: Chapter II'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-6133667938146955567</id><published>2010-07-31T00:55:00.000+01:00</published><updated>2010-07-31T00:55:30.688+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><category scheme='http://www.blogger.com/atom/ns#' term='weekly'/><title type='text'>This week on UX: Chapter I</title><content type='html'>&lt;em&gt;(this is part of an experiment on posting some links I found around the Web centred on UX topics. most of them come from &lt;a href="http://feeds.feedburner.com/ruidlopes-uxblogs"&gt;my shared feed of UX blogs&lt;/a&gt;.)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Chapter I, 24th July 2010 - 30th July 2010&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.uxmatters.com/mt/archives/2010/06/ethnography-in-ux.php"&gt;Ethnography in UX&lt;/a&gt;&lt;/h2&gt;Usability (and user experience, by extension) does not rely just on the skills and proficiency of user experience designers on creating good software. At the same time, when interacting with end users through the many, well known techniques - card sorting, interviews, etc. - it is insufficient to have them sit at your office.&lt;br /&gt;&lt;br /&gt;Context is everything. Understanding the situational surroundings, &lt;em&gt;in-situ&lt;/em&gt; culture, etc. is as important as everything else. This article by &lt;a href="http://www.uxmatters.com/"&gt;UX matters&lt;/a&gt; discusses the usage of ethnography as another tool on the UX expert's belt.&lt;br /&gt;&lt;br /&gt;On a side note, I had the pleasure of reading &lt;a href="http://www.amazon.com/Contextual-Design-Customer-Centered-Interactive-Technologies/dp/1558604111"&gt;Contextual Design: Defining Customer-Centered Systems&lt;/a&gt; as part of my undergrad formation. It goes deep into the issues of using ethnography as the centre of designing usable systems. I strongly recommend you to read it too, but &lt;a href="http://en.wikipedia.org/wiki/Contextual_design"&gt;here's the Wikipedia gist on Contextual Design&lt;/a&gt; as a first peek into these concepts.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://abduzeedo.com/psychological-study-web-designs"&gt;Psychological Study of Web Designs&lt;/a&gt;&lt;/h2&gt;When creating things for people, psychology is a key factor for success. While deep analysis with theoretical cognitive models such as &lt;a href="http://en.wikipedia.org/wiki/GOMS"&gt;GOMS&lt;/a&gt; and &lt;a href="http://act-r.psy.cmu.edu/"&gt;ACT-R&lt;/a&gt; are applicable in Human-Computer Interaction situations, they are often too complex to be used on a daily basis.&lt;br /&gt;&lt;br /&gt;Nevertheless, practical outcomes of psychology are applicable when designing software. This article at &lt;a href="http://abduzeedo.com/"&gt;Abduzeedo&lt;/a&gt; discusses some of psychology that can boost the Return on Investment of a Website, such as &lt;em&gt;trust&lt;/em&gt; or &lt;em&gt;colour&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://jasonsantamaria.com/articles/a-real-web-design-application/"&gt;A Real Web Design Application&lt;/a&gt;&lt;/h2&gt;Designing a Web site aims at providing a good user experience for its target audience. And this is done with the aid of miscellaneous tools, ranging from graphical design to hand coding HTML. However, the landscape of powerful tools to aid Web designers is worse than desired (&lt;em&gt;talking about eating your own dog food...&lt;/em&gt;) In this article, &lt;a href="http://jasonsantamaria.com"&gt;Jason Santa Maria&lt;/a&gt; puts out his own frustrations on designing Web sites, and what would be the ideal tool for this task.&lt;br /&gt;&lt;br /&gt;Provocative, I'm sure. But there might be a business opportunity for like-minded software developers to enter into the reign of Adobe. A happier Web designer will certainly deliver better designs.&lt;br /&gt;&lt;br /&gt;(Be sure to read the post and the comments section too)&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.useit.com/alertbox/interviews.html"&gt;Interviewing Users&lt;/a&gt;&lt;/h2&gt;&lt;a href="http://www.useit.com/jakob/"&gt;Nielsen&lt;/a&gt;'s bi-weekly column is frequently filled with good insights and lessons into usability processes.&lt;br /&gt;&lt;br /&gt;It's latest article discusses the pros and cons of interviewing users in the context of usability studies. While these practices are essential, they cannot be taken lightly. Starting from how questions are formulated, and passing through the lack of results from singled-out focus groups, Nielsen's advice finishes with the &lt;em&gt;triangulation&lt;/em&gt; of studies as the best solution.&lt;br /&gt;&lt;br /&gt;Recent studies &lt;a href="http://boomux.com"&gt;we&lt;/a&gt;'ve done centred around using expert analysis, usability tests, and focus groups as complementary techniques to ensure a high quality usability study of a software. I can attest that it sure does work.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://uxmag.com/strategy/whats-in-a-name"&gt;What's in a Name?&lt;/a&gt;&lt;/h2&gt;This was probably the most significant and most interesting read I had this week. &lt;a href="http://uxmag"&gt;UX Magazine&lt;/a&gt;'s article provides us a detailed analysis of UX's meta level: keywords, jargon, names, and how it influences interaction with clients and co-workers.&lt;br /&gt;&lt;br /&gt;The best advices from this article are: to put a glossary of UX terms in your proposals, including descriptive images for each one (when possible); and decide on a common &lt;em&gt;lingo&lt;/em&gt; to be used inside your team.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;(that's it for now. next week I'll definitely have more to share.)&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-6133667938146955567?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/6133667938146955567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/6133667938146955567'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/07/this-week-on-ux-chapter-i.html' title='This week on UX: Chapter I'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-4740053472001438502</id><published>2010-04-05T19:22:00.000+01:00</published><updated>2010-04-05T19:22:39.693+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nexus'/><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>A personal take on the UX of two smart phones</title><content type='html'>(Yes, the title does not talk about the &lt;a href="http://www.apple.com/iphone/"&gt;iPhone&lt;/a&gt; and the &lt;a href="http://www.google.com/phone"&gt;Nexus One&lt;/a&gt;, but this post discusses my recent experience with both devices. I've dismissed the sensationalistic headline as an anti-self-promotion statement.)&lt;br /&gt;&lt;br /&gt;Ok, disclaimer done, onto the analysis itself.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;First Contender&lt;/h2&gt;Almost two years ago (that's April 2008), I acquired an iPhone, first generation, 16GB, through some friends in the US. The immediate experience I had with the phone was that of awe, while attending the &lt;a href="http://www2008.org/"&gt;WWW 2008 conference&lt;/a&gt;. Free wifi meant that over 50% of the time I was interacting with the Web and e-mail seamlessly, without having my laptop in, well..., my lap. My mobility during the entire conference had greatly changed. Heck, I even could make calls through wifi using &lt;a href="http://www.fring.com/"&gt;Fring&lt;/a&gt;, with an exceptional sound quality and low ping - and I was behind the &lt;a href="http://en.wikipedia.org/wiki/Golden_Shield_Project"&gt;Great Firewall of China&lt;/a&gt; while at the conference. So far, so good.&lt;br /&gt;&lt;br /&gt;The main reasons that made me delve into the iPhone concern two things: the &lt;a href="http://en.wikipedia.org/wiki/User_experience"&gt;user experience&lt;/a&gt; that Apple &lt;a href="http://developer.apple.com/ue/"&gt;craves for in all their products&lt;/a&gt;, and their immense applications catalogue &lt;a href="http://www.apple.com/iphone/apps-for-iphone/"&gt;App Store&lt;/a&gt;. For me, these two reasons have kept me a very very happy user for these two years. But here's a more detailed analysis of each one.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;User Experience&lt;/h3&gt;For those who don't know me that well, I'm currently a &lt;a href="http://hcim.di.fc.ul.pt/wiki/User:Rui_Lopes"&gt;researcher&lt;/a&gt; on the &lt;a href="http://hcim.di.fc.ul.pt/wiki/Main_Page"&gt;HCIM Lab&lt;/a&gt;. Therefore, I focus a lot of my work and attention to everything related with user experience (UX).&lt;br /&gt;&lt;br /&gt;First focus: &lt;em&gt;hardware&lt;/em&gt;. My iPhone is currently two years old. In terms of &lt;a href="http://en.wikipedia.org/wiki/Moore's_law"&gt;longevity&lt;/a&gt;, that would make this phone almost a dinosaur. But it certainly doesn't feel like one. Of course, being the first gen iPhone, the speakers aren't that great. The lack of &lt;a href="http://en.wikipedia.org/wiki/3G"&gt;3G&lt;/a&gt; (only &lt;a href="http://en.wikipedia.org/wiki/General_Packet_Radio_Service"&gt;GPRS&lt;/a&gt; used outside of wifi) does make me aware of the bloat of some (most?) Web sites - almost better than using &lt;a href="http://developer.yahoo.com/yslow/"&gt;YSlow&lt;/a&gt; :) The 16GB tend to fill up real quickly, since I have the bad habbit of &lt;a href="http://www.last.fm/user/ruidlopes"&gt;listening to full discographies&lt;/a&gt;. It would also be nice to rely on &lt;a href="http://en.wikipedia.org/wiki/Global_Positioning_System"&gt;real GPS&lt;/a&gt;, instead of the poorer grade &lt;a href="http://en.wikipedia.org/wiki/Assisted_GPS"&gt;A-GPS&lt;/a&gt;. Mind me, all of these issues have been solved in &lt;a href="http://www.apple.com/iphone/iphone-3g/"&gt;more&lt;/a&gt; &lt;a href="http://www.apple.com/iphone/iphone-3gs/"&gt;recent&lt;/a&gt; versions of the iPhone.&lt;br /&gt;&lt;br /&gt;So, even with all these limitations, I feel extremely happy with the phone, even after two years. I believe that this is due to a non-quantifiable property of the device itself (hardware+software): it's &lt;a href="http://www.merriam-webster.com/dictionary/tangible"&gt;tangible&lt;/a&gt;. The way one holds the device and interacts with it just feels natural. And, for me (and a lot of people), that's more important. Not everything is about a buttload of &lt;em&gt;features&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Second focus: &lt;em&gt;software&lt;/em&gt;. The &lt;a href="http://en.wikipedia.org/wiki/IPhone_OS"&gt;iPhone OS&lt;/a&gt; plays a crucial role on meeting users' expectations. It's stability allows for little room for failure (after all, it's a &lt;a href="http://en.wikipedia.org/wiki/Darwin_(operating_system)"&gt;UNIX-ish operating system&lt;/a&gt;). The &lt;a href="http://en.wikipedia.org/wiki/IPhone_OS_version_history"&gt;constant upgrades&lt;/a&gt; on the firmware provided a game-changing approach to mobile phones, where user experience is improved at each cycle: new features appear, old bugs are squashed, performance is improved, battery life is extended. This alone has extended the lifetime of the phone.&lt;br /&gt;&lt;br /&gt;Another thing that the software plays a crucial role on the phone's tangibility concerns animations. Yes, animations can be (and often are) crappy, and deeply disturb the peace (i.e., experience) of all users, from novice to experts. But these animations play a significant role on the experience. Icons, buttons, pages, etc., all UI elements feel right, almost real, without laying at a UI-ish &lt;a href="http://en.wikipedia.org/wiki/Uncanny_valley"&gt;uncanny valley&lt;/a&gt;. The same factor applies to the soft keyboard. It's pure magic. It works way much better than what I would expect (and subsequent firmware upgrades have greatly improved its responsiveness), but the lack of a self-learning auto-completion dictionary is a very bad design choice.&lt;br /&gt;&lt;br /&gt;Since I'm discussing a &lt;em&gt;phone&lt;/em&gt;, ultimately I have to talk a bit about that part of the experience. Good address book, good phone interface (I just love its &lt;a href="http://www.freeoniphone.com/iphone-proximity-sensor"&gt;proximity sensor thingy&lt;/a&gt;), excellent SMS (that's &lt;em&gt;texting&lt;/em&gt; for you americans) capabilities - esp. its conversational look, just like &lt;a href="http://en.wikipedia.org/wiki/Instant_messaging"&gt;IM&lt;/a&gt;. One thing that I personally miss - and it does bother me a lot - is the lack of SMS sending status (i.e., delivered, pending, failed).&lt;br /&gt;&lt;br /&gt;But there's more: bundled apps are great (read: the out-of-the-box experience is good from the ground start).&lt;br /&gt;&lt;br /&gt;Using the Web with my fingers is, to say the least, an insightful experience. &lt;a href="http://www.apple.com/iphone/iphone-3gs/safari.html"&gt;Mobile Safari&lt;/a&gt; nails it. Even in non-tailored Web pages, the "desktop"-ish Web becomes tangible, just like a (physical!!!) piece of paper. E.g., it became natural to me (read: part of my daily routine) to read the news while commuting in the subway. Furthermore, the ability of bookmarking Web sites to the phone's home screen is a win. With the ever growing (infinite?) tailoring of Web sites to the constraints imposed by the phone, several Web sites and Web applications are part of my home screen (esp. &lt;a href="http://www.google.com/mobile/"&gt;thanks to Google!&lt;/a&gt;). On a side note, not having Flash nor Java is a killer feature.&lt;br /&gt;&lt;br /&gt;Being a descendant of the &lt;a href="http://www.apple.com/ipodclassic/"&gt;iPod&lt;/a&gt;, it's music playing abilities are also up to the expected. Tip: do not forget to turn off "shake to shuffle", otherwise music will skip while you're walking (bad default). Overall, the experience is as good as expected. However, while it's possible to listen to music while interacting with other apps (take that, you no-multitasking-pointing-fingerers!), I'd love to have the ability to &lt;a href="http://www.last.fm/download"&gt;scrobble&lt;/a&gt; my tracks directly to &lt;a href="http://www.last.fm/user/ruidlopes"&gt;last.fm&lt;/a&gt;. Well, technically &lt;a href="http://www.last.fm/group/scrobbl"&gt;I'm doing that&lt;/a&gt;, but I had to &lt;a href="http://en.wikipedia.org/wiki/Jailbreak_(iPhone_OS)"&gt;jailbreak&lt;/a&gt; the phone first.&lt;br /&gt;&lt;br /&gt;The maps application plays it role pretty well too. Even with A-GPS, it locates me accurately. Couple with Google's instructions on directions it has saved me a lot of time. Now I have zero excuses for getting lost somewhere.&lt;br /&gt;&lt;br /&gt;Youtube. One of the holly grails of Internet-centric procrastination. Its barebones approach to the user interface provides a better UX compared to the Web version: straight-to-the-point controls, full-screen, and zero hormone-induced teenager-fuelled comments.&lt;br /&gt;&lt;br /&gt;Using the Mail app, well, is less optimal than desired (it's crappy, really), to say the least. Having ported all my mail to Gmail, and having a complex mail configuration at my lab, the bundled Mail application acts funny, just like its desktop counterpart. Coupled with the inability of tagging Gmail messages, I ported my e-mail experience to Google's Gmail on the Web (optimised for smart phones) and it feels great. One less point to Apple for this, but half added to Mobile Safari. (Actually, this experience with desktop/mobile mail clients would provide enough fodder for an in-depth blog post. I hate them all with a passion.)&lt;br /&gt;&lt;br /&gt;Finally, the camera. It's crappy and slow. Enough for twitting and facebooking, I say. &lt;a href="http://www.flickr.com/groups/iphonecameraart/"&gt;Others&lt;/a&gt; believe that its limitations foster creativity.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;App Store&lt;/h3&gt;Yes it's a walled garden. I think Apple should provide a semi-complex (but legal) way to install non-verified applications, to cater to their power users (are these users their main audience?).&lt;br /&gt;&lt;br /&gt;But having a walled garden like the App Store is often beneficial to users' experience with the device. Yes, &lt;a href="http://usersaredumb.com/"&gt;users are dumb&lt;/a&gt; and often click (tap?) where they shouldn't and then, bam! their devices become part of &lt;a href="http://en.wikipedia.org/wiki/Botnet"&gt;botnets&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;My phone is jailbroken and I only take advantage of the aforementioned last.fm scrobbling capability. I guess it says something about the urge of (not!) having a more open approach to the App Store.&lt;br /&gt;&lt;br /&gt;Another thing that I believe the App Store pretty much hit the nail concerns their App acceptance policy. Despite being &lt;a href="http://www.huffingtonpost.com/2010/03/11/secret-apple-iphone-devel_n_493331.html"&gt;draconian sometimes&lt;/a&gt;, it imposes a quality level on the App's UX which is often just encountered in gaming consoles &lt;a href="http://uk.playstation.com/psn/"&gt;online&lt;/a&gt; &lt;a href="http://www.xbox.com/en-US/LIVE/"&gt;stores&lt;/a&gt;. The App Store is well organised (despite suffering from some growing pains) and all applications provide a good explanation and screenshots to convey the experience they want to convey to their potential customers.&lt;br /&gt;&lt;br /&gt;Despite all of this mumbo-jumbo, I have expanded and extended my experience with the phone with a motherload of Apps that I use on an almost daily basis. Games (e.g., &lt;a href="http://itunes.apple.com/us/app/traffic-rush/id322423174?mt=8"&gt;Traffic Rush&lt;/a&gt;, &lt;a href="http://itunes.apple.com/us/app/orba/id339434383?mt=8"&gt;Orba&lt;/a&gt;), utilities (e.g., &lt;a href="http://www.accuweather.com/iphone.asp"&gt;AccuWeather&lt;/a&gt;, &lt;a href="http://mobile.sapo.pt/iphonelab/cineen.html"&gt;Cine SAPO&lt;/a&gt;, &lt;a href="http://www.agilepartners.com/apps/guitartoolkit/"&gt;GuitarToolkit&lt;/a&gt;), social networking on steroids (e.g., &lt;a href="http://web.pond.pt/index?action=mobileapps"&gt;Pond&lt;/a&gt;, &lt;a href="http://www.facebook.com/iphone"&gt;Facebook&lt;/a&gt;, &lt;a href="http://foursquare.com/iphone/"&gt;Foursquare&lt;/a&gt;), and news reading (e.g., &lt;a href="http://www.appstorehq.com/p-blico-iphone-172138/app/buy"&gt;Publico&lt;/a&gt;, &lt;a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284862083&amp;mt=8"&gt;New York Times&lt;/a&gt;), &lt;a href="http://www.instapaper.com/iphone"&gt;InstaPaper&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Overall, the &lt;a href="http://www.google.com/search?client=safari&amp;rls=en&amp;q=there's+an+app+for+that&amp;ie=UTF-8&amp;oe=UTF-8"&gt;"there's an app for that"&lt;/a&gt; moniker is really true. And overall, apps do provide a great user experience. &lt;a href="http://wellplacedpixels.com/"&gt;Just look at some examples&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Second Contender&lt;/h2&gt;I had the pleasure to be given a Nexus One, the oft desired &lt;a href="http://www.android.com/"&gt;Android&lt;/a&gt; phone created by Google, touted as the iPhone killer. Due to my extensive usage with the iPhone, as you can tell from the excessive number of paragraphs above, I had to compare both devices.&lt;br /&gt;&lt;br /&gt;But first, an &lt;em&gt;obvious&lt;/em&gt; remark: I have been using the Nexus for just 2 weeks now, which is close to 100x less time. This fact single-handedly undermines the comparison in a couple of things: the tangible metaphors provided by both systems differ, thus I often make some mistakes while interacting with the Nexus. These type of issues will not have a role for discussion on which is the best device. But the experience on using a tangible device for two years now, yes, that will have a role in the discussion. &lt;em&gt;/endofdisclaimer&lt;/em&gt; Now, onto the analysis itself.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;User Experience&lt;/h3&gt;Being a Google fan myself (Search, News, Gmail, Calendar, and Reader used recurrently on a daily basis), my expectations for this device were high. The first thing I noticed is the gorgeous, impressive, beautiful &lt;a href="http://en.wikipedia.org/wiki/Active-matrix_OLED"&gt;AMOLED&lt;/a&gt; screen. Putting this device side-by-side with the iPhone, the latter pales. A lot.&lt;br /&gt;&lt;br /&gt;The phone also feels very fast. Actually it feels a lot faster than my iPhone (not sure about its speed comparison with the 3GS, though). This single fact poses significant implications on the quality of the UX of the device. A faster CPU does imply the capability to improve the UX.&lt;br /&gt;&lt;br /&gt;Another feature touted by iPhone killers concerns having a memory card slot. The Nexus accomplishes this with a standard &lt;a href="http://en.wikipedia.org/wiki/MicroSD"&gt;microSD&lt;/a&gt; slot, with a bundled 4GB card. Less than the memory of the iPhone, but expandable to a theoretical 128GB. This will be great to carry my entire music library and still have some space left for pictures.&lt;br /&gt;&lt;br /&gt;The Nexus' physical buttons provide a different UX to interact with the phone. One, which I call "the nipple" is similar to Blackberry's trackball. I loathe it and wished that HTC and Google's industrial designers hadn't had the chance to include it. It's too imprecise, feels like an afterthough, too little gripe. (tip: do NOT use it to "click".) But hey, I suppose they wanted to cater to Blackberry customers, providing a shorter path for conversion. Nevertheless, the trackball also acts as a LED, blinking when a notification appears. I like this a lot!&lt;br /&gt;&lt;br /&gt;The other four buttons (back, menu, home, search) are touchable buttons, almost like software buttons, and provide physical feedback through vibration (loved this part). In time, I have quickly grasped their usage through the daily interaction with the phone. Different from the iPhone, not better nor worse. Regarding pure soft keys (i.e., touch keyboard), I'm not sure about its effectiveness while typing. The auto-completion is better than the iPhone's, but the smaller spacing between keys is a big no-no for my somewhat fat fingers.&lt;br /&gt;&lt;br /&gt;Which brings me to the biggest gripe wrt to the touch screen. Yes, I can confirm it's less imprecise than the iPhone's, &lt;a href="http://labs.moto.com/robot_touchscreen_analysis/"&gt;just like others have extensively previously tested&lt;/a&gt;. I have found one particular issue with this touch screen: it fails A LOT (and by that I mean almost always!) with moisturised hands... Impossible to type, to hit buttons, etc. Pretty unusable. Other than that, it's more than good (after all, it's capacitive).&lt;br /&gt;&lt;br /&gt;Still on the hardware side, the Camera is absolutely better than my iPhone's. Faster, more responsive, with a better lens (do not care about &lt;a href="http://en.wikipedia.org/wiki/Pixel#Megapixel"&gt;megapixels&lt;/a&gt;, that's a crappy way to compare camera quality). Loving it. Multimedia-wise, this hardware analysis finishes with a heads up to the speakers: great quality coming out of these babies!&lt;br /&gt;&lt;br /&gt;Now onto &lt;em&gt;software&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;By being based on the &lt;a href="http://www.linux.org/"&gt;Linux Kernel&lt;/a&gt; (also UNIX-ish), the Android platform started great. Applications run inside a &lt;a href="http://en.wikipedia.org/wiki/Virtual_machine"&gt;VM&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Dalvik_virtual_machine"&gt;Dalvik&lt;/a&gt;. Despite of this, I do not feel any sluggishness on running apps. By having it coupled with the leveraging of the Java platform for development, it's a winning recipe for success.&lt;br /&gt;&lt;br /&gt;Going up a couple of layers in the OS, I reach the user interface. Most of the interaction metaphors feel natural, tangible. The inclusion of the "back" button in the phone provides to be useful especially when getting lost in &lt;a href="http://seesmic.com/seesmic_mobile/android/"&gt;seesmic&lt;/a&gt;-&lt;a href="http://twitter.com"&gt;twitter&lt;/a&gt;-detail-link-Web page hyperspaces.&lt;br /&gt;&lt;br /&gt;As a phone, it provides the same UX as the iPhone. Contacts, calling, and SMS, all function perfectly for my daily usage without any burden. And they provide me with SMS notifications. Yay! (Hear that, Apple?)&lt;br /&gt;&lt;br /&gt;One of the things that have impressed me in the Nexus, and I already expected something like this, concerns its integration of &lt;a href="http://en.wikipedia.org/wiki/List_of_Google_products"&gt;Google services&lt;/a&gt;. You log-in into your user account and everything is setup and working: Mail, calendar, chat. Despite the fact that Gmail labels aren't coloured as they should (they're all blue!), Gmail is one killer app on Android. Almost as good as its mobile Web version.&lt;br /&gt;&lt;br /&gt;Which brings me into the next topic: Web. They have exceeded their expectations. The Nexus is an awesome device to interact with the Web. The speedy CPU coupled the excellent &lt;a href="http://code.google.com/p/v8/"&gt;V8 virtual machine&lt;/a&gt; provide a great experience, even with JS-heavy Web pages. Substantially better than in the iPhone. One particular aspect they have catered to more powerful users is the ability to hook features into the browser, such as providing support to &lt;a href="http://www.instapaper.com/"&gt;InstaPaper&lt;/a&gt;. This is one of the cases where under-hooking the OS provides added values.&lt;br /&gt;&lt;br /&gt;The same applies to listening to music: since the OS is more open to applications, last.fm scrobbling works &lt;a href="http://www.last.fm/group/Simple+Last.fm+Scrobbler"&gt;seamlessly&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;However, UX-wise, I feel that sometimes the Nexus is more akin to engineering than to experiencing. More is more, contrary to the &lt;a href="http://en.wikipedia.org/wiki/Simplicity"&gt;"less is more"&lt;/a&gt; adagio. Things such as:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;"Stricter" animations (i.e., more stiff, less smooth, and more sluggish) kill some of the expected tangible properties.&lt;/li&gt;&lt;li&gt;Several Yes/No confirmation dialogs, contrary to &lt;a href="http://www.usabilitypost.com/2008/08/30/usability-tip-use-verbs-as-labels-on-buttons/"&gt;usability guidelines&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Insensible defaults, such as leaving the chat open, even when you kill the Gtalk application. I had to figure out I had to logout of the chat for this to stop.&lt;/li&gt;&lt;li&gt;Background apps is a neat feature, theoretically. However it drains too much battery, makes the system a bit more sluggish, and task management becomes a burden the user has to handle. I wished there was a toggle to make this more iPhone-ish...&lt;/li&gt;&lt;li&gt;Did I mention it takes &lt;em&gt;9 freaking touches&lt;/em&gt; to kill an application? (Yes, this is a case where "there's an app for that" diminishes the issue, but doesn't solve it UX-wise).&lt;/li&gt;&lt;li&gt;There's no way to disable Data communication. I just reached the limits of my pre-paid data plan real quickly thanks to this. (Yes, this is also a case where "there's an app for that" diminishes the issue, but doesn't solve it UX-wise).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Android Market&lt;/h3&gt;The first issue that arose concerns the availability of paid apps. Since I'm located in &lt;a href="http://en.wikipedia.org/wiki/Portugal"&gt;Portugal&lt;/a&gt;, Google &lt;a href="http://market.android.com/support/bin/answer.py?hl=en&amp;answer=143779"&gt;says it's a no-no&lt;/a&gt; in this place. Oh, Google...&lt;br /&gt;&lt;br /&gt;This leaves open just a small breach of applications. Coupled with the less tight rules for publishing applications, the overall quality of the Android Market is less than optimal. The usual suspects are there (e.g., &lt;a href="http://www.facebook.com/apps/application.php?id=74769995908"&gt;Facebook&lt;/a&gt; even comes pre-installed, seesmic, etc.). Unfortunately I have noticed that most of the applications have a lower quality (features, UX), when compared to their iPhone counterpart.&lt;br /&gt;&lt;br /&gt;However, it leaves too much out. I mentioned previously that App Store's ability to cater to my expectations has a significant role on the tangibility of the device. It's not a phone, nor a Web browser. It's all of that and much more.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Final thoughts&lt;/h2&gt;(I'm pretty sure I have forgot to mention things about my experience with both phones. But probably that means that those things aren't that important for me...)&lt;br /&gt;&lt;br /&gt;Competition is great! Having a ground-breaking device such as the iPhone has put a lot (A LOT) of companies on their toes wrt Internet, Web, phone calling, game platforms, application developers, mobility, pervasiveness. Companies started touting their newer phones as iPhone killers, particularly by having more features (not by having a better UX - mind that).&lt;br /&gt;&lt;br /&gt;Google also did that with the Nexus, but keeping a keen eye on the UX. Despite some of its awkwardnesses, I believe Google will further improve Android's UX, since they are strong advocates of &lt;a href="http://orangehues.com/blog/2003/09/google-quote-iterative-design.html"&gt;Iterative Design&lt;/a&gt; techniques. Ultimately, I expect the Nexus to become par with the current state of the iPhone UX-wise.&lt;br /&gt;&lt;br /&gt;But Apple will keep feeling the pressure of the Android platform, and will push forward the boundaries of tangible UX on smart phones. Unfortunately I am not so sure whether the Android Market will catch up with the App Store, both in quantity and quality terms. I predict that, if that doesn't happen, Google (and other contenders) will lose this war. Even if Apple doesn't get its head straight wrt its Web strategy.&lt;br /&gt;&lt;br /&gt;I'm carrying both in my pocket, every day. I interact with both all the time (sometimes at the same time - no roll tongue intended). Let's see what the future will say for both devices and how that will change the experience I'm having.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-4740053472001438502?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4740053472001438502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4740053472001438502'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2010/04/personal-take-on-ux-of-two-smart-phones.html' title='A personal take on the UX of two smart phones'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-4128805777454587316</id><published>2009-07-18T01:50:00.004+01:00</published><updated>2009-07-18T02:11:33.176+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='SheevaPlug'/><title type='text'>Experimenting with SheevaPlug: prologue</title><content type='html'>Recently I've received my brand new &lt;a href="http://www.marvell.com/products/embedded_processors/developer/kirkwood/sheevaplug.jsp"&gt;SheevaPlug Development Kit&lt;/a&gt;. What is this exactly? Basically, it's a &lt;a href="http://en.wikipedia.org/wiki/Plug_computer"&gt;plug computer&lt;/a&gt; that runs on a low-power ARM (I think) CPU, has 512MB RAM, 512 flash, USB 2.0 and GigaBit. It only lacks a video/sound out (hopefully just to trigger creativity from all of us ;).&lt;br /&gt;&lt;br /&gt;It has already a &lt;a href="http://www.plugcomputer.org/"&gt;kickass community&lt;/a&gt; doing a lot of experimenting with it: media servers, backup servers, or even home automation stuff. I fell in love with it - its potential -, and its price ($99 + dementia-rated customs overheads in Portugal. tip: around the same amount of extra taxes. ouch).&lt;br /&gt;&lt;br /&gt;I have read a lot about what can (not) be done with a plug computer, and I'm eager to start working with it. But first things first. The development environment has been created mostly for linux. And I'm running OS X. Thus I've downloaded &lt;a href="http://www.virtualbox.org/"&gt;VirtualBox&lt;/a&gt; and I'm currently in the process of installing Ubuntu on it, just to have a proper development environment kicking.&lt;br /&gt;&lt;br /&gt;The next post about SheevaPlug will talk about the installation process of the development kit and getting &lt;em&gt;something visible&lt;/em&gt; to boot.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-4128805777454587316?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4128805777454587316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4128805777454587316'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2009/07/experimenting-with-sheevaplug-prologue.html' title='Experimenting with SheevaPlug: prologue'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-7456400368427948874</id><published>2009-07-18T01:13:00.006+01:00</published><updated>2009-07-18T01:48:32.486+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='hacking'/><title type='text'>The new old school DIY</title><content type='html'>I have a need to express myself. Lately I've been interested in exploring the &lt;a href="http://en.wikipedia.org/wiki/Do_it_yourself"&gt;DIY culture&lt;/a&gt;. That is, "Do it yourself". With so many things explored on the Web, lots and lots of ideas have sprout out of my mind. Some already implemented, others only on the paper, and others still kept in the back of my head.&lt;br /&gt;&lt;br /&gt;So, I like computers, music, and I'm not afraid of getting my hands dirty with software/hardware (especially a mix of both). Thus, these ideas express my thinking and eagerness of really doing something myself, just for the kicks. As technological progress has been keeping its pace, we're not stuck with &lt;a href="http://en.wikipedia.org/wiki/Amateur_radio"&gt;HAM Radio&lt;/a&gt; stuff. &lt;a href="http://en.wikipedia.org/wiki/Moore's_law"&gt;Moore's law&lt;/a&gt; is a blessing in the 21st century DIY movement too. Smaller hardware + better software = faster prototyping. Welcome to &lt;em&gt;the new old school DIY&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Enough talk. Here's what I've been up to as of now (July 18th 2009):&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Software-based sound generation machines:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;an interactive tweet (as in bird &lt;em&gt;chirp&lt;/em&gt;) generator, a beep pattern creator (kind of a drum machine, but with beeps), and a pretty configurable noisebox, all implemented in &lt;a href="http://processing.org/"&gt;Processing&lt;/a&gt;;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;an iPhone accelerometer-based &lt;a href="http://en.wikipedia.org/wiki/Theremin"&gt;theremin&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;An &lt;a href="http://www.arduino.cc/"&gt;arduino&lt;/a&gt; Mega is already waiting for some junk to be plugged, in order to transform the sound generation machines into something more physical.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Just got a &lt;a href="http://www.marvell.com/products/embedded_processors/developer/kirkwood/sheevaplug.jsp"&gt;SheevaPlug&lt;/a&gt; to hack some media server things, as well as some home automation stuff.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Hacking a bit with javascript something that could remotely resemble with &lt;a href="http://en.wikipedia.org/wiki/Demoscene"&gt;Demoscene&lt;/a&gt; things.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;experimenting with multi-touch + &lt;a href="http://processingjs.org/"&gt;processing.js&lt;/a&gt; (yes, javascript) interactive art on the iPhone.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Since I'm lazy, none of these projects have been made publicly available, yet. Ping me if you feel like contributing to some (or all) of these ideas, even if they stay at the vaporware level :)&lt;br /&gt;&lt;br /&gt;Stay tuned, 'cause I'll be posting about these projects (whenever I feel like blogging). And that's all for a 1:48am Saturday rant.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;P.S. sorry for not posting for so long, but you can keep the pace of my musings on &lt;a href="http://twitter.com/ruidlopes"&gt;my twitter account&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-7456400368427948874?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/7456400368427948874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/7456400368427948874'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2009/07/new-old-school-diy.html' title='The new old school DIY'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-3815181872121188036</id><published>2008-12-15T15:24:00.004Z</published><updated>2008-12-15T17:09:40.577Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='url shortening'/><category scheme='http://www.blogger.com/atom/ns#' term='services'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='whit.me'/><title type='text'>whit.me: the Whats, the Whys, and the Hows.</title><content type='html'>Well, not so long ago, I've &lt;a href="http://twitter.com/ruidlopes/status/1028082958"&gt;launched a service for URL shortening&lt;/a&gt;, &lt;a href="http://whit.me"&gt;whit.me&lt;/a&gt;. If you don't know that much about URL shorteners, please head to &lt;a href="http://en.wikipedia.org/wiki/Redirect_service"&gt;Wikipedia&lt;/a&gt; for a crash course. The canonical (and most famous) example for this type of services is &lt;a href="http://www.tinyurl.com/"&gt;TinyURL&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Thorough reviews on URL shortening services can be found &lt;a href="http://mashable.com/2008/01/08/url-shortening-services/"&gt;elsewhere&lt;/a&gt; &lt;a href="http://www.readwriteweb.com/archives/too_many_people_use_tinyurl.php"&gt;on the Web&lt;/a&gt;. This begs for the question: why another URL shortener, since they appear like mushrooms? Lets start by analysing what does whit.me has in common with all of them:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Short URLs:&lt;/em&gt; well, it's the main purpose of the service. whit.me's have a typical length of 21 chars (e.g., http://whit.me/XXXXXX), but they can be reduced to a 16 chars count;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Automatic redirection:&lt;/em&gt; by default, following a whit.me URL will automatically redirect to the linked Web page;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Manual redirection:&lt;/em&gt; to prevent URL obfuscation (which can lead to annoyances such as spamming or rick-rolling);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Custom aliases:&lt;/em&gt; to help making short URLs more user-friendly;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Bookmarklet:&lt;/em&gt; always useful, to lower the entry barrier on interacting with URL shortening services;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;APIs:&lt;/em&gt; &lt;a href="http://en.wikipedia.org/wiki/JSON"&gt;JSON&lt;/a&gt; (and JSONP) APIs provide simple endpoints to help flourishing an ecosystem built on whit.me's shoulders.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Now, why might (should?) you change from your preferred/favourite URL shortening service to whit.me? Some highlights:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;High availability:&lt;/em&gt; whit.me sits on top of &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt;, which ensures a high quality of service for whit.me and, consequently, ensures that whit.me short URLs will not suffer from &lt;a href="http://en.wikipedia.org/wiki/Link_rot"&gt;link rot&lt;/a&gt;, or even service unavailability;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Multiple URLs:&lt;/em&gt; few services allow linking to multiple Web pages. It has often been one of the key problems with the Web, on-to-many links (in comparison with &lt;a href="http://en.wikipedia.org/wiki/Hypertext"&gt;other hypertext systems&lt;/a&gt;);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Annotation:&lt;/em&gt; additionally to the URLs, one can add a simple text note to enrich the context of the linked Web pages;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Integration in Web sites:&lt;/em&gt; By embedding a script into any Web page, existing whit.me URLs become active, by displaying a drop-down menu in-situ with all the URLs (&lt;a href="http://www.rlopes.net/whitme/example.html"&gt;view example&lt;/a&gt;);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;iPhone-friendly:&lt;/em&gt; URL redirection pages also have an iPhone friendly user interface, which can be used e.g. for the creation of start pages for Web navigation (and properly bookmarked to the Home screen).&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Such a simple service can, of course, be further expanded with other features (some present in competing services) such as spam detection, link analytics, personal link management, etc. (in no relevant order) Naturally, whit.me will evolve in the future to cover these features. I have planned several other features (not present in any URL shortening service, as far as I can tell), which will increase its value from the perspective of all users (those who create/manage URLs, and those who just click on them). If all goes as expected, whit.me will be much more than simply URL shortening, but indeed a nice platform for information/navigation management for the Web-savvy. More on this later on (you're free - and more than welcome - to &lt;a href="http://twitter.com/ruidlopes"&gt; follow me in twitter&lt;/a&gt; to get updates on this as soon as they come out).&lt;br /&gt;&lt;br /&gt;Developing this type of services is really simple, since there's no special magic or voodoo required to master. This was quickly hacked with a set of technologies: &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt;, &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt;, &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt;, and, of course, all outputting and manipulating the ubiquitous HTML+CSS Web combo. Some (probably) interesting tidbits/hacks in Python and App Engine's APIs have given rise to a nice simple framework that someday might be extracted and refactored into a small stand-alone project on itself. &lt;br /&gt;&lt;br /&gt;However, reaching the sweet spot on User Experience is a difficult task. Keeping the user interface (UI) simple and attractive is not a trivial task, since whit.me supports more features than the common URL shortener. I believe that, after some iterations, it has reached UI stability. From now on, all features added to whit.me will probably take a while to be launched, to ensure that User Experience is maintained or, ideally, improved.&lt;br /&gt;&lt;br /&gt;Stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-3815181872121188036?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/3815181872121188036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/3815181872121188036'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2008/12/whitme-whats-whys-and-hows.html' title='whit.me: the Whats, the Whys, and the Hows.'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-8913095117760090444</id><published>2008-06-03T15:42:00.012+01:00</published><updated>2008-06-04T11:11:34.262+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='scientific writing'/><category scheme='http://www.blogger.com/atom/ns#' term='workflow'/><category scheme='http://www.blogger.com/atom/ns#' term='gtd'/><title type='text'>Writing Workflow for Scientific Articles</title><content type='html'>I'm a &lt;a href="http://hcim.di.fc.ul.pt/wiki/User:Rui_Lopes"&gt;researcher&lt;/a&gt;. An important part of my work concerns writing &lt;a href="http://en.wikipedia.org/wiki/Peer_review"&gt;peer-reviewed&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Academic_publishing"&gt;scientific papers&lt;/a&gt;, in order to expose my work in different scientific venues, such as symposiums, conferences, journals, and books.&lt;br /&gt;&lt;br /&gt;Having an excellent research work, with excellent results and findings, is insufficient to have a paper accepted. An important part of this process relates to exposing your ideas, your results. And writing papers is really hard task. It's a mix of sweating to find the proper words and to put them in the proper places, with a fluid sequence of ideas and explanations. It's almost an art form, despite some fairly dogmatic (common-sense?) items that must be present, such as state-of-the-art review, introduction and conclusions, etc.&lt;br /&gt;&lt;br /&gt;To achieve a an accepted quality in the writing process (assuming that the actual content is scientifically relevant, &lt;em&gt;of course&lt;/em&gt;), I typically perform a well-defined set of tasks: research on existing (and relevant) state-of-the-art work (hand-in-hand with the development of the research work and results gathering/analysis), organise high-level ideas into concepts, drill, cite work, read, annotate, and iterate until reaching the desired result (or, &lt;em&gt;more often than not&lt;/em&gt;, reaching the &lt;a href="http://www.phdcomics.com/comics.php?f=998"&gt;deadline&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;This fairly complex and exhausting process can be leveraged a bit by using the right tools at the right time, in order to shift my focus towards &lt;a href="http://en.wikipedia.org/wiki/Getting_Things_Done"&gt;Getting Things Done&lt;/a&gt;. That is, not worrying about crashing document editors, text formatting, citing format, print+comment+rectify/improve. Just focus on structure on my ideas and write them in a coherent way.&lt;br /&gt;&lt;br /&gt;Furthermore, the sheer amount of research work that is published every year in related venues makes it increasingly difficult to find needles in haystacks. That is, find &lt;em&gt;that&lt;/em&gt; research article in the piles of paper sitting in the desk, unorganised or, at best, stored in shelves. Obviously, this process doesn't scale. It's an evident role for digital technologies, specially for bibliography and citation management tasks.&lt;br /&gt;&lt;br /&gt;I think that several researchers can relate to these scenarios. Hence, all of this blabber leads to my suggestion of a &lt;em&gt;workflow&lt;/em&gt; optimised for scientific articles writing tasks, tailored to the best software I could find. On &lt;a href="http://www.apple.com/macosx/"&gt;OS X&lt;/a&gt;. I'm not sure if some of the software I'll be talking about in the rest of this post has counterparts in other platforms. If so, please feel free to comment and contribute with some thoughts and links.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;LaTeX&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;No researcher in her/his own mind writes scientific articles with other software (unless it's specifically prohibited). &lt;a href="http://en.wikipedia.org/wiki/LaTeX"&gt;LaTeX&lt;/a&gt;, a set of extensions to the &lt;a href="http://en.wikipedia.org/wiki/TeX"&gt;TeX typing system&lt;/a&gt;, where one focuses just on document structure (i.e., abstract, sections, etc.) and on content itself. LaTeX files are plain text files. They are parsed and processed with LaTeX software through one of the several flavours &lt;a href="http://www.google.com/search?q=latex+distribution"&gt;wildly available on the Web&lt;/a&gt;, resulting on either a &lt;a href="http://en.wikipedia.org/wiki/PostScript"&gt;PostScript&lt;/a&gt; document (.PS) or a universally accepted &lt;a href="http://en.wikipedia.org/wiki/PDF"&gt;PDF&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Despite some problems of LaTeX, such as (oft) lack of &lt;a href="http://en.wikipedia.org/wiki/WYSIWYG"&gt;WYSIWYG&lt;/a&gt; software (due to its typesetting compiler-alike nature), the results are of high-quality and WYSIWYP (What You See Is What You Print). Add that to the almost ubiquitous availability of LaTeX templates on conference/journal websites, a really good automatic bibliography formatter (&lt;a href="http://en.wikipedia.org/wiki/BibTeX"&gt;BibTeX&lt;/a&gt;), coupled with an almost dauntingly &lt;a href="http://www.ctan.org"&gt;comprehensive number of utilities&lt;/a&gt;, and you've got yourself a must-have typesetting software for scientific papers.&lt;br /&gt;&lt;br /&gt;There are several LaTeX distributions at one's disposal, for every platform. My preferred choice on OS X goes to &lt;a href="http://www.tug.org/mactex/"&gt;MacTeX&lt;/a&gt;, since it is geared toward OS X's look&amp;feel on supportive tools, as well as correct integration with the OS (read: it &lt;em&gt;just works&lt;/em&gt; out-of-the-box).&lt;br /&gt;&lt;br /&gt;So, LaTeX will be the centre on which the rest of my software choices gravitate around.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Papers&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;As explained earlier, managing state-of-the-art and other relevant sources of information can be daunting. Either at a physical level (stacks of real printed paper) or at the digital (folders), managing and searching through all papers to find that particular one you're looking for (and with a paper submission deadline lurking in the corner) is just cumbersome.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mekentosj.com/papers/"&gt;Papers&lt;/a&gt; will help you on this (too obvious name for a software!) It's a really good software to manage, organise, and usefully leverage your entire collection of PDFs laying around in the hard drive. It integrates with well-known scientific digital libraries, including &lt;a href="http://portal.acm.org"&gt;ACM&lt;/a&gt;, &lt;a href="http://ieeexplore.ieee.org/"&gt;IEEE Explore&lt;/a&gt;, &lt;a href="http://arxiv.org/"&gt;arXiv&lt;/a&gt;, among many many others (and it's plugin based for repositories integration).&lt;br /&gt;&lt;br /&gt;Despite the fact that one has to pay a license to use it (€29, not that expensive), trust me on this one, it's worth the money. With Papers I can tag (i.e., multi-category), annotate, and search through my own repository within the program, as well as through Spotlight.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;One more thing&lt;/em&gt;. It affords exporting papers' metadata into the BibTeX format. This way, I can manage everything related to what I have to cite in a single program. It is the right hammer to the right nail.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Scrivener&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;At some point is time to put thoughts, ideas, and results into words. As I previously said, it's not easy. Almost no one can write a paper top to bottom, from the first word to the last. It's an iterative process that starts invariantly with organising ideas in a coherent line of thought. That's when &lt;a href="http://www.literatureandlatte.com/scrivener.html"&gt;Scrivener&lt;/a&gt; comes to help.&lt;br /&gt;&lt;br /&gt;Scrivener is a tool targeted to all writers that exploits the typical workflow of drafts, loose notes, and combining them into a consistent piece. It's fairly similar to scientific writing, minus some issues that I'll describe later on. One of its killer features is the full-screen editing mode. I've &lt;a href="http://rlopes.blogspot.com/2007/09/on-full-screen-apps.html"&gt;written an essay before about the benefits of full-screen applications&lt;/a&gt;, ergo Scrivener fits perfectly into this line of thought. It hides all other apps, animations, popups, and everything that might stand in the way of the writing process. This way, one focuses just on what's supposed to be done: &lt;em&gt;writing that paper&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;This software also supports researching tasks (lato sensus), including searching the Web, bookmarking Webpages, as well as annotating text drafts. I do not advise performing all of these tasks within Scrivener. To put it simple: use it just to organise your ideas, structure your text in different drafts, and that's it. Papers and other software listed in this essay will streamline research and annotating tasks in a better way.&lt;br /&gt;&lt;br /&gt;Oh, and did I mention that Scrivener exports into the LaTeX file format?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;TextMate, Skim, and pdfsync&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;After having the core texts for the paper converted to LaTeX, one has to delve into details and typeset it. Editing it in a &lt;a href="http://en.wikipedia.org/wiki/Generic_brand"&gt;generic brand&lt;/a&gt; or non-specialised text editor is something from the last century. With the current days of &lt;a href="http://en.wikipedia.org/wiki/Syntax_highlighting"&gt;syntax highlighting&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Integrated_development_environment"&gt;IDEs&lt;/a&gt;, a lot of choices are available.&lt;br /&gt;&lt;br /&gt;Furthermore, LaTeX is a command line oriented software package. And that's how it should (continue to) be. However, one typically wastes too much time opening a shell and running a set of commands to typeset LaTeX documents.&lt;br /&gt;&lt;br /&gt;To complete the workflow I've described earlier, this detailing and improving process includes annotating the paper with comments, highlights, strikes, underlines, etc. Since I'm talking about an all-digital workflow, the process of annotating and editing must be as simple as possible, mimicking the print-annotate-edit traditional process.&lt;br /&gt;&lt;br /&gt;All of this can be easily avoidable with a tailored LaTeX text editor plus some useful tools.&lt;br /&gt;&lt;br /&gt;While &lt;a href="http://itexmac.sourceforge.net/"&gt;other&lt;/a&gt; &lt;a href="http://darkwing.uoregon.edu/~koch/texshop/texshop.html"&gt;choices&lt;/a&gt; are &lt;a href="http://macvim.org/OSX/index.php"&gt;available&lt;/a&gt;, my personal belief is that the workflow is better supported and streamlined with &lt;a href="http://macromates.com/"&gt;TextMate&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;TextMate is an all purpose text editor mostly targeted to programming tasks. It was popularised by the &lt;a href="http://wiki.rubyonrails.org/rails/pages/TextMate"&gt;Ruby on Rails guys&lt;/a&gt;, as a simple, lightwight, and GTD-friendly text editor (I strongly agree with this opinion.) It also provides a &lt;a href="http://macromates.com/svn/Bundles/trunk/Bundles/"&gt;comprehensive support&lt;/a&gt; for different programming languages and, as you surely have figured out, supports LaTeX out-of-the-box.&lt;br /&gt;&lt;br /&gt;Through a bunch of keystrokes , the typeset tasks are instantly launched, and a user-friendly window presents possible errors and warnings that might occur. Citations are easily managed, and syntax highlighting provide visual cues to LaTeX keywords.&lt;br /&gt;&lt;br /&gt;Within the iterative process of improving the paper one's writing, the back and forth reading, annotating, and editing process can be really tiresome. Therefore, to mitigate such problem, two other tools can help getting back on track on the main task: finishing the paper. These tools are &lt;a href="http://itexmac.sourceforge.net/pdfsync.html"&gt;pdfsync&lt;/a&gt; (which is already bundled in LaTeX distributions) and &lt;a href="http://skim-app.sourceforge.net/"&gt;Skim&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;pdfsync provides the core support for swinging between the typeset PDF and the LaTeX source (with a fairly good granularity). Setting it up just requires adding a &lt;code&gt;\usepackage{pdfsync}&lt;/code&gt; on your LaTeX preamble. After typesetting, a marker will appear on the PDF, representing the position your cursor is located within the LaTeX source.&lt;br /&gt;&lt;br /&gt;Vice versa, Skim supports the other direction (PDF towards LaTeX), since OS X's default PDF reader does not afford this functionality. Skim is &lt;a href="http://skim-app.sourceforge.net/wiki/index.php/LaTeX_and_PDFSync"&gt;supported&lt;/a&gt; by TextMate, which can be setup with just two mouse clicks.&lt;br /&gt;&lt;br /&gt;As a bonus, Skim has built-in PDF annotation tasks just like Adobe products, with the added bonus of being free (&lt;a href="http://en.wikipedia.org/wiki/Gratis_versus_Libre"&gt;as in beer&lt;/a&gt;) and really lightweight.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;OmniGraffle&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;The last thing I'll be talking about in this essay concerns creating vector-based figures. One of the beauties of PDF (and PS, for that matter) is that it's a &lt;a href="http://en.wikipedia.org/wiki/Vector_graphics"&gt;vector-based file format&lt;/a&gt;. It means that it's resolution independent. Consequently, it is desirable that, whenever possible, all figures embedded into the paper are vector-based as well.&lt;br /&gt;&lt;br /&gt;My preference for creating figures is &lt;a href="http://www.omnigroup.com/applications/OmniGraffle/"&gt;OmniGraffle&lt;/a&gt;. It's a lightweight and easy-to-use piece of software, that provides intelligent guides to create vector-based figures that are coherently aligned, dimensioned, and eye-candy. Remember that a good figure can be worth one thousand words. A poor quality figure (e.g., misaligned shapes) conveys an amateurish approach to the work, which can be negatively reflected in the peer reviewing process. High quality graphics do help improving the paper's overall quality. After using it, you'll be constantly reminded that it's an excellent piece of software when you have to use Microsoft Visio or any other diagram software of lesser quality.&lt;br /&gt;&lt;br /&gt;Add to that fact that it supports 100% vectorised PDF exporting - which can be directly embedded into LaTeX files, and you've got a high quality research paper ready to be submitted, peer-reviewed and, hopefully, accepted!&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Ending remarks&lt;/h3&gt;&lt;br /&gt;I hope this info will help you lowering the burden on the logistics of writing scientific papers. While I'm not an expert on all of these topics, all of this comes from my 4 to 5 years of experience working as a researcher. Once again, this is not an exhaustive list of software and workflow. It's just my own experience being described.&lt;br /&gt;&lt;br /&gt;I'm sure there is a lot of things that I may have missed, and better software out there. I'm still missing two significant pieces of software that can integrate seamlessly into my workflow: WYSIWYG table and equation editors, and integrated into TextMate. It would be great to select a table or an equation, and edit it without having to know a bunch of macros.&lt;br /&gt;&lt;br /&gt;Therefore, please feel free to comment, and make corrections and suggestions. I believe it's important that researchers spend their time on researching, not wasting it on avoidable pitfalls in the writing process.&lt;br /&gt;&lt;br /&gt;And now, back to that pesky paper I'm writing...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-8913095117760090444?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/8913095117760090444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/8913095117760090444'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2008/06/writing-workflow-for-scientific.html' title='Writing Workflow for Scientific Articles'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-6459733452663313553</id><published>2008-05-27T17:42:00.005+01:00</published><updated>2008-05-27T17:52:40.589+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opendata'/><category scheme='http://www.blogger.com/atom/ns#' term='accessibility'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>On open data from research experiments</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Open_data"&gt;Open data&lt;/a&gt;. In the spirit of my instalments on opening data on social networks (part &lt;a href="http://rlopes.blogspot.com/2007/09/overload-of-online-social-networks.html"&gt;one&lt;/a&gt;, &lt;a href="http://rlopes.blogspot.com/2007/11/overload-of-online-social-networks-part.html"&gt;two&lt;/a&gt;, and &lt;a href="http://rlopes.blogspot.com/2008/01/overload-of-online-social-networks-part.html"&gt;three&lt;/a&gt;), I've actively promoted some data I've gathered in the context of a paper published at &lt;a href="http://www.w4a.info"&gt;W4A&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The raw data concerns an accessibility assessment of nearly 8000 Web pages, and is licensed under a &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution License&lt;/a&gt;. While this data is provided in CSV format, I'm currently working on making these type of assessments readily available as &lt;a href="http://en.wikipedia.org/wiki/Linked_Data"&gt;linked data&lt;/a&gt;, thus allowing (hopefully) more insightful discoveries of Web accessibility at large scales.&lt;br /&gt;&lt;br /&gt;You can find the data, software, and associated publications list - side by side with some descriptive texts - in &lt;a href="http://hcim.di.fc.ul.pt/wiki/Web_Interaction_Environments"&gt;my PhD's work Web page&lt;/a&gt;. Use the data at your will, but do not forget to give credit where due :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-6459733452663313553?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/6459733452663313553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/6459733452663313553'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2008/05/on-open-data-from-research-experiments.html' title='On open data from research experiments'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-7683847821446475880</id><published>2008-04-30T10:40:00.003+01:00</published><updated>2008-04-30T10:55:22.905+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vacations'/><category scheme='http://www.blogger.com/atom/ns#' term='www'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='www2008'/><title type='text'>Back from WWW2008</title><content type='html'>It happened once again. The &lt;a href="http://www2008.org"&gt;most important conference on the Web&lt;/a&gt; was hosted in Beijing, China.&lt;br /&gt;&lt;br /&gt;Fortunately, I was able to attend it once again, but only after an entire week on vacations. I have to say that I loved China. A huge country, filled with great, kind people. I had the chance of having three buddies with me on this trip, which was great!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Shanghai"&gt;Shanghai&lt;/a&gt;. For those who know (and like) New York City, you will feel comfortable in Shanghai. A very cosmopolite city, filled with skyscrapers. Lots of excellent street food (even for a vegetarian like me). Lots of bargaining, which I translated into a shiny new &lt;a href="en.wikipedia.org/wiki/Canon_EOS_40D"&gt;Canon EOS 40D&lt;/a&gt; for half the price, and a brand new &lt;a href="http://en.wikipedia.org/wiki/Cyber-shot#T_series"&gt;Sony Cyber-shot T300&lt;/a&gt;. You can see their quality in &lt;a href="http://flickr.com/photos/ruidlopes/"&gt;my Flickr account&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Beijing"&gt;Beijing&lt;/a&gt;. The great city in the north. A HUGE city, may I say. Had the pleasure of travelling to the &lt;a href="http://en.wikipedia.org/wiki/Great_Wall_of_China"&gt;Great Wall&lt;/a&gt;, more specifically to the &lt;a href="http://en.wikipedia.org/wiki/Mutianyu"&gt;Mutianyu&lt;/a&gt; section.&lt;br /&gt;&lt;br /&gt;Conference days. I presented on &lt;a href="http://www.w4a.info"&gt;W4A&lt;/a&gt;, which I was attributed with the best paper award. Great news! On the second day I presented on &lt;a href="http://webscience.org/events/www2008/"&gt;WebEvolve&lt;/a&gt;, the Web Science Workshop. The next three days were enjoying the main WWW conference, with excellent keynote speeches, excellent papers (some Google guys presented there a PageRank for images), and excellent food.&lt;br /&gt;&lt;br /&gt;I deeply recommend everyone to go to China when possible. And WWW, well, it continues with its excellency on research and industry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-7683847821446475880?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/7683847821446475880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/7683847821446475880'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2008/04/back-from-www2008.html' title='Back from WWW2008'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-7688273097010344746</id><published>2008-04-11T16:42:00.003+01:00</published><updated>2008-04-11T16:45:57.810+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='www'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='www2008'/><category scheme='http://www.blogger.com/atom/ns#' term='travelling'/><title type='text'>WWW2008</title><content type='html'>&lt;a href="http://www2008.org"&gt;THE Web conference&lt;/a&gt; will happen once again. This time, it'll be hosted in Beijing, China. It's the main venue for both researchers and industry that have a stake in the Web's past, present, and future.&lt;br /&gt;&lt;br /&gt;I'll be there too, presenting my humble research work both at &lt;a href="http://www.w4a.info"&gt;W4A&lt;/a&gt; and &lt;a href="http://webscience.org/events/www2008-ws.html"&gt;WSW&lt;/a&gt;. If you're attening, please feel free to drop by!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-7688273097010344746?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/7688273097010344746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/7688273097010344746'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2008/04/www2008.html' title='WWW2008'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-441595130684556433</id><published>2008-03-03T23:07:00.004Z</published><updated>2008-03-03T23:11:23.369Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='meta'/><title type='text'>Small update</title><content type='html'>Sorry for not posting lengthy and thoughtful insights on Web user experience, but lately there has been a lot of work (as you may follow on &lt;a href="http://twitter.com/ruidlopes"&gt;my twitter&lt;/a&gt; micro-posts, including writing papers, proposals, and pumping a bit of code (more on this in a later post).&lt;br /&gt;&lt;br /&gt;Please stay tuned for more posts about the social Web. Lots of stuff happening...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-441595130684556433?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/441595130684556433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/441595130684556433'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2008/03/small-update.html' title='Small update'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-3748250276038244502</id><published>2008-01-20T12:19:00.001Z</published><updated>2008-01-20T12:19:09.134Z</updated><title type='text'>Sunday morning</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://4.bp.blogspot.com/_9BotxlhR_8I/R5M8PPhKAFI/AAAAAAAAACA/OxFUzMThZbk/s1600-h/image-upload-70-747483.jpe"&gt;&lt;img src="http://4.bp.blogspot.com/_9BotxlhR_8I/R5M8PPhKAFI/AAAAAAAAACA/OxFUzMThZbk/s320/image-upload-70-747483.jpe"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Cascais, while inline skating...&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-3748250276038244502?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/3748250276038244502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/3748250276038244502'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2008/01/sunday-morning.html' title='Sunday morning'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9BotxlhR_8I/R5M8PPhKAFI/AAAAAAAAACA/OxFUzMThZbk/s72-c/image-upload-70-747483.jpe' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-3535904921749436964</id><published>2008-01-09T17:30:00.001Z</published><updated>2008-01-10T00:43:23.165Z</updated><title type='text'>Sun reflection</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://3.bp.blogspot.com/_HdQtuDPdxxE/R4UEyblS48I/AAAAAAAAAAM/6fJ86bza1YQ/s1600-h/image-upload-14-748605.jpe"&gt;&lt;img src="http://3.bp.blogspot.com/_HdQtuDPdxxE/R4UEyblS48I/AAAAAAAAAAM/6fJ86bza1YQ/s320/image-upload-14-748605.jpe"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Just taken now while going for a snack&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-3535904921749436964?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/3535904921749436964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/3535904921749436964'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2008/01/sun-reflection.html' title='Sun reflection'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_HdQtuDPdxxE/R4UEyblS48I/AAAAAAAAAAM/6fJ86bza1YQ/s72-c/image-upload-14-748605.jpe' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-7774809872220804108</id><published>2008-01-02T17:15:00.000Z</published><updated>2008-01-03T11:55:57.283Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='social networks'/><title type='text'>The overload of online social networks: part III</title><content type='html'>It's gaining momentum, since my last &lt;a href="http://rlopes.blogspot.com/2007/09/overload-of-online-social-networks.html"&gt;two&lt;/a&gt; &lt;a href="http://rlopes.blogspot.com/2007/11/overload-of-online-social-networks-part.html"&gt;posts&lt;/a&gt; about this. I've just &lt;a href="http://www.thebizofcoding.com/2007/12/2008_killer_app_category_tools.html"&gt;read&lt;/a&gt; a bit about current efforts to cope with this ever increasing overload of social-ish information production and consumption.&lt;br /&gt;&lt;br /&gt;Over the last weeks I've been thinking a bit on a (possible) successful recipe to fully meet this goal. But first let us first examine the nature of social networks:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Professional: typically links persons based on professional connections, lists CVs, support job hiring, etc. Such examples are &lt;a href="http://www.facebook.com"&gt;facebook&lt;/a&gt; or &lt;a href="http://www.linkedin.com/"&gt;linkedin&lt;/a&gt;;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Friends: these one-size-fits-all social networks are centred on connecting friends in two perspectives: friends I know and care about (e.g., facebook), and friendships (worships?) I want to make (e.g., &lt;a href="http://www.myspace.com"&gt;myspace&lt;/a&gt;);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Utility: these are a bit anti-social networks, where everyone shelfishly contribute to the whole. del.icio.us and digg come as prime examples of leveraging collaborative efforts (tagging and voting) to meet each individual's expectations (e.g., discovering new resources or having personalized news);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Topic-centric: these networks are built around a common interest. &lt;a href="http://www.bakespace.com/"&gt;Bakespace&lt;/a&gt; (recipe sharing) and &lt;a href="http://www.last.fm/"&gt;last.fm&lt;/a&gt; (music profiling) are well-known examples, amongst hundreds (thousands?) of others (&lt;a href="http://www.dogster.com/"&gt;dogster&lt;/a&gt; anyone?);&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;This categorization leverages a particular aspect of utmost importance (already discussed by everyone else): there is a tendency to register into different social networks based on their offerings - a kind of &lt;a href="http://en.wikipedia.org/wiki/Vertical_Market"&gt;vertical market&lt;/a&gt; segmentation - which is usually broken by &lt;a href="http://en.wikipedia.org/wiki/Network_effect"&gt;network effects&lt;/a&gt; of some behemoths such as facebook or myspace. Nonetheless, it is an understandable way of differentiation between competitors. However, one surely knows that these categories are far from being disconnected. Especially due to widgetization, cross-pollination has become a normal practice.&lt;br /&gt;&lt;br /&gt;When thinking about aggregating social networks, one realizes that each person might have different identities/personas. A first question arises? Do &lt;em&gt;I&lt;/em&gt; want to share my personas with everyone else? (Actually, &lt;em&gt;I&lt;/em&gt; don't mind at all, as you can see from &lt;a href="http://www.rlopes.net"&gt;my homepage&lt;/a&gt;, with my dumb/cool personal aggregator.) But does someone wants to share their myspace alter-ego with everyone?&lt;br /&gt;&lt;br /&gt;This question leads to another questions: what's the purpose of a social network aggregator? Is is to build *THE* social network of all social networks (kinda like a meta-network) that everyone can access, or is it just a humble tool that helps each individual managing their personas and frame each network accordingly (all in a single page)? First thought: &lt;em&gt;privacy matters&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Hence, here is my recipe for a successful social network aggregator:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Identity: I don't want to have to register 1000 times, write the same stuff everywhere, put up the same picture of myself. One time is enough. &lt;a href="http://en.wikipedia.org/wiki/OpenID"&gt;OpenID&lt;/a&gt; helps a bit, as well as solutions built on top of it (such as &lt;a href="http://www.sxip.com/"&gt;sxip&lt;/a&gt;'s solutions). It's &lt;a href="http://www.identity20.com/"&gt;Identity 2.0&lt;/a&gt;;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Privacy: Having a granular way to select my identity aspects that I want/need to share is critical. As well as to &lt;em&gt;whom&lt;/em&gt; I show them. Do I want to share a photograph just with my closest friends (from what social network, btw?), or with everyone? &lt;a href="http://en.wikipedia.org/wiki/FOAF_%28software%29"&gt;FOAF&lt;/a&gt; helps describing social networks in terms of connections, which could be leverage to cope with these privacy aspects;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Read access: An aggregator has to access my information, mix it appropriately, and leverage it (new visualization methods anyone?). Only this way I won't have headaches by just thinking about seeing *all* the updates on *all* social networks;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Write access: Do I want to post something on twitter as well as on facebook's wall? Do I want to update my status accross different social networks? Do I want to publish a picture on a subset of my profiles? An aggregator has to cope with these things. They are typically done by hand, albeit a set of existing APIs leverage these tasks. Google's &lt;a href="http://code.google.com/apis/opensocial/"&gt;OpenSocial&lt;/a&gt; comes to rescue, fortunately;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Sustainable business model: I won't provide an answer to this item (actually I don't have one), but someone has to figure it out. And no, &lt;em&gt;google ads&lt;/em&gt; doesn't count...&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Finally, and coming back to a previous questions, what would be the visible side of an aggregator? A simple login page open to the public and everything else is closed to each individual (walled garden - privacy matters, don't forget), or picking up each individual's granular control of privacy and expose the Network to everyone? An open garden might benefit some (hyper-targetted advertising?), but disturb others...&lt;br /&gt;&lt;br /&gt;And what about after transposing the login page, what would I be faced with? Some kind of billboard/mashup containing every information I want to access, as well as updating facilities to cope with the overload issue? Or should an aggregator go a bit further and become a first class citizen in the social network battlefield? That'd be intersting, from an end user's point of view: one time login, infinite procrastination :)&lt;br /&gt;&lt;br /&gt;One last thought: where to start. Identity consolidation. After that, connection networks and semantics might be built upon it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-7774809872220804108?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/7774809872220804108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/7774809872220804108'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2008/01/overload-of-online-social-networks-part.html' title='The overload of online social networks: part III'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-653713288655939268</id><published>2007-12-10T23:08:00.001Z</published><updated>2007-12-10T23:09:48.263Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='meta'/><title type='text'>I twit. You twit?</title><content type='html'>Follow me &lt;a href="http://twitter.com/ruidlopes"&gt;over here&lt;/a&gt;. And feel free to ping me for adding you or just any other reason. Let's see how this experience goes...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-653713288655939268?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/653713288655939268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/653713288655939268'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/12/i-twit-you-twit.html' title='I twit. You twit?'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-8703116777013682577</id><published>2007-11-28T22:05:00.000Z</published><updated>2007-11-28T23:02:28.018Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='social networks'/><category scheme='http://www.blogger.com/atom/ns#' term='rants'/><title type='text'>The overload of online social networks: part II</title><content type='html'>Since &lt;a href="http://rlopes.blogspot.com/2007/09/overload-of-online-social-networks.html"&gt;my last post&lt;/a&gt; on social networks overload a lot of things have happened. Some more insightful, some more &lt;em&gt;trendy&lt;/em&gt;. Nonetheless, the world has kept spinning.&lt;br /&gt;&lt;br /&gt;First, &lt;a href="http://www.techcrunch.com/2007/10/30/details-revealed-google-opensocial-to-be-common-apis-for-building-social-apps/"&gt;a&lt;/a&gt; &lt;a href="http://blogs.zdnet.com/BTL/?p=6813"&gt;lot&lt;/a&gt; &lt;a href="http://blog.pmarca.com/2007/10/open-social-a-n.html"&gt;has&lt;/a&gt; &lt;a href="http://gigaom.com/2007/10/30/opensocial/"&gt;already&lt;/a&gt; &lt;a href="http://slashdot.org/article.pl?sid=07/08/06/1427214"&gt;been&lt;/a&gt; &lt;a href="http://www.readwriteweb.com/archives/why_open_social_matters.php"&gt;said&lt;/a&gt; about one of the newest Google initiatives (no, not Android - that'll be a theme for another post), &lt;a href="http://code.google.com/apis/opensocial/"&gt;OpenSocial&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In a nutshell, OpenSocial (from Google's own words) &lt;em&gt;provides a common set of APIs for social applications across multiple websites. With standard JavaScript and HTML, developers can create apps that access a social network's friends and update feeds&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;When launched on November 1st, Google's &lt;a href="http://www.google.com/intl/en/press/pressrel/opensocial.html"&gt;press release&lt;/a&gt; already included an impressive list of companies/websites that provide (or are in the process of providing) support for the OpenSocial API, such as MySpace, orkut (obviously), hi5, Oracle, Salesforce.com, NY Times, and PayPal. That is &lt;em&gt;really impressive&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;My opinion:&lt;/strong&gt; this most probably means that social networks will become open (do you hear that, &lt;a href="http://www.facebook.com"&gt;Facebook&lt;/a&gt;?), third-party developers will simply focus on providing the best experience to users for their products, instead of focusing on a bunch of APIs with bad documentation. But the best part is the easyness of importing and exporting my own data, user info, photos, friends network, etc. across different social networking websites. &lt;em&gt;About time...&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;On a more conceptual side, and with a smaller impact (when comparing to Google's), but still of the utmost importance, is a &lt;a href="http://dig.csail.mit.edu/breadcrumbs/node/215"&gt;breakfast-fueled rant&lt;/a&gt; by &lt;a href="http://en.wikipedia.org/wiki/Tim_Berners-Lee"&gt;Tim Berners-Lee&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Tim talks about &lt;em&gt;The Graph&lt;/em&gt;. The social network graph, as a particular case of the &lt;a href="http://en.wikipedia.org/wiki/Semantic_Web"&gt;Semantic Web&lt;/a&gt;, advocating it as another way to bootstrap, access, and explore social networks independently from any website (using &lt;a href="http://en.wikipedia.org/wiki/FOAF_%28software%29"&gt;FOAF&lt;/a&gt;, by the way).&lt;br /&gt;&lt;br /&gt;Lastly, &lt;a href="http://bradfitz.com/social-graph-problem/"&gt;discussions&lt;/a&gt; are &lt;a href="http://microformats.org/wiki/social-network-portability"&gt;popping up&lt;/a&gt; with similar thoughts like mine's, already proposing some solutions to this problem (despite being more or less architectural/conceptual).&lt;br /&gt;&lt;br /&gt;I think that the social networking revolution is just beginning. I wonder when will they start taking into account the always increasing number of &lt;a href="http://hcim.di.fc.ul.pt/wiki/Web_Interaction_Environments"&gt;Web Interaction Environments&lt;/a&gt; to provide the best user (and social) experience to everyone, everywhere. Has anyone tested social network websites with any disabled person? I wonder what would've happen...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-8703116777013682577?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/8703116777013682577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/8703116777013682577'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/11/overload-of-online-social-networks-part.html' title='The overload of online social networks: part II'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-2719744803447602960</id><published>2007-11-20T23:09:00.000Z</published><updated>2007-11-20T23:10:11.357Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>How Many HTML Elements Can You Name in 5 Minutes?</title><content type='html'>&lt;a id="mingle2_badge" href="http://www.justsayhi.com/bb/html_quiz" style="display: block; background:url(http://assets.justsayhi.com/badges/682/286/html_elements.9zvruk1wna.jpg) no-repeat top left; height: 147px; width: 335px; text-decoration: none; color: #fff;"&gt;&lt;strong id="mingle2_badge_score" style="display: block; padding-left: 125px; padding-top: 44px; font-weight: normal; font-family: Times New Roman, Arial; font-size: 45px;"&gt;48&lt;/strong&gt;&lt;/a&gt;&lt;div&gt;&lt;small&gt;Looking for &lt;a href="http://www.cashadvance1500.com"&gt;payday loans&lt;/a&gt;?&lt;/small&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-2719744803447602960?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/2719744803447602960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/2719744803447602960'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/11/how-many-html-elements-can-you-name-in.html' title='How Many HTML Elements Can You Name in 5 Minutes?'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-4260266039054755484</id><published>2007-11-13T14:35:00.000Z</published><updated>2007-11-13T14:41:16.924Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='pt'/><category scheme='http://www.blogger.com/atom/ns#' term='codebits'/><title type='text'>bits of code from .pt</title><content type='html'>Due to my &lt;a href="http://rlopes.blogspot.com/2007/11/slowing-down.html"&gt;lack of time&lt;/a&gt; I had to skip going to &lt;a href="http://codebits.sapo.pt/"&gt;SAPO codebits&lt;/a&gt;. It's a sort of hackathon/conference on Web2.0 enterpreneurship, targeted to the portuguese Web2.0 community.&lt;br /&gt;&lt;br /&gt;Head on to &lt;a href="http://codebits.blogs.sapo.pt/"&gt;their blog&lt;/a&gt; for continuous updates and info (warning: in portuguese).&lt;br /&gt;&lt;br /&gt;I wonder what sort of stuff will be getting out from this...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-4260266039054755484?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4260266039054755484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4260266039054755484'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/11/bits-of-code-from-pt.html' title='bits of code from .pt'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-369828243440422586</id><published>2007-11-12T22:05:00.000Z</published><updated>2007-11-12T22:15:17.656Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='todo'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='slowdown'/><category scheme='http://www.blogger.com/atom/ns#' term='meta'/><title type='text'>slowing down</title><content type='html'>Unfortunately, I'm having little to no time to do proper blogging on the past month. This slowdown has been influenced by:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Finishing a paper for ACM's &lt;a href="http://www2008.org"&gt;WWW 2008&lt;/a&gt;;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Improving my methodology for modeling Web Interaction Environments (more on this on a later post);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Reviewing students' assignments;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Traveling;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Helping out on organizing ACM's &lt;a href="http://www.fc.ul.pt/cikm2007/"&gt;CIKM 2007&lt;/a&gt;;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Reviewing some stuff for &lt;a href="http://www.w3.org/TR/xproc/"&gt;XProc&lt;/a&gt;.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Apart from these, two or three (as a matter of fact, three) startup projects are being started. They're at different inception stages: some just on the back of my head+some chatting with &lt;a href="http://twitter.com/dbar"&gt;Daniel&lt;/a&gt;, others with &lt;a href="http://olifante.blogs.com/"&gt;Tiago&lt;/a&gt; and &lt;a href="http://web.tagus.ist.utl.pt/~bruno.martins/"&gt;Bruno&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Too much stuff, too little time on my hands... *sigh*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-369828243440422586?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/369828243440422586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/369828243440422586'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/11/slowing-down.html' title='slowing down'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-9104190806149526802</id><published>2007-10-18T00:29:00.001+01:00</published><updated>2007-10-18T00:30:49.190+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='broken'/><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>broken</title><content type='html'>Yes... I know that &lt;a href="http://www.rlopes.net"&gt;my website&lt;/a&gt;'s design is broken on IE7. One day I'll take a stab on it. &lt;em&gt;One day&lt;/em&gt;...&lt;br /&gt;&lt;br /&gt;I sure hate having to tweak really clean CSS in order to support Microsoft's browsers... *sigh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-9104190806149526802?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/9104190806149526802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/9104190806149526802'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/10/broken.html' title='broken'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-5681184957985750294</id><published>2007-09-23T12:39:00.000+01:00</published><updated>2007-09-23T23:03:12.636+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='offtopic'/><title type='text'>Shell script: process finding on steroids</title><content type='html'>Albeit being a bit of an off-topic subject, today's post concerns a little unix admin script I've done...&lt;br /&gt;&lt;br /&gt;Apart from my main focus on the &lt;a href="http://lasige.di.fc.ul.pt"&gt;research lab&lt;/a&gt; (i.e., doing research on Web user experience things for my PhD) , I've also got administration responsabilities on our servers, desktops, etc.&lt;br /&gt;&lt;br /&gt;Since our server is a &lt;a href="http://en.wikipedia.org/wiki/Linux"&gt;Linux&lt;/a&gt; based &lt;a href="http://en.wikipedia.org/wiki/Rack_unit"&gt;1U rack&lt;/a&gt; machine, handling Web and e-mail stuff, we have to stay on top with all the things - processes - that are running in it. The reason for this is surveillance is to avoid it to become a &lt;a href="http://en.wikipedia.org/wiki/Zombie_computer"&gt;zombie&lt;/a&gt; of a &lt;a href="http://en.wikipedia.org/wiki/Botnet"&gt;botnet&lt;/a&gt; and, consequently, used to send huge amounts of &lt;a href="http://en.wikipedia.org/wiki/E-mail_spam"&gt;spam&lt;/a&gt; around the world.&lt;br /&gt;&lt;br /&gt;From the latest count on our lab's website, we've got &lt;a href="http://lasige.di.fc.ul.pt/index.php?id=3"&gt;72 researchers listed&lt;/a&gt;. Anyone with a bit of unix (or even Windows) experience on administrating a server for this number of persons knows that quickly finding the needle on the haystack (i.e., finding a problem on the server) may be cumbersome.&lt;br /&gt;&lt;br /&gt;One of the things I wanted to do &lt;em&gt;really quickly&lt;/em&gt; was to know more things about the processes each user is running, as a user running an abnormal number of processes could indicate that an account had been compromised. I wanted this really badly, as doing a simple &lt;a href="http://en.wikipedia.org/wiki/Ps_%28Unix%29"&gt;ps&lt;/a&gt;, would yield pages and pages of running processes listings.&lt;br /&gt;&lt;br /&gt;That's when shell scripts come to rescue.&lt;br /&gt;&lt;br /&gt;With a bit of knowledge, some Google kung fu, and an almost obsessive use of &lt;a href="http://en.wikipedia.org/wiki/Pipeline_(Unix)"&gt;digital duct tape&lt;/a&gt;, I've come up with a script that quickly summarizes &lt;strong&gt;how many processes for each application/utility are being run by each user&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Here it is on all of its glory:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#/bin/bash&lt;br /&gt;ps auex | grep -v ^USER | awk '{print $1, $11}' | sort | uniq -c | awk 'BEGIN{m="_";f=1}{if($2!=m){m=$2;if(f!=1)print "";printf("%s ::",$2);f=0;}printf(" [%s %s]",$1,$3)}END{print ""}'&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This script's output lines are similar to this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;rlopes :: [2 awk] [2 -bash] [1 grep] [4 imap] [1 ps] [1 sort] [1 sshd:] [1 uniq]&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;From this you can see that I'm running 4 instances of imap (silly server...) and other assorted stuff. Similar lines appear for each user with, at least, one running process on his/her behalf. &lt;em&gt;Much, much, much&lt;/em&gt; better than using "ps | less" all the time :)&lt;br /&gt;&lt;br /&gt;Drilling through that cryptic script, here's the rational behind it:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;ps auex&lt;/code&gt; lists all processes. Really all of them.&lt;br /&gt;&lt;code&gt;grep -v ^USER&lt;/code&gt; removes ps's output headers. No garbage, thanks!&lt;br /&gt;&lt;code&gt;awk '{print $1, $11}'&lt;/code&gt; filters just user names and process names.&lt;br /&gt;&lt;code&gt;sort&lt;/code&gt;, well, sorts by user name.&lt;br /&gt;&lt;code&gt;uniq -c&lt;/code&gt; removes all repeated entries, but keeps the number of process copies running on the system.&lt;br /&gt;&lt;code&gt;awk 'BEGIN{m="_";f=1}{if($2!=m){m=$2;if(f!=1)print "";printf("%s ::",$2);f=0;}printf(" [%s %s]",$1,$3)}END{print ""}'&lt;/code&gt; pretty prints this information, with one concise line per user.&lt;br /&gt;&lt;br /&gt;Use this script at your will and, please, feel free to make suggestions and improvements!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-5681184957985750294?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/5681184957985750294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/5681184957985750294'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/09/shell-script-process-finding-on.html' title='Shell script: process finding on steroids'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-4785477212765009472</id><published>2007-09-20T13:14:00.000+01:00</published><updated>2007-09-20T14:52:26.751+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='overload'/><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='identity'/><category scheme='http://www.blogger.com/atom/ns#' term='future'/><category scheme='http://www.blogger.com/atom/ns#' term='social networks'/><title type='text'>The overload of online social networks</title><content type='html'>During the past few months, I think everyone with at least a tiny bit of internet savvyness knows what an online social network is. From &lt;a href="http://en.wikipedia.org/wiki/Social_network_service"&gt;wikipedia's entry&lt;/a&gt;, this is defined as &lt;em&gt;focuses on the building and verifying of online social networks for communities of people who share interests and activities, or who are interested in exploring the interests and activities of others, and which necessitates the use of software&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;All this mumbo jumbo is easily understood if I mention &lt;a href="http://www.myspace.com"&gt;MySpace&lt;/a&gt;, &lt;a href="http://www.facebook.com"&gt;Facebook&lt;/a&gt;, or &lt;a href="http://http://en.wikipedia.org/wiki/List_of_social_networking_websites"&gt;any other from this list&lt;/a&gt;. The phenomenon has expanded to &lt;a href="http://last.fm"&gt;music&lt;/a&gt;, &lt;a href="http://flickr.com"&gt;photography&lt;/a&gt;, among many other interests (some of them really weird).&lt;br /&gt;&lt;br /&gt;So, as a tech savvy, I explore these sites from time to time, to check what's all the hype about... This resulted on having multiple profiles entered on different networks, with inconsistent information between them. And I hate having to update repeatedly all of them, instead of doing it just once. Heck, recently I even deleted my accounts on some networks, as my profile was so much out of date, that mainaining them didn't make any sense to me. Nevertheless, while some of this networks simply exist to make friends, or to browse disparately without a purpose, just to kill time (i.e., also known as &lt;em&gt;deliberately lost in the hyperspace&lt;/em&gt;).&lt;br /&gt;&lt;br /&gt;Despite this, I think that some networks really do have meritable purposes (from my point of view): I use &lt;a href="http://flickr.com/photos/ruidlopes/"&gt;Flickr&lt;/a&gt; to show some photos from my travels (typically when I go to conferences); &lt;a href="http://www.linkedin.com/profile?viewProfile=&amp;key=4839969"&gt;LinkedIn&lt;/a&gt; as a socialnetwork-flavored curriculum vitae (you'll never know when to look for a new job); &lt;a href="http://www.facebook.com/profile.php?id=586732624"&gt;Facebook&lt;/a&gt; to get in touch with some overseas friends; and, lastly, &lt;a href="http://last.fm/user/ruidlopes/"&gt;Last.fm&lt;/a&gt; to find new music I might me interested (really cool network, I confess).&lt;br /&gt;&lt;br /&gt;So, to lower the burden of updating all my information of each site, there should be a mechanism to lower this burden. Yes, I know that, in fact, each one provides its special features, allowing people to differentiate from each others. But a great deal of information is the same (e.g., profile info, user photos, commenting, partial friend networks, shout boxes, blog posts - you name it).&lt;br /&gt;&lt;br /&gt;Why can't I perform this updates on a centralized way? This issue is similar as having to sign-in into each site with different username/password. &lt;a href="http://en.wikipedia.org/wiki/OpenID"&gt;OpenID&lt;/a&gt; delivered a solution to this identity authentication problem. (I've posted something about this &lt;a href="http://rlopes.blogspot.com/2007/07/openid.html"&gt;before&lt;/a&gt;). Is this a new opportunity for this standard? Or to anyone else outhere?&lt;br /&gt;&lt;br /&gt;Oh, and why do I have to keep checking each site, just to take a quick glance over the latest updates and info? Yes, I know that most of these sites rely on advertising programs to squeeze a buck or two. Nevertheless, I'm sure that a good solution can be found in between, thus making everyone happy. And since this is a blog about &lt;em&gt;user experience&lt;/em&gt;, and I'm a user, I want to be happy. And I'm not happy at all with this... &lt;em&gt;updating overload&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;On a side note, I haven't resisted on fullfiling &lt;a href="http://digg.com/users/ruidlopes"&gt;my profile&lt;/a&gt; at &lt;a href="http://digg.com"&gt;Digg&lt;/a&gt;. At least on this case, I still win something with this new network: interesting news will be pushed to me by my peers... Interesting, IMHO.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-4785477212765009472?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4785477212765009472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/4785477212765009472'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/09/overload-of-online-social-networks.html' title='The overload of online social networks'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-2083958729837676514</id><published>2007-09-09T15:35:00.000+01:00</published><updated>2007-09-09T17:00:20.992+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='user experience'/><category scheme='http://www.blogger.com/atom/ns#' term='full screen'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='applications'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>On full screen apps</title><content type='html'>Recently, a new breed of full screen applications have emerged and, from the feedback that reviewers and users have been giving, it seems that it works.&lt;br /&gt;&lt;br /&gt;A few months ago I have bought one of those &lt;a href="http://www.apple.com"&gt;Apple&lt;/a&gt; &lt;a href="http://www.apple.com/macbook/"&gt;MacBooks&lt;/a&gt; that so many people love (me too, btw). On the last couple of weeks, while searching and trying out new software stuff, I've watched the increasing growth of the number of applications for &lt;a href="http://www.apple.com/macosx/"&gt;OS X&lt;/a&gt; that provide a full screen user experience.&lt;br /&gt;&lt;br /&gt;Yes, full screen apps are not a new. We've had them for a long time: games and bunch of screen real-estate hungry applications (such as 3D modeling or movie playing apps). But, apart from those, full screen applications meant going against the traditional GUIs of all operating systems. Things such as window managers, APIs, usability guidelines, etc.,  have been tightly tied and cooperative in order to deliver better user experiences. Whether we talk about applications, windows, or documents, all UI metaphors are evolving towards interacting with several windows, in order to accomplish a given task. We do it everyday with our beloved and almost impulsive Alt/Command+Tab task switching.&lt;br /&gt;&lt;br /&gt;Even with OS X's window manager, everything is centred around easily finding a window, viewing them all, etc. with all the fancyful animations of &lt;a href="http://www.apple.com/macosx/features/expose/"&gt;Exposé&lt;/a&gt;. So, what happened to users that they started to demand for full screen applications?&lt;br /&gt;&lt;br /&gt;Back to OS X applications and their... &lt;em&gt;fullscreen-ness&lt;/em&gt;, I've come across with applications that see full screen as a competitive advantage, regarding their competitors, such as: &lt;a href="http://www.adobe.com/"&gt;Adobe&lt;/a&gt;'s &lt;a href="http://www.adobe.com/products/photoshoplightroom/"&gt;Lightroom&lt;/a&gt;; Apple's &lt;a href="http://www.apple.com/logicexpress/"&gt;Logic&lt;/a&gt;, &lt;a href="http://www.apple.com/itunes/"&gt;iTunes&lt;/a&gt; on &lt;a href="http://www.apple.com/itunes/jukebox/coverflow.html"&gt;cover flow&lt;/a&gt; mode, OS X's&lt;a href="http://www.apple.com/macosx/features/dashboard/"&gt;Dashboard&lt;/a&gt;, or &lt;a href="http://www.apple.com/macmini/"&gt;Front Row&lt;/a&gt;; &lt;a href="http://www.literatureandlatte.com/scrivener.html"&gt;Scrivener&lt;/a&gt;; &lt;a href="http://hogbaysoftware.com/projects/writeroom"&gt;Writeroom&lt;/a&gt;; and the list goes on, and on, and on...&lt;br /&gt;&lt;br /&gt;But why?&lt;br /&gt;&lt;br /&gt;Well, from this small list of applications we see that some lean towards multimedia (iTunes et al.), others to media editing (Lightroom, Logic), or to text editing (Scrivener and Writeroom). From crawling through blog posts, mailing lists archives, tech news sites, etc., I believe that this new breed of applications fill an important usability gap: attention. With the increase of screen real estate and better window managing, users are  bombarded with information coming from everywhere. Things such as &lt;a href="http://growl.info/"&gt;Growl&lt;/a&gt; notifications, instant messaging blinking or jumping icon notifications, etc. This &lt;em&gt;is&lt;/em&gt;, IMHO, increasingly overwhelming to users. Users and getting tired of this.&lt;br /&gt;&lt;br /&gt;That's where full screen comes along.&lt;br /&gt;&lt;br /&gt;Full screen applications tend to be more imersive. The user is simply centred on fulfilling a task. Nothing gets in between this scenario. No distractions. No bells and whistles around. Consequently, productivity increases. It seems to make sense, doesn't it? I like it and use it, a lot.&lt;br /&gt;&lt;br /&gt;Well, from some &lt;a href="http://www.looprumors.com/Pages/leopardinfo01242006.html"&gt;reports&lt;/a&gt; &lt;a href="http://news.softpedia.com/news/Leopard-API-Improvement-Revealed-32469.shtml"&gt;elsewhere&lt;/a&gt;, Apple is bringing support for developing full screen apps into OS X's latest installment, Leopard (a.k.a., 10.5), thus dismissing &lt;a href="http://www.macupdate.com/info.php/id/21275"&gt;a&lt;/a&gt; &lt;a href="http://www.43folders.com/2006/04/17/fsm2-electric-boogaloo/"&gt;few&lt;/a&gt; full screen hacks that one can find with a bunch of Google queries. Good for us, developers and users.&lt;br /&gt;&lt;br /&gt;Finally, as this blog is geared towards Web related user experience, here's a thought. Do we see a clash between the Web's multi-window/page/site hyperlinkingness and full screen metaphors as a weakness when we begin to think on applying this concept to Web browsers, or even to the way websites are designed and how users should interact with them?&lt;br /&gt;&lt;br /&gt;In times, I've prototyped a Web multimedia database/hyperbase, whose user interface was specifically optimized for a full screen Web environment (through a Firefox &lt;a href="https://addons.mozilla.org/firefox/addon/810"&gt;full screen&lt;/a&gt; add-on), with good results. Maybe this will be a trend for future Web based applications.&lt;br /&gt;&lt;br /&gt;I'll think about it more seriously. For sure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-2083958729837676514?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/2083958729837676514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/2083958729837676514'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/09/on-full-screen-apps.html' title='On full screen apps'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-3409407913191491828</id><published>2007-08-28T17:11:00.000+01:00</published><updated>2007-08-28T17:22:28.163+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='update'/><category scheme='http://www.blogger.com/atom/ns#' term='meta'/><category scheme='http://www.blogger.com/atom/ns#' term='home'/><title type='text'>Upgrading my home</title><content type='html'>I've updated a tiny bit of my homepage (&lt;a href="http://www.rlopes.net"&gt;www.rlopes.net&lt;/a&gt; just in case you've forgot the URL). Since I'm migrating the playground stuff to Google code (see &lt;a href="rlopes.blogspot.com/2007/08/quick-update-on-mashmeup.html"&gt;my previous post&lt;/a&gt; on this blog about it), I had to replace the infobox with something else.&lt;br /&gt;&lt;br /&gt;For coherency purposes, this blog's archive is now displayed side by side with the latest entry, whereas the missing infobox is presenting &lt;a href="http://last.fm/user/ruidlopes/"&gt;my lattest scrobblings&lt;/a&gt; on &lt;a href="http://last.fm"&gt;last.fm&lt;/a&gt;, an online music community/social network. Now you can sneak peek over my musical preferences.&lt;br /&gt;&lt;br /&gt;I'm also working on a new blog about writing music, that's being hosted also on last.fm. Currently I'm writing a series about the creation of &lt;a href="http://en.wikipedia.org/wiki/Concept_album"&gt;concept albums&lt;/a&gt;. Keep reading it &lt;a href="http://last.fm/user/ruidlopes/journal/"&gt;at this location&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now, back to work on this scientific journal article...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-3409407913191491828?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/3409407913191491828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/3409407913191491828'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/08/upgrading-my-home.html' title='Upgrading my home'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-6830189286697405900</id><published>2007-08-27T21:55:00.000+01:00</published><updated>2007-08-27T22:01:07.924+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mashmeup'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><category scheme='http://www.blogger.com/atom/ns#' term='googlecode'/><title type='text'>Quick update on MashMeUp!</title><content type='html'>I'm writing this short post to tell you all that I'm currently moving &lt;a href="http://rlopes.blogspot.com/2007/04/mash-me-up.html"&gt;MashMeUp!&lt;/a&gt; to be hosted on &lt;a href="http://code.google.com/"&gt;Google Code&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Therefore, please update your bookmarks to the &lt;a href="http://code.google.com/p/mashmeup/"&gt;new location.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All progress on this small project will be updated on its new home's &lt;a href="http://code.google.com/p/mashmeup/w/list"&gt;wiki&lt;/a&gt; pages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-6830189286697405900?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/6830189286697405900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/6830189286697405900'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/08/quick-update-on-mashmeup.html' title='Quick update on MashMeUp!'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-1223631117186654180</id><published>2007-08-17T11:43:00.000+01:00</published><updated>2007-08-17T12:18:56.979+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vacations'/><category scheme='http://www.blogger.com/atom/ns#' term='art'/><category scheme='http://www.blogger.com/atom/ns#' term='books'/><title type='text'>Art &amp; literature</title><content type='html'>This is just a short post (almost a la &lt;a href="http://twitter.com"&gt;Twitter&lt;/a&gt;). I'm back, refueled and ready to jump right into work.&lt;br /&gt;&lt;br /&gt;For those who might be interested, I've managed to read &lt;a href="http://en.wikipedia.org/wiki/David_Yallop"&gt;David Yallop&lt;/a&gt;'s &lt;em&gt;&lt;a href="http://www.amazon.com/Gods-Name-Investigation-Into-Murder/dp/0786719842/ref=pd_bbs_1/103-7302854-9693453?ie=UTF8&amp;s=books&amp;qid=1187347957&amp;sr=8-1"&gt;In God's Name&lt;/a&gt;&lt;/em&gt;, José Rodrigues dos Santos' &lt;em&gt;A Fórmula de Deus&lt;/em&gt; (a Dan Brown -esque portuguese novel about trying to find a scientific answer about the existance of God), a book about Ireland's history, a geographical encyclopedia volume about the Northern Europe, and a small book about &lt;a href="http://en.wikipedia.org/wiki/Chopin"&gt;Chopin&lt;/a&gt; and his contemporary &lt;a href="http://en.wikipedia.org/wiki/Romantic_music"&gt;fellows&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I've also tinkered over my drawing and typographic skills by practicing &lt;a href="http://en.wikipedia.org/wiki/Ambigram"&gt;ambigrams&lt;/a&gt;, specially to create the logotype of my prototype band/musical project (more on it on some future post), &lt;em&gt;Winterfall&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Talking about music, yes, I'm still playing the guitar and composing. My stack of guitar riffs and melodies has grown (my latest count is around 70 or 80 of them), where the latest are exploring the difficult art of mastering &lt;a href="http://en.wikipedia.org/wiki/Consonance_and_dissonance"&gt;dissonance&lt;/a&gt; on &lt;a href="http://en.wikipedia.org/wiki/Harmony"&gt;harmonies&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Melody"&gt;melodies&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Phrase_%28music%29"&gt; phrases&lt;/a&gt;. Someday I might post something about it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-1223631117186654180?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/1223631117186654180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/1223631117186654180'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/08/art-literature.html' title='Art &amp; literature'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-9204365565835351356</id><published>2007-07-26T13:12:00.000+01:00</published><updated>2007-07-26T13:31:08.096+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='accessibility'/><category scheme='http://www.blogger.com/atom/ns#' term='wie'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Investigatione miscellanea</title><content type='html'>Despite not posting a lot of stuff in the past weeks (apart from the &lt;a href="http://rlopes.blogspot.com/2007/07/openid.html"&gt;smallish post&lt;/a&gt; about &lt;a href="http://openid.org/"&gt;OpenID&lt;/a&gt;), I've been quite busy working on my PhD - apart from a small vacation hiatus in the last bunch of days.&lt;br /&gt;&lt;br /&gt;In a nutshell, my PhD hypothesis says that, in order to cope with rich interaction scenarios on the Web (i.e., everything that is not a common user with a desktop computer with a typical Web browser and a mouse), one must center their focus on characterizing the set of &lt;em&gt;Web Interaction Environments (WIEs)&lt;/em&gt; that one's interested in.&lt;br /&gt;&lt;br /&gt;Currently, I've defined a way to specify WIEs (and encompassing prototype modeling tool) - more on that later on (I guess I'll have to create a wiki page about it on &lt;a href="http://hcim.di.fc.ul.pt/"&gt;my research group's website&lt;/a&gt;). I've also sketched a way to reverse engineer existing websites and Web applications crossing the &lt;em&gt;ConcurTaskTrees&lt;/em&gt; and traditional hypermedia/Web engineering modeling practices (such as &lt;em&gt;OOHDM&lt;/em&gt; or &lt;em&gt;W2000&lt;/em&gt;), that allows leveraging accessibility and usability in a pragmatic way. Also, this practice may (can?) be used to fully model highly dynamic websites and Web applications for a given set of WIEs (this is yet to be proven).&lt;br /&gt;&lt;br /&gt;However, now it's time for one more pause to fully rercharge my batteries. A long year is waiting for me, from the middle of August onwards, fulfilled with ideation, prototyping, testing, writing, and presenting tasks. See you then.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-9204365565835351356?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/9204365565835351356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/9204365565835351356'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/07/investigatione-miscellanea.html' title='Investigatione miscellanea'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-9205946420932672528</id><published>2007-07-13T12:20:00.000+01:00</published><updated>2007-07-13T12:23:19.842+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openid'/><category scheme='http://www.blogger.com/atom/ns#' term='secure'/><category scheme='http://www.blogger.com/atom/ns#' term='identity'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>OpenID</title><content type='html'>I've just setup my &lt;a href="http://openid.org"&gt;OpenID&lt;/a&gt; account. As they promise,&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;With OpenID, you create a single username and password, along with some data about you. &lt;br /&gt;&lt;br /&gt;You can then log into an increasing number of sites without registering each time! It's also free - forever. &lt;br /&gt;&lt;br /&gt;OpenID also provides you with a place to store your digital identity - a place where you can easily be found on the web. &lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Do you already have yours?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-9205946420932672528?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/9205946420932672528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/9205946420932672528'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/07/openid.html' title='OpenID'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-3644109529042257489</id><published>2007-05-23T20:14:00.000+01:00</published><updated>2007-05-23T19:15:56.037+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='algorithms'/><category scheme='http://www.blogger.com/atom/ns#' term='sniffing'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>User Agent detection and segmentation</title><content type='html'>Web browsers indentify themselves with a particular string. It's called the &lt;a href="http://en.wikipedia.org/wiki/User_agent"&gt;User Agent string&lt;/a&gt;. In order to better fit contents to different scenarios, trying to segment the whole spectrum (or, at least, a big chunk) of user agents proved to be a daunting task.&lt;br /&gt;&lt;br /&gt;While working on a prototype for an adaptation engine for Web based documents, I came across the need of finding out which type of Web browser is requesting a document. While nowadays some efforts are being made to ease this task, such as &lt;a href="http://en.wikipedia.org/wiki/UAProf"&gt;UAProf&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Wurfl"&gt;WURFL&lt;/a&gt;. However, being pragmatic, an ubiquous availability of these two technologies may take several years to take off. Therefore, the simplest way of doing it &lt;em&gt;today&lt;/em&gt; is sniffing the request's HTTP header, and looking for a &lt;em&gt;User Agent&lt;/em&gt; field.&lt;br /&gt;&lt;br /&gt;From the &lt;a href="http://www.w3.org/Protocols/rfc2616/rfc2616.html"&gt;HTTP 1.1 specification&lt;/a&gt;, Web browsers and other Web user agents (e.g., crawlers) may identify themselves with a specific string on the header of each HTTP request. The &lt;a href="http://en.wikipedia.org/wiki/Formal_grammar"&gt;production rule&lt;/a&gt; for this header is:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;User-Agent = "User-Agent" ":" 1*( product | comment )&lt;br /&gt;product = token ["/" product-version]&lt;br /&gt;product-version = token&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;What's the meaning of this expression? Basically, it states that this header field should start with the string &lt;code&gt;User-Agent:&lt;/code&gt;, followed by a product name and its version, or a comment. This must appear at least one time, at most... infinite times. Hence, user agents identify themselves with almost arbitrary strings, as long as they comply with the production rules. &lt;em&gt;Headache warning.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Despite existing a &lt;a href="http://en.wikipedia.org/wiki/List_of_web_browsers"&gt;huge amount&lt;/a&gt; of Web browsers available in the market, my adaptation engine should indentify them according to their segment, such as desktop browsers, mobile browsers, etc. But, thanks to HTTP's loose user agent rule, putting browsers correctly on their segment is really hard (read: cumbersome, error prone, nearly impossible).&lt;br /&gt;&lt;br /&gt;Here's a quick sample of user agent strings from miscellaneous browsers, taken from a &lt;a href="http://www.zytrax.com/tech/web/browser_ids.htm"&gt;huge list&lt;/a&gt; found elsewhere:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Internet Explorer 7:&lt;/strong&gt; &lt;em&gt;Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; WOW64; .NET CLR 2.0.50727)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Firefox 2.0:&lt;/strong&gt; &lt;em&gt;Mozilla/5.0 (Windows; U; Windows NT 5.0; en-GB; rv:1.8.1) Gecko/20060918 Firefox/2.0&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Sony Ericsson K610i builtin Web browser:&lt;/strong&gt; &lt;em&gt;SonyEricssonK610i/R1CB Browser/NetFront/3.3 Profile/MIDP-2.0&lt;br /&gt;Configuration/CLDC-1.1 UP.Link/6.2.3.15.0&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Pocket PC Internet Explorer:&lt;/strong&gt; &lt;em&gt;Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Once again, pragmatics tell me that tailoring the Web towards each single device is unfeasible. Hence, it should be possible to define different segments and associate each User Agent string to the appropriate segment, through a set of heuristics. Even when WURFL, UAProf, or even more recent work from W3C's &lt;a href="http://www.w3.org/2005/MWI/DDWG/"&gt;Mobile Web Initiative Device Description Working Group&lt;/a&gt; becomes widespread, segmenting the Web end-points - browsers - into a treatable set of characteristics will continue to be useful.&lt;br /&gt;&lt;br /&gt;Going back to the User Agent strings &lt;em&gt;mumbo jumbo&lt;/em&gt;, my initial proposal relates to distinguish between the mobile and desktop landscapes, and it goes something like this (beware - pseudo-code algorithm):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;function user_agent_segment(string ua_str)&lt;br /&gt;{&lt;br /&gt;  switch (ua_str)&lt;br /&gt;  {&lt;br /&gt;    case /MSIE/ except /PPC|PocketPC|Windows CE/:&lt;br /&gt;    case /Gecko/:&lt;br /&gt;    case /KHTML/:&lt;br /&gt;    case /Opera/ except /Mini|Mobile|Wii/:&lt;br /&gt;      return DESKTOP;&lt;br /&gt;    default:&lt;br /&gt;      return MOBILE;&lt;br /&gt;  }&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The simple, yet crucial, aspect of this algorithm relates to detecting desktop browsers at first, since the (useful) desktop browser landscape is narrower (in comparison to the wildwest style huge range of User Agents on mobile phones). From there, one may just detect specific substrings.&lt;br /&gt;&lt;br /&gt;If your keen on this topic, please feel free to implement, test, extend, and improve the algorithm. My (mid-term) goal lies on expanding it in order to detect and diferentiate mobile phones, ultra mobile PCs, and desktop environments (at least). Also, it could be somewhat interesting to extrapolate input mechanisms (i.e., modalities) available - e.g., if a mobile phone is detected, we may infer a numeric pad (and possibly arrow/cursor keys) as the available input modality. This way, navigation on a Web site may be tweaked in order to facilitate user interaction, thus leveraging the user's experience and increasing one's satisfaction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-3644109529042257489?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/3644109529042257489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/3644109529042257489'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/05/user-agent-detection-and-segmentation.html' title='User Agent detection and segmentation'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-1403503563295671267</id><published>2007-05-16T13:06:00.000+01:00</published><updated>2007-05-16T13:48:17.680+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vacations'/><category scheme='http://www.blogger.com/atom/ns#' term='canada'/><category scheme='http://www.blogger.com/atom/ns#' term='www2007'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='w4a'/><title type='text'>Afterthoughts</title><content type='html'>The last two weeks were really really interesting. So interesting that my initial plans on blogging while at &lt;a href="http://www207.org"&gt;the conference&lt;/a&gt; went straight to the garbage bin, especially coped with the average 5 hours sleep I was able to get there.&lt;br /&gt;&lt;br /&gt;The first four days at &lt;a href="http://en.wikipedia.org/wiki/Banff%2C_Alberta"&gt;Banff&lt;/a&gt; were simply beautiful. Surrounded by the &lt;em&gt;rocky mountains&lt;/em&gt; at the &lt;a href="http://www.douglasfir.com/"&gt;Douglas Fir&lt;/a&gt;, I managed to wake up every morning and go skiing with a bunch of good friends from all around the world on the &lt;a href="http://www.skibanff.com/"&gt;Sunshine Village ski resort&lt;/a&gt;. In one word: &lt;strong&gt;beautiful&lt;/strong&gt;. I even managed to do some black diamond runs, no way I could've imagined myself doing it... But as a matter of fact, I did :) Awesome!&lt;br /&gt;&lt;br /&gt;Returning to reality, being a volunteer for &lt;a href="http://www2007.org"&gt;WWW&lt;/a&gt; and presenter for &lt;a href="http://www.w4a.info"&gt;W4A&lt;/a&gt;, some things had to be done. Moving to the jawdropping &lt;a href="http://www.fairmont.com/banffsprings/"&gt;Fairmont Banff Springs Hotel&lt;/a&gt;, with an insane window view towards mountains, river, golf course, snow, forest... simply beautiful. It was a good omen, I thought. And I was right. It was.&lt;br /&gt;&lt;br /&gt;W4A started. There were several interesting presentations over Web 2.0 technologies and how to leverage them regarding accessibility. Some more technical, others geared towards research, but nevertheless interesting. My presentation went fine, despite some anxiety (oh, so typical of me...), got a bunch of interesting questions.&lt;br /&gt;&lt;br /&gt;On the second day, as an assigned volunteer for W4A's room (thanks John!), I got to see the rest of the conference, and think about my own research goals. That's what conferences are for.&lt;br /&gt;&lt;br /&gt;Heading to WWW itself, I was pleased to have the chance of hearing and seeing lots of great presentations on Browsers and User Interfaces, advances on standards from W3C's Technical Track, some cute demos on the Developers' Track, and loads and loads of Information Retrieval and Semantics. Concerning the plenary keynotes, they were simply great. Hearing &lt;a href="http://www.w3.org/People/Berners-Lee/"&gt;Tim&lt;/a&gt; talking about &lt;a href="http://www.webscience.org/"&gt;WSRI&lt;/a&gt; - Web Science Research Initiative - and viewing those simple state charts summarizing the whole research process for the emergence of the Web Science field (and other Internet gimmicks such as e-mail) was definitely insightful. And viewing the Web as a set of linked data (as &lt;a href="http://ukwebfocus.wordpress.com/2007/05/14/report-on-the-www-2007-conference/"&gt; Brian&lt;/a&gt; reported), coupled with some chat I've managed to make with &lt;a href="http://ukwebfocus.wordpress.com/"&gt;Brian Kelly&lt;/a&gt;, &lt;a href="http://www2.sis.pitt.edu/~peterb/"&gt;Peter Brusilovsky&lt;/a&gt;, people from the &lt;a href="http://www.daisy.org/"&gt;DAISY Consortium&lt;/a&gt;, and others, I managed to flourish several thoughts and research directions for my PhD work.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Summing it all up:&lt;/em&gt; it's a must-go-to conference every year, it's a must-go-to place to be on vacations when possible!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-1403503563295671267?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/1403503563295671267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/1403503563295671267'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/05/afterthoughts.html' title='Afterthoughts'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-2705769820753637850</id><published>2007-05-01T00:19:00.000+01:00</published><updated>2007-05-01T00:40:53.609+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='www'/><category scheme='http://www.blogger.com/atom/ns#' term='www2007'/><category scheme='http://www.blogger.com/atom/ns#' term='vacation'/><category scheme='http://www.blogger.com/atom/ns#' term='w4a'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='conferences'/><title type='text'>WWW2007 and W4A</title><content type='html'>Today (May 1st) I'm heading off to &lt;a href="http://www2007.org"&gt;WWW2007&lt;/a&gt;, at &lt;a href="http://en.wikipedia.org/wiki/Banff%2C_Alberta"&gt;Banff&lt;/a&gt;, Canada. The beautiful &lt;a href="http://en.wikipedia.org/wiki/Banff_Springs_Hotel"&gt;Banff Springs Hotel&lt;/a&gt; will host this huge conference, where I'll be part of the &lt;a href="http://www2007.org/committee.php"&gt;volunteers staff&lt;/a&gt;, helping out when and where necessary.&lt;br /&gt;&lt;br /&gt;Also, on May 7th, I'll be &lt;a href="http://www.w4a.info/2007/prog/"&gt;presenting&lt;/a&gt; at &lt;a href="http://www.w4a.info/"&gt;W4A&lt;/a&gt; - Web4All - some progressions on my research work towards getting my PhD degree. Hopefully, I'll come back with lots of interesting ideas to improve my work.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;The Bonus:&lt;/em&gt; since the conference starts at the 7th, I have five days of skiing and hanging out with lots of great people I met last year at &lt;a href="http://www2006.org"&gt;WWW2006&lt;/a&gt; in Edinburgh, some sort of a (well deserved?) vacation period :)&lt;br /&gt;&lt;br /&gt;Concerning this blog... I guess I'll try to post some things while at the conference (live updates maybe?). After all, this is &lt;em&gt;the&lt;/em&gt; Web conference!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-2705769820753637850?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/2705769820753637850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/2705769820753637850'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/04/www2007-and-w4a.html' title='WWW2007 and W4A'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-1597600305403406174</id><published>2007-04-16T11:48:00.000+01:00</published><updated>2007-04-17T16:39:58.991+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mashups'/><category scheme='http://www.blogger.com/atom/ns#' term='mashmeup'/><category scheme='http://www.blogger.com/atom/ns#' term='playground'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='aggregator'/><category scheme='http://www.blogger.com/atom/ns#' term='feeds'/><category scheme='http://www.blogger.com/atom/ns#' term='rss'/><title type='text'>Mash Me Up!</title><content type='html'>Mash Me Up! is a software to create feed aggregation mashups, requiring near zero configuration to put it online.&lt;br /&gt;&lt;br /&gt;When procrastinating through my daily bookmarks, such as &lt;a href="http://web20.originalsignal.com/"&gt;Original Signal&lt;/a&gt; or &lt;a href="http://www.web20workgroup.com/"&gt;the Web 2.0 Workgroup&lt;/a&gt;, I've always wondered: Why can't I find a software to create these public mashups easily? Why do they always implement their own feed mashup solution? Doesn't Google homepage, My Yahoo!, and similar services deliver the same solution?&lt;br /&gt;&lt;br /&gt;In a nutshell, Mash Me Up!'s uniqueness resides on the fact that it can be deployed both for personal and public use, it's skinnable (100% CSS), it's got a clean markup (no tweaks, verbosity, or whatsoever), and it's really lightweight (no widgets, no javascripts, no XHRs).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9BotxlhR_8I/RiTqD0sQ1QI/AAAAAAAAAAg/asK_8C3iEFg/s1600-h/mashmeup.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_9BotxlhR_8I/RiTqD0sQ1QI/AAAAAAAAAAg/asK_8C3iEFg/s320/mashmeup.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5054422033221342466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Try &lt;a href="http://www.rlopes.net/playground/mashmeup/"&gt;my live demo&lt;/a&gt; and &lt;a href="http://www.rlopes.net/playground/mashmeup/mashmeup.zip"&gt;download it!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Moreover, as a gift to you, I've also added support to pass any number of feed URLs directly on Mash Me Up!'s URL (disabled by default), e.g.:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;http://example.com/mashmeup/?feeds=url1|url2&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This way, one can potentially create a mashup without even configuring the software, or have different instances of Mash Me Up! bookmarked for his/her own pleasure without having to use fake tabs inside the UI (like Google homepage does - bad UI, no cookie for you!)&lt;br /&gt;&lt;br /&gt;The really cute thing is that this took me just an evening to create, test, and deploy. How? Simple. By using &lt;a href="http://magpierss.sourceforge.net/"&gt;MagpieRSS&lt;/a&gt; to parse RSS/Atom feeds, it required me strictly &lt;strong&gt;50 lines&lt;/strong&gt; of PHP (including HTML tagsoup) to deliver Mash Me Up! in your browser.&lt;br /&gt;&lt;br /&gt;Feel free to use/tweak/improve this software at your own will, as long as you keep visible an acknowledgement to the author (&lt;a href="http://www.rlopes.net"&gt;me&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some technicalities:&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Software requirements&lt;/h3&gt;&lt;br /&gt;No need for a special setup on a Web server, it's as simple as having &lt;em&gt;the&lt;/em&gt; Web server (&lt;a href="http//httpd.apache.org"&gt;Apache&lt;/a&gt; recommended) and &lt;a href="http://www.php.net"&gt;PHP&lt;/a&gt; 4.1.X or greater.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Setup&lt;/h3&gt;&lt;br /&gt;In order to use Mash Me Up! you just have to unzip the script into a proper Web server location, configure your feeds and (optionally) a few other things, and that's it!&lt;br /&gt;&lt;br /&gt;When configuring Mash Me Up! you just have to edit a few things on the included &lt;code&gt;config.inc.php&lt;/code&gt;:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The title&lt;/strong&gt;&lt;br /&gt;&lt;code&gt;$mmu_title = "Mash Me Up!";&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The subtitle&lt;/strong&gt;&lt;br /&gt;&lt;code&gt;$mmu_subtitle = "the no-brainer way to create feed aggregation mashups";&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Select your feeds&lt;/strong&gt;&lt;br /&gt;&lt;code&gt;$mmu_feeds = array("http://feeds.feedburner.com/ajaxian", ...);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Regarding other options, please refer to the config.inc.php file, as they are self explainatory (I hope) :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-1597600305403406174?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/1597600305403406174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/1597600305403406174'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/04/mash-me-up.html' title='Mash Me Up!'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9BotxlhR_8I/RiTqD0sQ1QI/AAAAAAAAAAg/asK_8C3iEFg/s72-c/mashmeup.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-6633419932479652040</id><published>2007-04-09T17:30:00.000+01:00</published><updated>2007-04-09T17:39:13.455+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='meta'/><title type='text'>Launching my new home</title><content type='html'>&lt;a href="http://hcim.di.fc.ul.pt/~rlopes/"&gt;My new home&lt;/a&gt; has been launched. Following this blog's trend on titles, it will be the &lt;em&gt;play:ground&lt;/em&gt; for my thoughts on Web user experience.&lt;br /&gt;&lt;br /&gt;Currently, the play:ground is a simple façade where I present some info about this blog, my latest del.icio.us bookmarks, lastest additions to Flickr, and a small (yet important) box where I'll put links to my experiences on Web user experience (the pun &lt;strong&gt;is&lt;/strong&gt; intended).&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-6633419932479652040?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/6633419932479652040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/6633419932479652040'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/04/launching-my-new-home.html' title='Launching my new home'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1351332971081386851.post-5620439475004180655</id><published>2007-04-08T21:13:00.000+01:00</published><updated>2007-04-08T21:22:21.471+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='meta'/><title type='text'>A new home</title><content type='html'>Ok, first of all, forgive me about the semi-pun on Star Wars' &lt;a href="http://en.wikipedia.org/wiki/Star_Wars_Episode_IV:_A_New_Hope"&gt;&lt;em&gt;A New Hope&lt;/em&gt;&lt;/a&gt;. This is, in fact, a new hope for me to approach the blogging ecosystem in a gentle way.&lt;br /&gt;&lt;br /&gt;As for next posts, well... I'll try to post once a week (no promises though), about my &lt;em&gt;thoughts on Web user experience&lt;/em&gt;. Stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1351332971081386851-5620439475004180655?l=rlopes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/5620439475004180655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1351332971081386851/posts/default/5620439475004180655'/><link rel='alternate' type='text/html' href='http://rlopes.blogspot.com/2007/04/new-home.html' title='A new home'/><author><name>Rui Lopes</name><uri>http://www.blogger.com/profile/05333307424177980500</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_9BotxlhR_8I/S04K6jHVUxI/AAAAAAAAAN8/gh_ZhG139-E/S220/11+11+43+29.jpg'/></author></entry></feed>
