Archive | Design RSS feed for this section

Google Wow, an experience that amazes for real.

6 Feb

What if there were more artists working alongside engineers at Google? I think many products will be different, and better.

Why Google?

  1. Google is the most amazing company out there, building forward looking products like Google Now, and investing in crazy projects we all love to talk about (mostly coming from Google X), that will change our lives, and we hope for the better.
  2. Google strengths is, and has always been in its software engineers. I am myself more an engineer than an artist, for sure, but isn’t the combination of art and engineering the most explosive one? Leonardo da Vinci was born 69.2 km from my hometown (according to Google Maps), and I have always been obsessed by his all-encompassing genius.
A Google doodle

Engineering+Art in a Google doodle.

Today, I was watching again the Google 2013 I/O keynote when a phrase resonated in my mind: “We want you to build the most amazing, delightful experiences for your users…”. I closed the video, and closed the office, those word buzzing in my head: “I am all in for this, dear Google”.

As I was exiting the office I pull out my phone and magic happened again: Google Now is giving me, for the 4th time this week, my commute time, as if I was driving home. Problem is I do not drive home, I do not even have a car and, frankly, I find extremely annoying to know in advance if I will home be 15 minutes earlier or 15 minutes later than usual. What if, instead, I was late home, but for a good reason?

Google Now shows more cards: temperature and forecast. Boring. I am outside, I can feel the heat, and I look at the sky. Looking at the sky delights me, the Google card… not at all.

Finally, the last card, is telling me of the latest package arriving from Amazon: Google is parsing my emails, something powerful and scary: the end result is that I receive a notification, a text message, an email for my package… and Now, also got a nice card. Annoying. Seriously.

Nonetheless I do believe Now is the future of search, a beginning for a new interface, a great product already and it is constantly being improved.

But, what if there were more artists working alongside engineers at Google? Art is beauty, surprise, emotions, and also uselessness:  let’s take a different approach to Google Now: instead of trying to predict my next search, my usual need given the context, it could try to predict what will amaze and delight me! A very appropriate name for it would be Google Wow.

a Google card

A cool, surprising card, since I just arrived in Jamaica!

How would the cards look like?

I really like music, and discovering new artists, so a music card would, from time to time, push some new music at me, an album to discover, but not when I necessarily expect it.

And I really like good food. Google might know or not my tastes (and it probably does) in any case it could throw my way a card with some cool food in the area that I never tried (Google knows that too).

We can get a lot more creative I am sure:

  • Instead of my commute time showing me a nice destination to a far away country, with pictures, travel cost and and an excuse to go there.
  • Instead of the weather in my location the weather in a location where one of my friends is now travelling, and a reason to send him/her a message.
  • Instead of the Amazon package info, a friend who just opened Google Now nearby so we can go get a beer together and be both late home.
Feeling Lucky?

Feeling Lucky?

From “feeling lucky” to “getting lucky“!

Can serendipity be designed into an experience? What if there was some randomness, a push to get outside our usual path and habits, actually giving us the habit of being more open, try more things, meet more people and ultimately get lucky for real?

 
Post inspired by:

What should NEST build next? An alarm clock, please.

19 Jan
What should Nest build next?

Alarm Clock + Nest = Love

Just a few hours after the announcement of the acquisition by Google, designers and experts worldwide were tweeting and blogging, as usual: there is no time to loose when a news hits worldwide geekness. @jonathanstark was asking the question on Twitter: What should Nest build NEXT? and the usual locks, fridge controller, etc. came out. Now, if there is something I have personally learned from Nest is that when of the smart/connected home you do not have to think of new&crazy appliances (like the home automation fans, and the industry have been doing for years): start by re-imagining the old and basic like a thermostat, and a smoke detector!

Nest has proven this is possible, valuable, and a lot easier to sell.

So what shall Nest build next? An alarm clock, I say. Yes, that old device that is currently being put out of existence by our phones.  I believe the alarm clock has its place in our homes, should get along with our phones, and with the other devices in the house. I do not have a fancy, appropriate name for this Nest Alarm Clock, but here is how it might work:

