web2.0


My recommendations for highly useful stuff on (& for) the Web:

  • Google Talk translation bots are excellent for quick translations – just add the ones that help you most to your buddy list (actually, I find almost any service by Google highly useful, but won’t list all of them here…)
  • ie4osx lets Mac users work with web sites written by lazy programmers (or lousy managers), not adhering to standards(i.e., working just with ie)
  • MindMeister lets you collaborate on Mind-Maps with your colleagues or friends. Much more effective than traditional documents in yielding creativity & topsight
  • Gliffy let’s you collaborate on diagrams with your colleagues or friends.
  • Geni lets you collaborate on your geneologic tree with your family. It’s viral, it reminds you of b-days & just cool!
  • Meebo lets you take with you all of your IM accounts on any machine that you go. It also has a widget you can use to talk to visitors in your site!
  • Keepvid let’s you download movies from YouTube &c.
  • daylight-savings-time.info let’s you see the time-zone differences around DST changes (OK, not that useful, but still here coz I wrote it! :-) )

There are many more, but I prefer to keep it small.

See also:

My humble blog was blessed yesterday by the king of Web2.0 himself: a post got into Joshua Schachter’s del.icio.us library!!!

Thanks a lot for the great honor, Joshua!!! I really admire & am greatful for your work!

The Joshua del.icio.us effect, in numbers:

The Joshua del.icio.us effect

30boxes Webtop meta-replaced NetVibes as my new browser start page. Quite beautiful & effective interface! The web as platform is reality!

You add to it your web-based applications, such as:

  • Google spreadsheets
  • Box.net storage
  • Your 30boxes/Google calendar
  • TimeTracker
  • Your webmail client (not supported, don’t know why)
  • Pandora music player
  • Your favorite content sites
  • NetVibes content/services aggregator
  • &c

I’m still missing there my other crucial apps, such as:

  • Mind mapping, such as FreeMind (which I use instead of writing documents)
  • Web-based development environment (e.g., for Java/Python/JavaScript)

A screenshot:

BTW, has anyone tried MIT’s YouOS?

In 1999 I was building a platform that allowed Web access to regular applications & IT resources (using Grid & other innovative concepts). It brought up an interesting issue, that may be regarded as a feature or as a concern: an employee’s managers could easily see everything the employee did (thru his computer), as if they had a spyware recording his mouse & keyboard actions, but on a higher level.

Today, as all applications are being transformed to the Web, this feature/concern starts being a reality. For example, when working these days on some training program using the great open-source application Moodle, I noticed that all managers can see everything I do, & have complete visibility on all users actions (this big brother interfaces exist there because they allow monitoring the activities & participation of students).

This is just another example of the implications of transparency, but it’s quite interesting & life-changing: say welcome to your boss new permanent virtual position over your shoulder!

What characterizes major computing revolutions?

  • They’ve all started by the work of individuals, that wished to solve a problem, & suggested a really simple solution for it
  • The solution was so powerful, that it spread like a virus, disrupting the way all of us use computers, do business, & in general, live

What’s driving this river of technology changes?

  • Maybe it is the desire of individuals to build a simple solution to a real problem they’re having
  • Usually they’re also free (as in Freedom), open, & based on an architecture of participation, meaning that it’s by people & for people

What drives these simple solutions to be so powerful is a combination of 3 forces:

  • Integration: by commoditizing systems into services & components, higher level systems can be composed from smaller ones
  • Virtualization: by abstracting things, people can easily work with them without caring what’s behind
  • Socialization: by harnessing the power of social work, virtual teams & communities can be formed & together have tremendous power

[From a lecture on Web2.0 & the Semantic Web that I recently gave at TAU]

