Workflow Driven Apps Versus App Driven Workflow

Arjen Vrielink and I write a monthly series titled: Parallax. We both agree on a title for the post and on some other arbitrary restrictions to induce our creative process. This month we write about how the constant flux of new apps and platforms influences your workflow. We do this by (re-)viewing our workflow from different perspectives. After a general introduction we write a paragraph of 200 words each from the perspective of 1. apps, 2. platform and 3. workflow itself. You can read Arjen’s post with the same title here.

Instapaper on my iPhone

Instapaper on my iPhone

To me a workflow is about two things mainly: the ability to capture things and the ability to time-shift. Both of these need to be done effectively and efficiently. So let’s take a look at three separate processes and see how they currently work for me: task/todo management, sharing with others and reading news and interesting articles (not books). So how do I work nowadays for each of these three things?

Workflow
I use Toodledo for my task/todo management. Whenever I “take an action” or think of something that I need to do at some point in the future I fire up Toodledo and jot it down. Each item is put in a folder (private, work, etc.), gets a due date (sometimes with a timed reminder to email if I really cannot forget to do it) and is given a priority (which I usually ignore). At the beginning and end of every day I run through all the tasks and decide in my head what will get done.

For me it important to share what I encounter on the web and my thoughts about that with the rest of the world. I do this in a couple of different ways: explicitly through Twitter, through Twitter by using a Bit.ly sidebar in my Browser, in Yammer if it is purely for work, on this WordPress.com blog, through public bookmarks on Diigo, by sending a direct email or by clicking the share button in Google Reader.

I have subscribed to 300+ RSS feeds and often when I am scanning them and find something interesting and I don’t have the opportunity to read it at that time. I use Instapaper to capture these articles and make them available for easy reading later on. Instapaper doesn’t work with PDF based articles so I send those to a special email address so that I can pick them up with my iPad and save them to GoodReader when it is convenient.

Platform
“Platform” can have multiple meanings. The operating system was often called a platform. When you heavily invested into one platform it would become difficult to do any of your workflows with a different platform (at my employer this has been the case for many years with Microsoft and Exchange: hard to use anything else). Rich web applications have now turned the Internet itself into a workflow platform. This makes the choice for an operating system nearly, if not totally, irrelevant. I regularly use Ubuntu (10.04, too lazy to upgrade so far), Windows Vista (at work) and iOS (both on the iPhone and the iPad). All of the products and services mentioned either have specialised applications for the platform or are usable through any modern web browser. The model I prefer right now is one where there is transparent two-way synching between a central server/service and the different local apps, allowing me access to my latest information even if I am not online (Dropbox for example uses this model and is wonderful).

What I have noticed though, is that I have strong preferences for using a particular platform (actually a particular device) for doing certain tasks. The iPad is my preference for any reading of news or of articles: the “paginate” option on Instapaper is beautiful. Sharing is best done with something that has a decent keyboard and Toodledo is probably used the most with my iPhone because that is usually closest at hand.

Apps
Sharing is a good example of something where the app drives my behaviour very much: the app where I initially encounter the thing I want to share needs to support the sharing means of choice. This isn’t optimal at all: if I read something interesting in MobileRSS on the iPad that I want to share on Yammer, then I usually email the link from MobileRSS to my work email address, once at work I copy it from my mail client into the Browser version of Yammer and add my comments. This is mainly because Yammer (necessarily) has to be a closed off to the rest of the world with its APIs.

Services that create the least hickups in my workflow are those that have a large separation between the content/data of the service and the interface. Google Reader and Toodledo both provide very complete APIs that allow anybody to create an app that accesses the data and displays it in a smart way. The disadvantage of these services is that I am usually dependent on a single provider for the data. In the long term this is probably not sustainable. Things like Unhosted are already pointing to the future: an even stricter separation between data and app. Maybe in that future, the workflow can start driving the app instead of the other way around.

More of the Same: The Web Turns Us Into Mussels

Arjen Vrielink and I write a monthly series titled: Parallax. We both agree on a title for the post and on some other arbitrary restrictions to induce our creative process. In our previous post we tried to argue whether you could engineer serendipity. The conclusion was: no, you cannot engineer serendipity (on the web). In this post we use the same recipe to investigate the corollary: the (social) web is hindering serendipity by clustering and clumping similar information around our web presence based on our online behaviour (e.g. the social graph). You can read Arjen’s post with the same title here.