“It is finally time to go to bed, I play one last time with my phone, adjust the time I want to wake up and drop the phone on the dock of the (Nest) Alarm Clock. The small appliance looks great, Dieter Rams is proud of it. The Alarm Clock syncs with the phone’s alarm clock data, it will charge the phone during the night, then wake me up with its crystal-clear sound using the sound or tune I setup in my phone. I sincerely love its soft-lit big button to snooze it, when slowly awakening. Time to get up, alas: I remove the (fully charged) phone from the dock and the alarm stops, this time for real.”

Nice, lovely product: it will also filter calls, messages and notifications during the night, automagically letting through only certain numbers or alerts, using its night-friendly display to pop up the notifications and calls, and of course the time and, why not, the temperature maybe. Wait, what?

Sure, if you have a Nest Thermostat it will get along with the Alarm Clock, exchange data to improve temperature settings, and more. Obviously, do not forget to connect it with the Nest Protect: should the alert trigger, the Alarm Clock will convey, as gently as possible, the message that yes, there might be a serious problem and you must get up, now!

Finally, you can ask it (her?) to track your sleep too, and it might post your achievements to Google+ without you knowing, but wouldn’t you buy the Nest Alarm Clock right away?

I would.

Designing for limited connectivity

6 Apr

This is long-due post on designing web tools for  “limited connectivity” contexts, a challenge I’ve addressed in several projects at Reflab, and that can better described as a “compilation” of requirements and constraints.

My goal here is to draw attention to the topic and summarize what it means to access a web tool from the “fields”: emergency situation, remote or just under-served areas of the world, where humanitarian relief takes place. There is nothing really new, but it is worth having very clear when developing products that require an Internet connection, either  for PCs or mobile devices (and there are many, you know…).

I’d rather not talk (and rant) about how data could be managed and information organized, I want just to make an overview of the technical challenges and solutions to making better web tools.

Limited connectivity

Connectivity is just a promise still for many on our planet: in large urban settings, and places like the north of Europe it is even difficult to imagine but in a crisis, in an emergency, in rural contexts, in remote areas of developing countries the best you can get is: limited connectivity.

TelecomMap maps 3G Networks, Network Quality and Wi-Fi hotspots in Indian cities (powered by Ushahidi)

Imagine you’re on a train (in Italy, this time, and if you are not familiar with Italian trains, good for you): you need to access a website or use an online application, they promised you 3G or better, but in fact you get a lot less. You pick up your mobile, type the web address and your spinner spins, but nothing appear on your browser, finally you get some elements of the page but, no luck, a series of tunnels starts. Patiently you wait, retrying from time to time, your page loads then stops, then reload, Finally the train is now past the tunnels in the nice countryside: you try again, the page loads… slowly, and finally you have it. You click on the link you were looking for, it works! Now back to the previous page and oops! connection is gone again.

As Imna Gonzales (Organizations and Systems Responsible at MSF Spain), puts it:

“Vendors design their products from a very well connected office in some large US/European city, and their regularly fail to understand how much things can be different in the areas we operate”.

This is limited connectivity: you have some bandwidth, you have bad to awful latency (don’t even think playing online games), and connection goes up and down more or less frequently and, in many places, you do not have any connection at all. Depending on location and time you get a mix of all of the above (in office good connectivity, in cybercafé some connectivity, here a 3G, here SMS only, here nothing!). Unstable. Note also that I’m simplifying a lot by focusing only on web and mobile (smartphones) and assuming the (limited) connectivity is relatively cheap).

Now imagine that the software you are building has to be used in those conditions by people with a very limited time, in a hurry, in an emergency, people how are working to save lives. If you build and maintain a product that has to operate in those conditions here are a few things you should always consider in the design, monitor and continue to improve:

Hints for designers and developers

Here are a few hints, starting points in fact, for designers and developers; good results can be achieved by just setting the bar higher on some common requirement: for example a slower than average site is less likely to be used, but in these contexts it will not be *possible* to use it. And keep monitoring, and keep caring.

Page weight

A classic. The first thing you hear about and usually followed by the request to have a huge banner, logo or video in the homepage. Lighter pages require great UI design, clean code and optimizations, and those don’t just come fore free, unfortunately.
A recent article on The Guardian by John Naughton, “Graphic designers are ruining the web” shows the awful trend of webpage obesity.
It is quite interesting to see how much data (before cache) we are downloading every time we open a web page: the home page of the CNN today have 948.22KB transferred, YouTube home page 1.4Mb, etc.