[My notes from the recorded talk of del.icio.us author at the Carson Workshop Summit on the future of Web Apps:]

  • Scaling
    • Recommends reading: Cal Handerson & Brad Fitzpatrick (Flickr & LiveJournal) presentation on how to make things fast (scaling) – helped Joshua a lot
    • Nagios - to figure what went wrong, get alerts
    • Use caching everywhere possible
    • figure where you can be latent (slopy), & be latent there
    • wait to see what actually breaks before it actually does
    • Know how to tune DB & Apache
    • Put Proxy – not Apache – before it: prioritizing services, load balancing
    • e.g., someone saves the site to his disk – this will blow the site
    • e.g., Greasemonkey script that checks delicious on every web page
    • throttlling
  • API – help adoption
    • the easier API is, the more they’re used
    • don’t expose the internal identifier, especially if its sequential or computable (people will iterate on it)
  • what features to add?
    • things that are crucial for success (eg tagging) – very usable, must be added
    • don’t add something that exist elsewhere (e.g. messages)
    • if something is asked, try understand the reason, what’s the real problem that needs to be solved
    • some features have a too heavy performance price (eg query calculus)
  • put RSS every possible thing
    • always be able to answer: is there new data in this RSS (by time)? this will save access to data
    • RSS is the heaviest traffic
  • hide everything of the underlying framework (e.g., filename.php)
  • watch for new behavior in the application, & decide what to do with it
  • solve a problem you really have (Joshua had a text file with 26K bookmarks) – because you really understand the problem & passionate on solving it better than whoever don’t have it
  • every day your system isn’t open, you’re loosing users & input. get it out there asap
  • aggregation of attention (what’s popular today) is cool when the population is small, if its big there’s too much bias. create piles of attention
  • spam – people will try to get to the pile of attention
    • when you track spammers, don’t give them any feedback (error messages &c)
  • tagging:
    • useful for recall
    • ok for discovery
    • bad for distribution
    • not all metadata is tags
    • make people make the minimal amount of work
  • understand the motivation of the people
    • user 1 have to find the system useful (from selfish reasons)
    • if the value is from many users, it’s problematic
    • the tip: the users community should want to get more users to the system (evangalize, viral)
  • beaware where you spend your efforts (e.g., a feature no one ever uses)
  • watch your system carefully
    • intuition backed by data
    • measure everything
    • how people react to features, what they do
    • measure behavior rather than claims
  • testing is very important
    • user acceptance testing
    • everybody on the team should look behind the mirror on actual user labs
    • when doing labs, don’t give them todo’s
    • they worked with “Creative Good
  • use the users language
    • don’t make them use your language
  • registration for seeing is a roadblock
    • give as much functionality possible without registration
    • users want to get a good idea of what they’ll get before registering
    • you must show them, they won’t read about it
    • registration should be as fast as possible, & get you to where you were before
  • understand where you’re breaking the current paradigm, but other than that, learn & use how the world/internet work (emulate it)
  • you have to develop a set of morals
    • its the users data, not your data
    • CRUD their data
    • up to remove all your account data
  • infection vectors
    • Joshua spend $0
    • promote evangalism
    • RSS is good – you evade channels, get to applications & users
  • understand how a community uses your system
    • Joshua don’t want to own the community – the community is elsewhere
    • just enable communities use your system, don’t force them anything