In my teens I went to a Montessori high school in Amsterdam Zuid. The school is known for its liberal and cultural approach to education. My friends and I all thought we were free thinkers and radicals. It was therefore quite a shock to me when I learned at the college for PE teacher education that not all people had the “VPRO gids” at home and read the “Volkskrant”. It suddenly dawned on me how silo-ed my experience at high school had been and how similar we all were in our drive to be different. Occasionally I get the feeling that I am in a very similar position in my current educational technology profession.

The current toolset on the web helps us find people that are like ourselves, recommends us books that are similar to the ones we have already read and amplifies our existing opinions by aligning them to people who think the same as us. There are no tools to do the opposite: find people who are very different from you or content that gives new perspectives. In this post I would like to give a couple of examples of how the web helps in turning us into mussels (sessile animals that like being close to each other).

Example 1: The concept of RSS and Google Reader
Every day I spent 30 to 60 minutes reading my news feeds through Google Reader. I have subscribed to over 300 feeds and try to not miss any news items from about 100 of them. These feeds are very specific (one of the affordances of RSS is that it can easily be generated based on tags or search words). None of them carry general world news. Instead of reading the Guardian’s most important world news, I read the Guardian news that is tagged with Royal Dutch Shell. Instead of general feeds about the state of education and learning I read the posts of certain learning gurus. This means that on my Google Reader news from the last couple of days there was no way for me to encounter the release of Aung San Suu Kyi (I only learned about it by looking it up just now), whereas I read about Facebook’s new messaging system at least three different times (here, here and here) with very similar perspectives each time.

Google is also willing to suggest some new feeds for me to subscribe to. As of today the first four suggested sources that Google gives me are as follows:

Google's first recommendations

Google's first recommendations

More of the same! Wouldn’t it be way more beneficial for me to be confronted with people, opinions and news that is very different from the things I already know? It seems like there isn’t enough semantic understanding of the things that I am reading to be able to tell me: “You always read news about Shell on the Guardian, the Financial Times usually has a very different perspective”. How far off do you think we are before that becomes a reality?

Example 2: Amazon suggestions

Amazon recommends the book I am already reading

Amazon recommends the book I am already reading

Amazon was one of the first companies that made use of its customer’s behaviour to improve the service to that same customer. When you browse at Amazon they track everything, not just your purchases, but also your browsing history, the links you click, the reviews you read and write, the books you don’t buy and probably how much time you spend doing each of these things. They use this data and correlate it with other people’s data to be able to suggest a couple of books that should interest you.

I haven’t bought at Amazon for a while (I now buy my books at Book Depository as they ship for free), but my current suggestions do include titles like Drive (which I am reading right now), Free and Growing Up Digital (and many other similar titles that I have already read). These books increase my specialization in the field of Internet and educational technology. There is no way for me to try and find books on Amazon that can function as a bridge to other genres.

There also is no way to really browse serendipitously. Like RSS, the categorization of the books is incredibly specific. Much more than in a traditional book store. On Amazon I would be able to go to one of my favourite subjects cognitive psychology (finding more than 8000 titles), whereas in a book store I would have to go to “popular science”. The latter forces me to run into books in fields of science that I wouldn’t usually look at. A book shelve also has a nicer (and faster!) browsing experience: running with a finger past all the books, taking one out and quickly scanning its contents all do not work on Amazon.

Example 3: Anglo-Saxon focus through the English language and through Silicon Valley based innovation
Silicon valley seems to be a village. I listen to Leo Laporte’s podcasts (e.g. This Week in Tech), read TechCrunch, Mashable and ReadWriteWeb and am inundated with news about Facebook, Google, Apple, Microsoft and mobile phone carriers in the US. A lot of the web technology innovation is indeed driven by companies in Silicon valley and innovative start-ups from all over the world flock to California to be successful (see here for an example). But it does leave me wondering whether I am not missing out on a large part of the technium by not being able to read Japanese, Mandarin, German, etc. Through Western (English) media I have learned that Japan has a very specific mobile phone culture. But in all ways I am completely disconnected from it.

To experience how true this is, I would like you to do the following assignment: Use Google to try and find three sites in Japanese about technology culture. Let me know in the comments how that went…

What Makes Goodreads a Great Website?

Arjen Vrielink and I write a monthly series titled: Parallax. We both agree on a title for the post and on some other arbitrary restrictions to induce our creative process. This time we decided to write about what makes Goodreads a great website. First we sat together for an hour and used Gobby to collaboratively write a rough draft of the text. Each of us then edited the draft and published the post separately. You can read Arjen’s post with the same title here.

Goodreads.com