Speed and performances

Just after page weight, and event more important, comes the speed and performances. While having well responding, fast systems is a general principle for usable software in the case of limited connectivity they can really make the difference. There are two sides of it:

Server side

Speed and performances are far too complex to discuss here, let’s just note that worst-than-average performances will sum up with page weight and client side performances to make it really impossible for some people to use the system in limited connectivity conditions.

Client side

Most will focus their attention to the server, but it’s important to keep in mind that users might be browsing from old browsers and old hardware. I’ve never been a big supporter of old-browsers compatibility (especially IE), but a good product will try to avoid long rendering time and heavy Javascript.

Cache

A good old way of speeding up things is caching: server cache, browser cache and “supercache” (see HTML5 Application Cache). Even for small projects a good use of the browser cache, maybe even of the new application cache can bring very significant improvements reducing transferred data from hundreds of Kb to a less than  a hundred Bytes. Server caching is not always good for every project, in my experience and, as my friend Federico (system administrator) keeps reminding me:

“There are only two hard things in Computer Science: cache invalidation and naming things” – Tim Bray

Asynchronous calls

Particular handy to manage long list of documents and the huge banner in homepage, it is a very useful technique the UI designer should keep it mind: user will be able to immediately access new pieces of information or features, only downloading the necessary Bytes. For a simple example see the logcluster.org preview of documents.

Binary files management

Ok, this is getting even more technical, let me just mention file compression and a good management of the synchronization, if any.

Offline

If you know what I’ve been working on in the past months you know I have to talk about offline web: the most complete support to limited connectivity would include it, but note that having offline support does not mean all of the above can be skipped! Offline support means the site/application can work online and offline, if needed it updates (sync), and updating is “sensible” i.e. just update things that have changed, use compression for files, etc. See my post on HTML5 offline support.
Two examples: the Ushahidi mobile web application and OOPS (Online Offline Publication System). The year looks promising, the standards are being finalized, will browsers follow?

Final considerations

Products made to be used in emergencies, crisis, humanitarian operations, remote, unserved areas, etc. require a lot more than just tackling limited connectivity, of course, and several of the points above are true for every good software product in general. Important improvements can be also made by designing different information flows, data formats, interfaces, etc. The main point? whatever is your product, please care about limited connectivity and keep evaluating, monitoring and improving!

Mobile webapp for Ushahidi

16 Dec

As a (web) project and program manager working in the humanitarian and for development, I’ve been always fascinated by the amount of challenges that any tool aimed to the fields presents; just to cite a few: reliability, low bandwidth, cross-platform, offline support, extreme simplicity, and of course it should work-when-everything-else-fails(TM). I will not mention that, as a plus, in many cases budgets and funding are limited, if not extremely limited, compared to complexity.

I guess this is the reason that pushes those who works in this domain to keep being extremely pragmatic, ingenious and sometime very innovative.

In Reflab we have lately labelled this whole lot of design challenges as building resilient tools (resilience being THE buzzword nowadays, I guess it is a good choice to promote the idea).

In such context of resilient applications, limited connectivity is one of the main issues I’ve been personally working on in the last years, first developing OOPS, i.e. offline and portable web-based information publishing (or offline websites, if you prefer) and later working on Data Collection.

The idea for a not-so random Hack of Kindness

some nice folks hacking HTML5 for Ushahidi at RHoK

Just before ICCM 2011 I though we could apply what we had learned so far in data collection and mobile web applications to a project that we really appreciate a lot and which, hopefully, would immediately benefit: Ushahidi.

Ushahidi is an amazing tool in terms of impact in crisis management, works well via web and also has mobile applications for several platforms. A mobile web application, with offline support, would make it address some extra use cases: offline data collection, of course, but it would also make it a lot more easy to distribute, update and, last but not least, as Erik (@whiteafrican) immediately pointed me out, if would be great if it could support Custom Forms.

So, together with some friends and colleagues we when forward spending a few evenings, and then a whole RHoK weekend to develop the Ushahidi mobile webapp.

The hack

What we did: using the Ushahidi APIs, HTML5 and some Javascript libraries we could quickly build a very first version of the application, then a second one by the end of the weekend.

