Saturday, November 24, 2007

The giant global graph, where Semantic Web and Web 2.0 meet


For the first time we're seeing major agreement between what were two completely separated philosophies on the web (except for the occasional comments on each side crossing to the other).



Last week Tim Berners-Lee blogged about the giant global graph (ggg), a new layer of abstraction on top of the net (internet, linking computers) and the web (linking documents).
"Now, people are making another mental move. There is realization now, "It's not the documents, it is the things they are about which are important". Obvious, really." says Tim Berners-Lee.

In the end, the so long awaited convergence between Semantic Web and Web 2.0 are graphs like FOAF (friend of a friend).
This was the first graph to became increasingly important recently covering a user need to own their social networks instead of having one particular social website own it for them. Now, for the first time both web 2.0 community and Tim B-L are mentioning each other on their blogs in agreement on graphs and web evolution. It seems like the first step for the re-converted Semantic Web is out there, not too surprisingly pushed by the social net needs, even if it will expand to many other areas.


One more extract from Tim's blog that shows the vision for the future (so we don't get too caught up on the social network thing):
"In the long term vision, thinking in terms of the graph rather than the web is critical to us making best use of the mobile web, the zoo of wildy differing devices which will give us access to the system. Then, when I book a flight it is the flight that interests me. Not the flight page on the travel site, or the flight page on the airline site, but the URI (issued by the airlines) of the flight itself. That's what I will bookmark. And whichever device I use to look up the bookmark, phone or office wall, it will access a situation-appropriate view of an integration of everything I know about that flight from different sources. The task of booking and taking the flight will involve many interactions. And all throughout them, that task and the flight will be primary things in my awareness, the websites involved will be secondary things, and the network and the devices tertiary."

Thinking space has an interesting point when analyzing the appearance of the ggg. The new graph abstraction might be an early indicator of a switch in the path of web evolution. Yihong Ding, envisions a future web that is viewer oriented instead of publisher oriented. I like this idea of users getting to their own personalized view of the web on this new layer of abstraction. Each user's cyberworld would be the intersection between their own graphs and the graphs out there.

This is getting exciting!
I wonder what would be next? The big bionic brain (bbb, not to say big brave brain) maybe? ;)

Tuesday, November 20, 2007

More neuro-feedback and neuro-implants experiments

Via Neurophilosophy I came across three great examples of neuro-implants and neuro-implants that show how fast we're getting there:

1. Neuro-feedback: Brainloop, a brain-computer interface for Google Earth



2.
Speech neural implant which could soon enable a paralyzed man to talk again through recognizing brain-waves associated with sounds and ran by a text to speech computer program.

3. Attempt to produce collective music from brainwaves and heartbeats. Probably the idea was better than the results in this experiment ...

Saturday, November 17, 2007

Digital art:: Flash Oz infinite world


Spend some minutes (3.5 depending on the speed) traveling through this imaginary recursive flash scenario: Oz infinite world
[via connecting the dots]

Cheating on sleep


I read this article on Wired about the possibility of cheating on sleep. It basically says that when we sleep at night it's not so important how many hours total we sleep but the number of complete sleep cycles we go through. Apparently as we sleep at night our brain goes through cycles with 5 different phases for a total of 90 min, three of them are relevant: 65 min of normal non-REM (rapid eye movement) sleep, 20 min of REM sleep plus final 5 min non-REM sleep. The REM phases will become longer during later sleep. This studies show that if we were to wake up naturally with no alarms or external intervention we'd sleep multiples of 90 min such as 4.5 hs, 6hs, 7.5 hs, 9hs, etc. The idea is that if we sleep complete cycles you'll have a better rest. A person who sleeps only 6hs (4 cycles) will feel more rested than someone who slept 8 or 10hs. Wait a min ... that sounds familiar!

I've been experiencing with this information for some nights and it seems to be true! For now I am only looking at the time every time I wake up in the middle of the night to see if I indeed slept through 90 min cycles, and it's been happening pretty consistently, no matter what time I go to sleep I'm waking up after 3hs and 6hs ...

Next step is to try and actually get up from bed at the end of the cycle closest to my target time (the time around which I intend to be up). We'll see if I can cheat sleep even a bit ;)

As I was reading this article I was remembering of "The new everyday: views on ambient intelligence" book from Philips Research. In this book they analyze very open mindly future technologies. They particularly talk about ways of replacing the traditional sound of an alarm clock with a diffused light system capable of creating an atmosphere in the bedroom that would wake you up in a nice natural way.

How cool would it be to have sensors detecting your brain waves and waking you up naturally and nicely when the cycle closest (and before) to your target time comes up? I'd love it!!

This reminds me of the phrase: "Imagine the possibility. Create the reality".

Friday, November 16, 2007

Why users matter more than ever before?


Users always have been a big part of the software development process but recently I've been thinking that the role of users today is more important than it ever was.

In which phases and how should we care involving users?