Goodreads.com

What is Goodreads?
Goodreads is Facebook and Wikipedia for readers: a social network of people that love to read books, full of features that readers might like. It allows you to keep many “shelves” with books that can be shared with other people on the site.

Great Features
Here are some of the features (in no particular order) that make Goodreads work so well:

  • The site is not only useful when you are a member. Even if you are not logged in it still is a pleasant site to read and browse for book lovers.
  • It allows you to keep track of your own, yout friends and “the crowds” books. If you see an interesting book you can put it on your to-read shelf, if a friend reads an interesting book than he or she can recommend it to you.
  • Statistics can suggest recommendations based on my shelves, reviews and friends.
  • There is a distinction between friends (a symmetric relationship) and followers (an assymetric relationship).
  • There is a book comparison feature: it finds the books you have both read and compares the scores you have given to those books.
  • It is very easy to invite your friends into the site. You can put in their email address, or you can give Goodreads access to your webmail contacts (sometimes this is a questionable thing, but Goodreads isn’t to pushy (it doesn’t send out Tweets without you knowing it for example)).
  • They have a great “universal” search box where you can search books on author, title or isbn from the same field.
  • It makes use of Ajax in the right locations, allowing you to update small things (“liking” a review, noting what page you’ve reached, handing out stars to a book) without having to reload the page.
  • The user profile page is related to the contents of the webservice: for example, it allows you to say who your favourite authors are.
  • The site supports many different ways of viewing and sorting your shelves. You can look at covers or at titles and sort by author, by score, by last update and more.
  • Before building a great iPhone app, Goodreads made sure their website had a great mobile version of their website. When you access the website with a mobile browser it automatically redirects to a mobile version of the website, so even if you are accessing the site with your Windows Mobile device you have a great experience.
  • Not only is it very easy to put data into the Goodreads ecosystem, it is also very easy to get your data out again. You can download a CSV file with all your books (including the data you added like reviews, date read, your rating and the metadata about the book that Goodreads has added like the ISBN or the average rating). The smart import feature looks at an HTML page (e.g. an Amazon wishlist page) and imports all the ISBNs it can find in the source code of the page. Like any good webservice it imports files that are exported from their competition (Shelfari, Librarything and Delicious library).
  • There seems to be an evolving business model. Initially there were only (onubtrusive) adds, but now they are starting to sell e-books, integrating this into the social network.
  • Often when you read a book there are sentences or passages which really impress or inspire. Most of the times you then forgot these. Goodreads allows you to favourite and rank (and thus collect) quotes easily by author or by book. You can add and export quotes as well.
  • Sharing your Goodreads activity to other important webservices is built in. There are integrations with Facebook, Twitter, WordPress Blogs and MySpace. Goodreads also provides embeddable widgets that you can put on another website (e.g. a box with the most recent books you have read). A simple integration allows you to instantly find a book that you are looking at in Goodreads in your favourite online bookstore. And of course there is the ubiquitous RSS.
  • A site like Goodreads get is value from the data that its users put in. Goodreads allows this at many levels. There are trivial ways of adding information (i.e. saying you like a review by clicking a single link, allowing Goodreads to display useful reviews first), but there are also ways of adding information that take slightly more effort. For example, it is fairly easy to get “librarian” status which shows the site trusts their users. As a librarian you can edit existing book entries. A low entrance level is key to crowd sourcing. Another way to involve people is to allow them to add their own trivia that other users can try and answer in trivia games.
  • It allows users to flag objectionable content.
  • Goodreads has its own blog, keeping you up to date about the latest features and their direction.
  • It has an element of competition, you can see how many books are on your shelf and how many books are on other people’s shelf, but there are more metrics: you can see who has written the most popular reviews, your rank among this week’s reviewers, or who has the most followers
  • It has a great and open API. This allows other people to build services on top of Goodreads. The potential for this is huge (the very first Goodreads iPhone app was not made by Goodreads itself, but was made by a Goodreads enthousiast) and I don’t think we have seen what will be possible with this yet. A lot of the data that Goodreads collects is accesible through the API in a structured and aggregated form. It should be very easy for other book related sites to incorporate average ratings from Goodreads on their own pages for example.
  • It is in continual beta and their design process seems to be iterative: it keeps evolving and adding new features at a high frequency like the recently added stats feature.

My current stats for 2010