The app uses different HTML5 features:

  • application cache for offline use of static resources (html, css, javascript)
  • storages (Web SQL) for report data saved locally on the browser
  • geolocation API to obtain latitude and longitude from the device GPS
  • FormData to post the image
  • online/offline events

The UI interface is based on jQueryMobile, server-side there is a very lightweight back-end written in Python, that can simply be replaced by other frameworks or directly integrated in Ushahidi core.

What does the application provides: at the moment is only manages reports, collecting data online and offline, saving it locally and sending it when some connectivity is available. It features all basic fields, included GPS coordinates and image/photo upload (on platform supporting it), but not the custom forms.

Not bad to have something running, plus some documentation; and the same code could be used for other mapping or assessment tools!

Credits go to Riccardo Lemmi (guru and lead), Francesco Occhipinti (Javascript wrestler), Francesco Merlo (Python/API uber-developer) and Antonio Tirabasso (wise UI engineer).

What’s next?

In the pipeline we have: to put everything on Github, work on the UI (no work has been really done, yet), and do a real-world simulation/testing.

I really hope the app will prove useful to Ushahidi users: with the feedback collected we could then consider extra features, better interfaces and move forward looking at the custom forms.

Thanks to Heather Leson (Ushahidi Director Community of Engagement) we are now looking to other related challenges and will connect with more people willing to join online-offline and connectivity-related developments!

 
References:
The Next steps for Ushahidi Hacks
Online offline web applications
OOPSHTML5 rocks

Playing for a better world

1 Mar

Foreword: a few things worth a lot of attention

This post is about an idea that came some time ago and that I’d like to share; before  getting to the point there are a few concepts I’d like to introduce. I’m writing this post mostly for myself and my friends, but I hope if it can inspire people to dig into the concepts I bring here, if they are new to them, and enjoy the very early stage of a crazy idea (yes, yes, another one).

Videogames matter! (confession of a videogames addict)

one of my pg in wowI’ve grown up with video-games since they exists. I’ve been playing a lot,  too much. Beside the fun, I’ve always tried to study them, evaluate, analyse and enjoyed a lot of discussions about them with a couple of friends, passionate as I am. World of Warcraft has been my second life for several years now, an unbelivable source for learning and the ultimate time-sink.  Videogames are, at the same time, bliss and a curse.

No matter if you are a videogame addic, if you never understood them or if  you and never played or hate them: videogames is not something that can be ignored. (I suggest reading the book Fun Inc.: Why games are the 21st Century’s most serious business by Tom Chatfield, for an introduction to the role of videogames in our present and future).

More than fun

Then something I would have never imagined started to make his way into these discussions with friends and colleagues: gaming can be used with different purposes than “fun”! About two years ago we started imagining several possibilities to engage people in real world  using “games” and game techniques. The original idea came from looking at the emerging social gaming, especially on Facebook, and analysing some of the best in leveraging the network of friends, creating a new wave of time-sinks and ultimately a lot of fun and some little good.

Since then we discovered Games for Change: a multitute of innovative and often very experimental games aimed to change the world for the better: in education, training, democracy, politics, climate change, etc. etc. We have been inspired by Jane’s talks and articles, and we’ve been studing and working to be able to bring this passion into our professional future.

Good changes can be brough to the world leveraging the little gamer that is inside each one of us… with a Purpose.

Gaming as an interface

The last important concept I need to introduce is that games can teach us a lot on how to design powerful engaging applications and tools. Learning from psycology, motivational design or BJ Foggs work on behavioural changes, the message seems always to be that what some game developers is very relevant and meaningful for application design.

The phenomenon is hyped as gamification: “Gamification is the use of game play mechanics for non-game applications, particularly consumer-oriented web and mobile sites, in order to encourage people to adopt the applications. It also strives to encourage users to engage in desired behaviors in connection with the applications” from Wikipedia.

In other words Gamification is the concept that basic elements that make games fun and engaging can be applied to things that typically aren’t considered a game, to bring real-life changes and behaviours (see also The Gamification Encyclopedia): nice examples are Foursquare, Wii Fit, Jinx and …

But, as some of my friends, working in psycology put it: gamification focuses on using gaming as an interface. The approach is definitively much more than only badges, points and achivements. All literature on the topic dates 2010 or 2011, the very term “gamification” is too recent (and ugly) to describe the concept and the approach new and not mature at all; there is too much hype about it and a lot of promeses about it that will not be fullfilled.