[See also:

Just for the record, a capture of my current extip.icio.us map (presenting my interests based on my del.icio.us bookmarks library):

Web2.0 started with del.icio.us, the social bookmarking service. It was followed by Flickr, the social Photo sharing service. Both services, eventually acquired by Yahoo!, started a large revolution. The new concepts that del.icio.us introduced were:
- Social: Since the bookmarked in del.icio.us are shared, whenever you add a bookmark to your del.icio.us page, you see under it who else bookmarked this URL, & what other related bookmarks he has. This in effect upgrades the individual process of bookmarking into a social practice, in which a community of people explores the web together & share their findings.
- Web-based: The 1st thing del.icio.us did was to move the local desktop activity of bookmarking, & provide as a Web-based application. This in itself brings much value, because it decouples people’s data & apps from specific hardware they have, at specific locations.
- SOA: The bookmarks a person has, in a certain category, are exposed to the Web in standard way, so that you can integrate them in other Web sites, such as your blog. The same with your Flickr photos. This is a major shift compared to Web1.0: sites do not try to do everything, but instead use services from other sites. See Thomas Friedman’s book for this simple rule: if you need some service, don’t do it yourself, but just use the provider that does it best. Take for example NetVibes, that provides you a powerful portal, that simply brings services from other Web sites.
- Tagging: a revolutionary innovation del.icio.us introduced (at least as a Web de-facto standard) let’s you provide labels to each bookmark, called Tags, that are used to group & search your bookmarks. The revolutionary part is this: tags provide semantic meaning, that semantically links different items. What’s so revolutionary: now you can view all items, from all Web2.0 sites, that relate to a certain semantic concept, together, e.g., search ICQ in Technorati (btw, del.icio.us was conceived at a forum of Technorarti’s founder Joi Itto).
- Folksonomy: del.icio.us users create their own conceptual hierarchy (taxonomy), instead of use the dictated hierarchy created by the service. The hierarchy is based on tags, which create a graph like conceptual network (2 tags that describe the same concept have a link between them). The aggregated classification work of del.icio.us users, is called: Folksonomy, & is said to be better than the Web1.0 directories.
- RSS: the content syndication standard is used in every page & item in del.icio.us, & allows you to get feeds of whatever interests you. This has huge power. For example, on my NetVibes homepage, I see a feed of bookmarks made by del.icio.us users on the subject of AI. In effect this creates a community of Web crawlers searching the Web for me, on the subject that interests me.
- AJAX: As del.icio.us comes to replace a desktop service, it should have similar interactivity & friendliness. This is provided by the Asynchronous JavaScript XML architecture, that fetches data in the background, without any delay to the user interaction with the UI.
- REST: You can get to the data you want in del.icio.us & similar Web2.0 services by just writing the URL pointing to the item you want, instead of searching it or following a menu. How do you know the URL? The use of the simple Representational State Transfer architecture enables that.
- Simplicity: del.icio.us founder & developer, Joshua Shachter, built it for himself & for his friends. He insists, until this day, to make it dead simple. This is probably a characteristic of Web2.0 web sites, that strives to keep things simple.

Links:

- Best Web2.0 sites

- Microformats – a group that defines Web2.0 de-facto standards

- My bookmarks on Web2.0

- My bookmarks on AJAX

Means: the Web turns 2. Web sites were like infants until now, doing nice things, & being likeable, but unable to talk. Now they’re learning to speak with each other, & soone it’ll be a whole new ball game.

E.g. this local events browser by Yahoo:

http://api.local.yahoo.com/eb/demo/

The most brilliant metaphore though, is that of Steven Berlin Johnson: Web2.0 is like a rain forest:

The difference between this Web 2.0 model and the previous one is directly equivalent to the difference between a rain forest and a desert. One of the primary reasons we value tropical rain forests is because they waste so little of the energy supplied by the sun while running massive nutrient cycles. Most of the solar energy that saturates desert environments gets lost, assimilated by the few plants that can survive in such a hostile climate. Those plants pass on enough energy to sustain a limited number of insects, which in turn supply food for the occasional reptile or bird, all of which ultimately feed the bacteria. But most of the energy is lost.

A rain forest, on the other hand, is such an efficient system for using energy because there are so many organisms exploiting every tiny niche of the nutrient cycle. We value the diversity of the ecosystem not just as a quaint case of biological multiculturalism but because the system itself does a brilliant job of capturing the energy that flows through it. Efficiency is one of the reasons that clearing rain forests is shortsighted: The nutrient cycles in rain forest ecosystems are so tight that the soil is usually very poor for farming. All the available energy has been captured on the way down to the earth.

Think of information as the energy of the Web’s ecosystem. Those Web 1.0 pages with their crude hyperlinks are like the sun’s rays falling on a desert. A few stragglers are lucky enough to stumble across them, and thus some of that information might get reused if one then decides to e-mail the URL to a friend or to quote from it on another page. But most of the information goes to waste. In the Web 2.0 model, we have thousands of services scrutinizing each new piece of information online, grabbing interesting bits, remixing them in new ways, and passing them along to other services. Each new addition to the mix can be exploited in countless new ways, both by human bloggers and by the software programs that track changes in the overall state of the Web. Information in this new model is analyzed, repackaged, digested, and passed on down to the next link in the chain. It flows.”

  • My tweets

  • My bookmarks

  • My pictures

    Fixed summary of Erlang workshop by Ulf Wiger

    Fixed summary of Erlang talk by Ulf Wiger

    Erlang talk, Ulf Wiger

    Erlang workshop, Ulf Wiger

    AppEngine updates talk - Barack

    More Photos
  • My Deezer default playlist


    Discover Count Basic!
  • Top Clicks

  • My previous posts

  • Listed on BlogShares