My current stats for 2010

  • It is easy to delete your account, deleting all your data in the process. This makes for complete transparancy about data ownership, an issue that other sites (Facebook!) have been struggling with lately.
  • It has a kind of update stream which let’s you easily keep up to date with your friends, groups and favourite authors status.
  • The service has ambitious and lofty goals: “Goodreads’ mission is to get people excited about reading. Along the way, we plan to improve the process of reading and learning throughout the world.” (see here). I do believe that this clear mission has led to many features that wouldn’t have been there otherwise. For example, there is a book swap economy built into the site allowing people to say that they own the book and are willing to swap it for other books. Another book lovers feature are the lists. Anybody can start a list and people can then vote to get books on the list. Examples of list are The Movie was better than the Book or Science books you loved. Another feature are the book events. You can find author appearance, book club meetings, book swaps and other events based on how many miles away you want these to be from a certain city or in a certain country. Of course you can add events yourself, next to the ones that Goodreads imports from other sites, and you can say which events you will attend, plus invite friends to these events.

How Goodreads could improve
As said, Goodreads is continuously changing, there are still some things that require some change in the right direction:

  • Ocassionally the site feels a bit buggy. I have had a lot of grief updating the shelves of books using the mobile site with it not doing the things I wanted it do.
  • It is not always clear what kind of updates are triggered by an user action. I am not sure what my friends see. Sometimes you find your Facebook Wall flooded with Goodreads updates because your friend found a box of long lost books in the attic which he entered in an update frenzy.
  • Usability: Some features are hard to find. Like the new stats feature discussed above, you can only find it hidden away on the bottom left of a page in some obscure menu. Other features are hard to use, requiring many more clicks than are actually necessary.
  • They could improve on localisation and on the translations of books. In your profile settings you can select your country, but you cannot select in which languages you are able to read books.
  • The graphic design of the site isn’t top notch. When people initially see Shelfari, it might have more appeal just because it looks a tad better.
  • In-app mailing or messaging systems are always beyond me. Goodreads also has an “inbox” where you can send mail to and receive mail from your Goodreads friends. I would much rather use my regular mail and use Goodreads as a broker so email addresses can be private.

Some thoughts on the process of writing this post
Gobby is a multi-platform text editor that allows multiple people to work on the same text file in realtime. It uses colours to denote who has written what.

A Gobby Window

A Gobby Window

This was an experiment to see how it would feel to work like this and whether it would be an efficient and effective way of working together. I thought it was quite successful as we produced a lot of material and helped eachother think: building on the point of the other person. It was helpful to do an initial draft, but it does require some significant editing afterwards. I thought it was interesting to see that you feel no compunction to change the other person’s spelling mistake, but that you feel less free to change the contents of what they are writing.

This time we were sitting opposite each other while writing. In the future it would be interesting (firewalls permitting) to try and do this over a longer distance. Then the unused chat-window might become more useful and important.

You can download the original Gobby file here (it requires Gobby to make sense).

Hopefully this post about Goodreads is an inspiration to anybody who tries to build a social network around a certain theme and remember: if I know you I would love nothing more than to be your Goodreads “friend”.

What on Earth is RSS Cloud?

Arjen Vrielink and I write a monthly series titled: Parallax. We both agree on a title for the post and on some other arbitrary restrictions to induce our creative process. For this post we agreed to write about a new technology using Linux Format‘s “What on Earth is …?” style (see example on Android). We did not agree on a particular technology and we would get bonus points for a nice pixellated image to accompany the post. You can read Arjen’s post with the same title here.

RSS Cloud

RSS Cloud

RSS Cloud? I am getting a bit tired of this cloud computing trend.
Yes, I also think that cloud computing is slightly over hyped. However RSS Cloud is not about cloud computing. It is about bringing real-time updates to the RSS protocol.

I have only just grasped what RSS is. Only the technorati seem to use it, normal computer users have no idea.
Indeed: most people have no idea what RSS is or how they can use it. They still visit all their favourite news sites one after the other to check whether something new has been posted. However even people that don’t understand it often use it. If you download podcasts through iTunes you are using RSS technology. Furthermore RSS is the technological glue for many of the popular mashup sites. You don’t need to understand a technology for it to be useful to you.

Fair enough, so how would you explain RSS Cloud to a lay person?
Sites that have content that changes often (think blogs or news sites) publish an RSS feed on their server. Whenever a new item is posted it will be added to the feed, usually dropping the oldest item from the list at the same time. If you are interested in those news items you can use a news reader (also called an aggregator) and tell this news reader to check whether new items are added to the feed, if there is an update, then the news reader can retrieve it. A news reader typically does this every fifteen minutes or so. This means the news can be 15 minutes old when you get it. RSS Cloud makes it possible for news readers to subscribe to the updates of a feed. Whenever something new is added the feed, the RSS Cloud server notifies all subscribers so that they can pick up the content immediately: in real-time.