I’m not sure what will be the true role and evolutions of the concept but I’m firmly convinced that yes, “gaming” can be used as a paradigm to design new powerful applications. In paricular observing the latest developments in MMORPGs, gaming platforms, and “social gaming” (Zynga, etc.) there is a LOT to learn.

This very week at the Game Developers Conference in San Francisco gamification enthusiasts and traditional videogame designers are meeting and joyfully fighting (The Great Gamification Debate!).

“Better World” project

So here is the idea, crazy and worth pursuing: build an environment to match resources (time, ideas, money, skills, etc) needed by NGOs and resources availables in the world (from all people) in a huge games-like experience aimed to changing the world.

The idea came while working on Miomood (a startup on mood tracking&sharing): to build an application, a Facebook application or Facebook “extention” that would help engage users in quests, missions, “call to arms” and battles… in the real world. The application would make it easy for NGOs to develop it’s social mission (whatever it is) using the Social Network.

The pain it addresses: activism, social engagement, volunteering, lobbying, etc. are quite painful, hard and complex activities for most of the people: the result is that there are millions of “sleeping activists”, marginally-engaged people, lost volunteers-to-be. Becase these issues are complex, the contest is complex, true engagement expensive and time consuming.
The good news is that social engagement seems to be very important in the “personal network” of a person, as it relates to “shared values”, moreover, a lot is about “education” and “information” and gaming is excellent at both training and forming.

io senza frontiere scheenshot

Game-like Facebook application by MSF Italia

The opportunity it delivers: move huge amounts of spare-time, game-time (& cognitive surplus) into changing the world for real.
NGOs  would “create” the content in a guided, simple, clear format: the same way they manage a Facebook page they would be able to add a “Quest” or a “Mission” or an “Action”. Title, difficulty, location, requirements, goals… storyline. NGOs would need to well design their contents, their messages and stories, but will not have to develop any mechanic, user interface or web platform.

A world-changer, the user, the player would join the “call”. The identity of the “world-changer” would be his/her real identity, enriched and customized with special skills and abilities, experience, place visited, language spoken, etc. The world-changer answering the call would need the help of his/her friends very often to complete the Quest, the Mission or the action. She/he would along the way socialize with others, maybe even people of distant countries. Along the way discover new and more complex ways of interacting. And be rewarded.

Here is an overview of the main motivational drivers that should be considered the design:

1) Achievement

  • Advancement (points, badges, medals, titles, stats, experience, talents, …) example: “green points”
  • Mechanics (how to spend points, talents, get rewards, …)
  • Competition (there can be good competition too, even in social engagement) example: “world-travelling ladders”

2) Social

  • Socializing (within the personal network and beyond) example: exchanging messages with the volunteers in Haiti.
  • Relationship (everywhere is the design!)
  • Teamwork (everywhere is the design!)

3) Immertion

  • Discovery (new people, new problems, new landscapes, both local or very distant)
  • Role-Playing (world-changer would be taken into being THE BEST possible themselves, right?)
  • Customization (background, avatar, objects carried, t-shirts weared, photo uploaded, …)
  • Escapism (very different from a MMORPG, not sure how it fits, right now)

I’m sure someone have more than enough imagination to “see” how such a project could look like.

It is worth noting that Facebook is already evolving to support some of these needs, expanding our “online self”. Moreover such platform is not only about game mechanics, badges or points, but an evolving system to allow the design of rewarding and joyful experiences when acting in changing the world!

Key design challenges: simplicity, cleanness, avoid transforming serious things in a game (but “play” for real changes!), avoid retoric, avoid frustration when approaching real-world problems as complex as hunger, poverty, etc. and reach the MAXIMUM number of people (get the “marginal” engagement of millions).
A lesson we have all to learn again from WOW: it has brought to a MMORPG millions of people that where not even gamers before! Now popular games such Zynga products and loads of online and social games are expanding this territory. I feel it is the right time to expand into more massive “serious” gaming.

One particular reason HTML5 matters

21 Jan

I’ve always been a loyal fan of standards and openness, but there is one particular reason HTML5 matters  to me: it promises to be extremely valuable for the development of powerful ICT4Dev tools.

It is true in general that HTML5 is there to move forward the extent and widespread of web (someone would say “cloud”), but why such a technical thing as web standard is meaningful for software aimed to serve international development and human rights?