1. Requirements. This is the most obvious one. Users are a key part of the requirements definition. This was true in the old times too, but today users know what they want in a very precise way. In the old times we were building systems for users that never used a computer system before. Users were 100% computer-naive (as opposed to today's computer-aware users).
When I studied systems in the late 80s users would provide the field knowledge, the "what", and engineers, analysts and developers would provide the "how to" part of the implementation. Today, the users are expert windows and web users, they know what to expect from a system, an interface and much more. I think users today know what they want and without losing our objectivity and obviously adding our own "know how" we should listen very carefully our users requirements.

2. User's ownership towards a successful system implantation. A system that was conceived and developed with user's ownership and commitment will be successfully implemented and installed. On the other hand, a system that fails to implant successfully will in most cases unveil that the users that should be committed to it were not identified and integrated properly. What users are we talking about in this particular step? for an internal or intranet system it would be: end users, marketing team, support team, sales team. For an internet system it is more complex and is explained better in specific literature such as "crossing the chasm", but basically it would be: alpha geek users, beta users, core users, vertical/extended users, mass users.
I had my own aha moment regarding this subjects in my early years when at the moment of rolling out a system, that from my perspective was just perfect, there were all kinds of obstacles and we could not get a successful implantation, and of course the users did not own the product, they didn't feel any commitment to it, they even felt menaced and challenged by the system and it just didn't work out.

3. Testing and system evolution. A system that is not used by users will never improve. What makes a system evolve is just one thing: USERS. You can plan to improve a system as much as you want, but what will really improve a system will be real people with real problems or real experiences on the system. That's why it's so important for systems to achieve a critical mass of beta-testers and core users that will push the product to its limits and make it evolve and grow. This is more true than ever also for web applications. Most of the users are educated in what they would expect from a system and they will ask for that, anonymously, with their names. No matter how, if you have a critical number of users you will get the feedback that your site needs to evolve.

So, more than ever before, users are a key part of the software development process and how much they're considered might make the difference between system's success and failure.

It might not be too far away that users can build their own systems, plus some people are already talking of self-improving systems, so things will keep changing ...

Friday, November 09, 2007

DVR obsession


It's known that we get too easily used to the nice stuff. Technology such as Digital Video Recording just spoils us. After a while of having this feature on my cable box it seems so natural that I just can't believe I lived without it before. Not only this takes care of the kids interruptions when you're watching a show, allows you to skip through publicity and compresses show time by 40%, it allows you to re-play something you can't understand or need more details about and frees you from having to remember shows days and times. This is just the beginning ...

What's funny about using DVR technology is that I developed such a dependency on this technology that now I find myself trying to rewind a radio program I'm listening in the car radio or event worst, trying to rewind some phone conversation or some real life conversation or situation. It just makes so much sense that my brain can't tell the difference between the different media, it just loves this feature and wants to have it all over the place.

Most likely it's my bad memory that's really driving my DVR obsession, but I can see a near future where both this automatic and explicit recording capabilities become pervasive. Can you imagine the possibilities as video technology itself evolves into digital search by image, sound, GPS positioning, date-time? Show me the video at the moment when I was at the entrance of the Zoo or, show me the part when Nicole showed up in the house or, show me the part when he said 'bla bla bla'. Can't wait ...

I believe there is also a value in having a DVR kind of thing for the computer usage having the latest sequences saved automatically as well as being able to purposely save computer usage images and commands and have them replay at a later time with a similar functionality as the DVR for TV. This could have a great value in many applications specifically for computer learning or knowledge management applications.

Digital footprint


I guess it was mostly because of the fires that I started thinking strongly about the importance of digitalizing our life, specially our past (as our present and future are luckily pretty digital anyway).

When faced with the possibility of evacuation couple weeks ago I kind of had to go on my mind and even physically over the things that I must have taken for sure with me. Among those, there were in my case documents (such as immigration paperwork, degrees, insurance paperwork) and old photo albums that could easily be scanned into a digital format. Then, of course there's the things like family treasures or trip's souvenirs that you just can't compress into a DVD (a video recording of them would be with our current technology the most you could get in this case).

Anyway, even if I probably won't find the time to digitize my past I still think it'd be a great idea to have everything converted to digital format. Then, moved to a server with some redundancy and that's it, you're free to pretty much go through life without the heavy baggage or at least without worrying or risking losing stuff that could be irreplaceable.

It's amazing to see how much smaller our digital footprint is compared with our physical one ...

Sunday, November 04, 2007

The best analysis of technology and evolution ever written


I finished reading "The singularity is near" by Ray Kurzweil (yes, I did! ;). I don't think there's another book out there with such a fine analysis of technology's evolution and evolution of humankind, or for that matter another person that has thought as deeply and thoroughly on this subject.

The book really pours information all the way from beginning to end regarding technology in general, computing, nano technology, robotics, genetics, physics and more. Obviously there's a lot of speculation (as it ought to be in the field being) it makes a lot of sense and it asks the right questions. I have to admit this is my first Kurzweil book, so I don't know how it'd feel for someone that already read previous ones.

We needed a new Carl Sagan. Kurzweil not only knows and thinks incredibly about the matter of evolution, in addition he seems to have the decision and the capacity to communicate his ideas even risking to be seen as mad or naive.

It seems like the movie is coming ... this is very interesting as it might have the capability to make massive information that otherwise might be hard to consume.

It couldn't fail for me, my favorite subject in life combined with a great thinker :)

Friday, November 02, 2007

Design for functionality

It's been a long way since the old structured menu driven windows applications. Before, the user would be entering an invoice, the inventory for an item would be low and the user would have to go totally outside their current action and remember to go to some other menu to add the item to a provider's purchase order. Today, with the web, the user would expect to see within close access a place to at least mark that item to be added to his next PO.


I'm not sure when this trend exactly started but I noticed sometime ago a change in the way we design web applications. Particularly I love the web designs that have functionality in mind and as a result actions are offered to users in the place/moment where/when they might need it.





I just started adding functionality with this idea for couple weeks now and I like the results. Examples of this are to offer "Your logo here" in a spot where a client could view their logo, or "click here to change your ..." right at the place where users are seeing the results in action filtering something for them.

Blogger got it regarding tracking comments


A partial simple solution to a common old problem ...