Another buzz word! What is the benefit of real-time? Can’t people just wait a couple of minutes before they get their news?
People listen to the radio so that they can hear the sports results in real-time. Weren’t you upset when all your friends knew about Michael Jackson’s death earlier than you, because they heard it on Twitter? The success of Twitter search and trending topics shows that people want to know about stuff as it happens and not fifteen minutes later.

Now that you mention it: Twitter indeed works in real-time. Why do we need something else, what’s wrong with Twitter?
Twitter actually also uses a “polling” model for its content. Each single Twitter client will have to access the Twitter API to see whether something new has been posted by the people you are following. This is a huge waste of computer resources. All these clients asking for new information even if there is none. It is a model that does not scale well. A “push” model actually works much better in this respect.

Oh, so it is a bit like the difference between getting your email once every couple of minutes and getting it immediately on your Blackberry?
Yes, that is a nice analogy. The Blackberry uses push email. You get the email as soon as it hits the server, because it is pushed to your phone. Traditional email clients, like Outlook, go to the server once every couple of minutes to see whether something new is there.

So what large company is trying to push this idea?
This time it is not a big company trying to establish a standard or protocol. The RSS Cloud protocol is designed by Dave Winer who also drafted the original RSS specification.

Dave Winer, isn’t that the guy that loves to rub people the wrong way?
He is a controversial character and is certainly very vocal and opinionated. At the same time, he is a true pioneer and one of those people that embody the values of the Internet. His vision for Cloud RSS is not about blogging. Instead, he wants to provide a decentralised architecture for microblog messages. To him the fact that Twitter centralises all the microblogging activity is a real vulnerability. His goal is to create a network that can work alongside Twitter without being in the control of a single company.

Talking about companies. I suddenly remember hearing about a similar technology. One of these cute names with many vowels?
You probably mean PubSubHubbub. This is a Google sponsored protocol that has already been implemented in Google Reader.

Great: another standards war. VHS versus Betamax, RSS versus Atom, Britney versus Whitney. Will we never learn?
This shouldn’t become a problem. RSS and Atom for example live happily next to each other now. It is easy to implement both. PubSubHubbub has a slightly different goal in comparison to Cloud RSS. It focuses mainly on blogging and associates itself with Feed Burner. The two technologies should be able to live next to each other, at least that is what Dave says.

Well, let’s hope he and you are right. By the way, isn’t this Cloud RSS just another sneaky way to measure subscribers, generate some statistics and store information about where they are from and what they are doing?
It is true that an RSS reader will have to register itself with the the RSS cloud for the protocol to work. However the RSS cloud forgets about the RSS reader if the registration isn’t renewed every 24 hours. You also have to remember that many people will use readers that do not support RSS Cloud. There are much better ways to get statistics.

Aren’t you a learning technology person? What does this have to do with learning?
I am very interested in Cloud RSS because I am a learning technologist! Like all new Internet based technologies it will only be a matter of time before some smart developer finds a way of using this in some unexpected fashion. Remember:
technology creates feasibility spaces for social practice! Just think of what kind of course delivery models RSS has made possible: the Connectivism and Connective Knowledge course could not run without it for example.

You are a Moodle evangelist. Does Moodle support RSS Cloud yet?
I haven’t checked, but I doubt it.  It is very new and the Moodle developers are focusing on getting Moodle 2.0 to a beta release. However, I am sure that in the future, parts of Moodle will move towards real-time. Imagine how Cloud RSS could be used to create activity streams or notify people of comments on their work. It could effectively bridge the gap between asynchronous activities like discussion forums and assignments and synchronous activities like web conferencing.

Ok, you have managed to pique my interested. Where can I go if I want to start using it?
There are two ways of using it. First, you can make your own feeds RSS Cloud enabled. If you have blog at WordPress.com this is automatically the case. You can opt-in if you host your own WordPress blog. The other way of using it would be to have an RSS reader that supports the protocol. Currently only River2 supports it and Lazyfeed has announced that it will support it too. Only web based readers can support it, as the RSS Cloud server needs to be able to ping the reader with the update.

Are there any sites that can tell me a bit more?
The current home of the protocol is http://www.rsscloud.org. Here you will find news about the protocol and an implementation guide. The Wikipedia entry could be better. Why don’t you help fixing it?