The Web have already begun to have a mayor impact on development and crisis response, I will not dare trying to discuss that in a blog post, but for those not familiar with these issues, here are three projects you absolutely have to look at:

Ushahidi – a platform that allows collecting incidents reports by everyone in an emergency or crisis, and mapping the reports visually on maps to allow quick analysis and faster response. It has been successfully used in very large scale emergencies including Haiti. (http://www.ushahidi.com)

Kiva – a website that “connects people, through lending”; a wonderful story on how the web can be used to develop microcredit, and at the same time connect people from different countries or conditions. With minimal investments in technology or marketing, Kiva has  facilitated so far more than 150 millions in loans (http://www.kiva.org).

Refugees United -a website and mobile application aimed to directly help refugees reconnect with missing loved ones. A rather simple idea, not easy to implement, but with the potential of having a mayor role in rebuilding refugees families worldwide (http://www.refunite.org)

Those are only some of the most visible initiatives and organizations that are bringing an incredible change in this world, not to speak of the impact that the “social web” is bringing to international development (and btw: I love Twitter).

Indeed the developing world has some extra needs in terms of technology: here is three elements that we should always consider. Reuse: the developing world benefits a lot from open source and technologies that can be freely reused. Mobile: mobile technology is key in the innovation in many countries. Connectivity: internet access, through a PC or mobile phone can be limited, in bandwidth, depending on the location, and variable in time.

Reminder: what is HTML5 about?

the html5 logo

HTML5 is the umbrella name  for the “Next Open Web Platform“. The HTML5 brand includes the new upcoming standard for HTML itself, but also CSS3, Web Storage, SVG1.1, Geolocation, Web Sockets, Web Workers and many more standards; the aim of these new standards altogether is to enhance the web language (HTML), integrate second generation languages (SVG, Video, etc.) and making the web a lot more “reactive” (more about HTML5: http://www.w3.org/html/)

HTML5 promises to allow simple development of rich web applications: dynamic forms, video embedding, geolocation, offline, and much more; even video games can be developed in HTML5.  Some of the most astounding HTML5 apps so far have been collected in the HTML5ADVENT  URE CALENDAR2010 (check it out, if you haven’t already!).

Why HTML5 matters for ICT4Dev?

While working with HTML5 and studying it, it became more and more evident to me how the characteristics of the new platform are very relevant for the context of the developing countries. The new standards:

Allow the development of new generation cross-platform applications

A new generation of applications can flourish and they can be cross-platform, thus running freely on the most different devices, independently from the manufacturer and on low-cost hardware. Adaptation and maintenance costs reduced.

Allow the development of mobile applications

While projects show how, in both rural areas and in emergency relief that texting/SMS can be very powerful (see FrontlineSMS for example), the battle for mobile applications started. On one side the native applications for iPhone, iPad, Android, RIM, etc. on the other side the efforts of W3C and others to bring web development to mobile devices (see Mobile Web For Social Development (MW4D) and Open Mobile Consortuim).  HTML5 has the most challenging role: the faster and better it develops on mobile browsers the highest the possibilities for developers to adopt it.

Allows reusing the incredible number of open source products, libraries and web frameworks

HTML5 could be used to enhance and reuse the incredible variety and abundance of good open source products and libraries; there is an incredible potential in the combination of web, open source, and mobile in ICT4Dev. Again, the most successful HTML5 and web-based development the more the possibilities of this ecosystem.

Allows to deal with the conditions of limited or unstable connectivity

person with mobile phone in Africa

Image (c) textually.org

The single feature of HTML5 I’m more enthusiastic about is the offine and storage or, as the W3C puts it: “HTML5 apps can start faster, and work even if there is no internet connection (thanks to the App Cache, Local Storage, Indexed DB, and the File APIs.)“. Offline and storage will allow the deployment a new breed of web applications, that simply could not exist, because of the need of an active internet connection. We can think of countless great web applications that would be improved to be used in places where connectivity is limited, bandwidth an issue and hardware resources scarce.  We can think also of collaborative tools can run also offline, on any device and without any installation, and repositories of knowledge that can be easily carried in a USB key or external hard-disk, or almost-real-time (TM) gathering of information from different devices, geotagged, and still working when connectivity is not stable.

And it’s an open standard!

That too counts: open and not controlled by any single organization means a lot more freedom of action, competition, and better allows the development of solutions outside the interests of big market players. HTML5 is a vital part of that trend for openness: open source, open standards, open data and open protocols, that is acclaimed by all and threatened by many, at the same time.

The project I’m working on

More than a year ago I started working on an apparently very complex project whose user requirements were: we need a tool that is easily managed by non technical staff, works online and offline, is cross-platform, optimized for different devices, including mobile, is lightweight in data storage and in data replication, and open source, or at lest no licence-based. So far so good… but it also should run from a USB key or other portable device and no installation should be required. Commenting and feedback would be a nice to have (I’m glad there was at least a nice-to-have ).

hey, wait, this is either impossible or insane!

After long mumbling and head-scratching it is my colleague Riccardo that came out with a possible solution based on a web application using some open source libraries already available! That would meet all the requirements above in the simplest possible way, but for the online-offline, not mobile support. HTML5 was not at all ready at that time, but we aimed to invest in a solution that would be viable in the long run, so we developed the first version using Gears (was Google Gears), with the idea of bringing the project on HTML5 later.

The project, which is called OOPS: Online Offline Publication System, is just getting its HTML5 upgrade, and will run without any installation on several platforms, including some mobile devices, online and offline. The OOPS is itself a collection of libraries put together and it is released as open source (http://code.google.com/p/online-offline-ps).

Next?

I feel as with OOPS we had only scratched the surface of the many possibilities that this new standards are giving us to develop better web applications aiming to address, by completely new means, very old, dramatic problems.

Let’s not forget Intranet visual design

9 Feb

I’ve recenlty stumbled across a topic I really like: graphic design of enterprise Intranets.

A starting point in the discussion: Intranet design is not about design with the ever present and known-to-all Toby Ward.

I agree with Toby when pointing out that “to produce a design concept in response to a RFP” is essentially pointless. I also agree that “users don’t really care about design nor video, flash, and bells and whistles that distract and entertain”; at least the should not care.

And design is not only about look and feel or bells and whistles.

I don’t want to mix usability, wireframes and graphic design here but the least we can say is that design is about branding, design is about corporate identity, it is also about use of fonts, use of icons and icon design, and much, much more. Visual design, must convey messages and match with the “application” design, possibily with elegance.

What could be the four top criteria in the visual design of an intranet?

Speed

The main, most inportant criteria, for sure. Speed shall be part of the technical specifications, interaction design, and visual design of course. Google search home page has been visually designed, has it?

Usability & user experience

I cannot think of user experience of an intranet without talking about visuals (the look in the “look & feel”) into account. One of the most important: icons and visual elements. And Font sizes.
Last but not least wireframes give usually only the organisation of space, then when passing to visual design disasters can happen easily (black backgrounds, low contrast of links,… ).

Of course defaults of a the “good” CMS software choosed can help; if you are very lucky the intranet will be based on Plone(*), you will have inline validation of fields, good labels, etc. Still, this is not enough. Some hard work has to be done here.

Branding & corporate identity

Sometimes I still discuss requirements like: “the intranet will match all of the design standards and guidelines of our public site”  and “the design of the intranet will be a simple branding (colors, logo) of the CMS based on our current site”. There is even worst: “we’ll reuse the design of our public site”. Rarely admitted, but still happens.
Intranet are a strong vehicle of the organisation’s brand but I fear design standards and guidelines of the public site might be either an overkill or built for a very different target audience.
Design of the intranet will include elements of the corporate identity, but might be extremely different from the public site. In either cases it requires some specific work. This work have to be done.

Elegance

Elegance is that “intangible” plus that some teams are able to deliver to the whole project by working well with all the rest of the people and partners involved. It is produced by visuals only when all the underlying work has been excellent (IA, Navigation, etc.).

Importance of a specific visual design

So, how important is visual design? very. No, seriously, I mean very important. More important than content? Information Architecture? More important than governance? Of course, not; but I would always involve an independent graphic design partner in your project, and do a serious work on design. The design of enterprise intranets is very different to the design of public web sites and to the design of a “generic” web application: target audience, goals and key criteria are  different. So shall be the expertise and experience of the team.

(*) Disclaimer: I could not resist.