Saturday, July 29, 2006

Ajax: Pushing the limits of the web architecture

The first time I heard about ajax, it impressed me deeply: to break the monolithic browser/server interaction into this tiny interactions was such a powerful thing. Right away I tried it, loved it and embraced it in the current project that I was managing at that time Peoplecenter ... Today when looking for some books in Amazon I played with their tags system (a nice implementation of folksonomies) or when trying the auto-correct features of the new google toolbar, I was very impressed with the extent to which the web is really changing thanks to ajax. It's obvious that we're abusing the web's architecture and original purpose (isn't that what users always do??) and having to come up with such a complex solution as ajax is, development-wise, is a consequence of this lack of original intent in the browser. The web architecture was not conceived to do what it does today, and was not designed either to do what I suspect it will do tomorrow with Semantic Web, but still, the web platform is an evolutionary path we can't argue with. Most probably we'll be seeing more and more of this patches, work-arounds and evolution of the web as it was originally envisioned, until eventually we'll have to come up with something that has all we love about web as an end result for the user and main platform characteristics but re-engeneered to make sense development-wise as an architecture.
Hopefully in the meantime GeneXus can come up with some more "magic" to allow their users to benefit from ajax without having to deal with the annoying (for most of the mortals) details, like they're already doing with Transactions. I was hoping we see an ajax implementation of the IsValid event in Web Panels soon, although I understand the scope is not minor ...

New Google tool bar

The new google bar has many nice features. They keep enlarging their integration with third parties, like they did before with the home page. This time they added 'Search Types', where third parties can provide searches in their own websites, so you can tell it to goolge just BoingBoing for instance.
The Bookmarks tool sounds del.icio.usly familiar ;) I guess google is pursuing the bookmarking market and they're doing so using their data as always as the empowering factor. You can start recording all your google search results' so you can go at a later time and bookmark the relevant ones. They remain very purists in their search basics, no tagging added which I think would be very useful. Not a glimpse yet of any networking sharing for this bookmarking feature ... so I guess they still are not too ahead in the bookmarking business. I like the fact of recording and going later to mark what's important to remember. I always have been a fanatic of recording. It makes a lot of sense to record in a superficial, unprocessed level all the things we do, see, hear, etc and having the possibility to go back to it and do come cleaning, tagging, long term storing of the info (I belive the aborted Xanadu project was all about that). This to me, resembles the way our memory actually works so I believe it's a step closer to having computers be our extended memory. What is really cool is that once we unveil the secrets of having this extended memory we also will have the possibility to have a shared memory.
Anyway, back to the google toolbar, two more features that were there before but I never noticed:
1. The Autolink feature. I see a lot of potential on this one. I'd love to see more autolinks, like dates to calendars, contact info to address books, etc.
2. The check spelling thing is great, I'm saved!! ;)

Friday, July 28, 2006

Panjab Bhangra music

When I was in Beijing earlier this year, because of one of those little coincidences in life, I happened to end up in a 5 star hotel ... really neat, didn't use the butler at all (who needs a butler? give me a robot one and I might deal with it in the future ;). Anyway one thing that I loved there was they had a great sound system connected to the bathroom where you could just adjust the volume basically. I noticed some years ago in Shan-hai that there is a lot of influence of indian music in China, and I came across this really cool indian music that thanks to my falty memory I could never listen again. Couple weeks ago, Time magazine had India as cover story and in their article about the super cool city of Bombay that I hope I get to go some day. They mentioned that they're sounding this panjab bhangra music. For what I understand it's a remix of some traditional indian music with a DJ spin. Really cool!! Later found and loved "Om Nama Shiva" from Donna de Lory, powerful mantra with awesome, transporting music, it'd be great for my yoga class. Amazon has a free download for the song. Of course I have a radio station in Pandora giving me more of this stuff, I'm thinking I need a third monitor to have just Pandora there ...

Thursday, July 27, 2006

Pandora and 'why?' links

I've found Pandora when looking at Andres Aguiar's blog some days ago. They did an awesome work with this product. I loved the music genome concept they invented/implemented. In addition they have a great freemium product as their free version ads are really non-invasive (nice partnerships developed as well). The one thing that was so right that was even hard to notice is their "why?" links. I thought it was such a cool idea to explain the users why things are the way they are ... Their welcome email impressed me as well, super warm, personal and open to hear back from new members. They even left me thinking which other things might the "genome thing" apply and I've been listening to my own radio stations for a while now, pretty cool ... Way to go Pandora!!

Monday, July 24, 2006

blog, wiki- my own view, my network views and more

There is something about wikis and actually blogs that does not convince me. I keep thinking why they became so popular, especially in the case of blogs, that seem so sequential in a sense. You either search them or you go by date. I read a post from Enrique Alemida talking about structuring wikis and I thought yes, that is kind of what the wikis are missing, and probably in my view the blogs too: different areas or spots, some kind of organization, such as my personal view, my networks views, my talks, my posts, views by tag groups. Then today, reading cafe au lait I found one blog talking about Why blogs work. An intersting view, the guy gets to see blogs from the perspective of a non-technical person and realizes that "normal" people don't use hierarchies the way we programmers do. This is a different analysis that like someone else comments in his blog, explains in turn this something that I feel is missing in blogs and probably wikis as well ...
Then, in the end even if I still suspect that there are improvements that would make blogs better, I'll try to keep in mind this non-hierarchical view of non-programmer mortals.

2GW Second Generation Web - alternatives to Web 2.0

After all this Web 2.0 discussion, where the name of an emergent collective techology ended up being "owned" by couple people I was thinking on how will this naming thing continue ... the concepts are as powerful as before, that's why they were embraced by the web community, but I guess sooner or later it'll have to have a name, and I doubt people will continue to call it Web 2.0.
I just thought of this name to call the "Second Generation Web", why adopt a new nomenclature if we already have one. So, instead of re-inventing the wheel, we could call the second generation of Web 2GW, consistent with the standard of the languages 3GL, 4GL, etc.
I won't patent this one ;)
Seriously talking the web of the future is the semantic web ... I'll come back to this soon ...

Some rights reserved - View Source

This is a very interesting concept also known as "hackability" and remixability. Systems like the original web, RSS, and AJAX all have this in common: the barriers to re-use are extremely low. In my personal opinion the web browser's view source feature was one of the great things that helped make web development viral. You didn't need to go to any books (or the web that did not exist as is today) to find out "how are they doing this cool thing?". You would just click on the
"View Source" option and you'd be seeing THE SOURCE!!! Soon came cgis and new languages and technologies such as java/asp/aspx etc and all that kind of went backwards. In the case of AJAX, where a lot of the power was back to the client and the browser viewable source, there is a little bit of excitement back to the remix picture.
I'm not arguing against source protection. It's great to have source protection, in fact it's important and has a true value, but, this doesn't mean that in other cases it'd be really nice and harmless to let users access to the source code of the page they're viewing. So, I'm wondering if we'll see any "View Source" implementation for server code. At least for the open source movement it seems like a natural thing to do, particularly so with open source projects and for people sharing sample code on the web.
I guess it might imply taking the open source to another level ...
Maybe the GeneXus community, which is a very vanguardist community, might embrace this idea and would share most of their code to make GeneXus code virally expand over the net.
I wonder if it'd make sense to have a more seamless integration between browser and not only client but server code as well. Eventually it might allow better ways of hacking and re-mixing ... waiting for the day when source code flows as music, in the public domain ...

Artificial Intelligence vs. Intelligence Augmentation

This is antother subject I've been thinking for a while until I came across other people wondering about it and formallizing it as well.

The simplest way to think about it is, what path of evolution will win?
  • making machines think and become intelligent? or,
  • making machines just power the bionic brain?


  • In the first case, we're talking about "Artificial Intelligence", which has been on and off a hot thing in Information Systems throughout the times. It's like it'd be nice to have, and it's doable as well, actually we've been adding some kind of AI to our systems all this time. But ... we don't seem to be ready to make machines learn the way we do, to think the way we think, to interact the way we do.

    In the latter case, we're talking about what has been called "Intelligence Augmentation" or "The Bionic Brain". I came across some of Tim O'Reilly's posts mentioning these denominations. This leaded me to Pattie Maes, in her article "Intelligence Augmentation, a talk with Pattie Maes". She studied for years with the AI guru and one of my personal heroes Marvin Minsky (first ever mentioned to me by Nicolas Jodal when I asked him some weird questions about computer learning many many years ago). Back to the IA thing, what seems to be the alternative to making machines think, is to use computer networks, software and databases as the wires of our brain, as the myelin that keeps humanity super brain together, glued, connected. The internet and all the cool software we're building today, making users collaborate, making wired social networks, being a live memory for society (like having as global mind a bunch of extra RAM memory).

    It's hard to tell which of these evolutionary paths will win ... I would think that a combination of both, machines will become more and more intelligent and the bionic brain will grow even more so because of the addition of machine intelligence to human intelligence. Maybe the future is collaboration between machines and humans? humans teaching computers their strengths while using machine strengths for their own empowerment and the oposite hopefully as well. I for one will be some day writing manifests about machine "human????" rights :)
    Anyway, it all will come back to cyborgs in the end, that's my humble opinion.

    In AI it looks like Bayesian belief networks is a promising thing (thanks Jodal for this one too). In IA topic maps and semantic web seem to be the future.

    Time tracking as one of the earliest ubiquitous technologies

    I've been wondering for some time how personal computers will evolve in the sense of becoming ubiquitous. I thought of another example of technology that evolved to be ubiquitous that could make a nice comparison.
    Here's the paralelism: let's compare time tracking technologies with computers and let's see if we can draw some conclusions.

    When time started to be measured for the first times, it was done by external huge devices (for instance stone constructions that together with the sun would track time).
    Eventually humans slowely but surely got to have a big clock per city, and later one in each house (that does sound familiar ;), and of course most of the people ended up having one on their pocket first and their wrist lastly (for now ... but who knows what's next). It makes sense that it'll mesh up in evolution with other devices when them as well become ubiquitous.

    From this evolution I think we can expect computers to follow a similar path of evolution, as intuition and market already show. Eventually computers will become physically attached to our bodies and we'll even sleep, shower, etc. with one close by. Computers will actually go much farther with neural comunication to be implanted into our heads or bodies or plugged somehow anyway to have a seamless operation with our brains, visual devices, and who knows what else ...

    It'd be interesting to get some historic dates and accuracy, I'll ask some people or wikipedia ;)
    Especifically, measuring the evolution of time tracking might shed some light as well on how accelerated evolution is today comparing those timeframes with timeframes for computers to become ubiquitous.
    It'd be interesting as well to think of previous ubiquitous technologies and posterior as well. Maybe money would be another example? All of them start as a physicall thing that end up being digital and ubiquitous.

    It looks like becoming ubiquitous is a standard characteristic of technology, a natural path for complexity and evolution. Mhh ... I wonder if there are a set of such characteristics that we could find ...

    Sunday, July 23, 2006

    Starting evoluzination

    In this blog I'm going to be dumping thoughts, ideas, questions and curiosities in the belief that we're building a bionic brain through technology and blog posts are just thoughts in the collective mind.
    I was inspired to write this log after I received an email from Adaptive Path Newsletter. For the second time I read this thing about Web 2.0 and this time around having some extra time I googled it more and got to read Tim O'Reilly's paper "What is Web 2.0?". I have to admit it was a really cool article, I enjoyed it deeply, lots of food for thought. Some deli.cio.us's, flickr's, boxxet's, topic map's, folksonomy's, tag clouds's later I had a great buzz in my head, evolucination in action right there ;) After a while I also got to read the whole patent polemic so the Web 2.0 name doesn't feel so right anymore. Especially coming from someone talking about the new era of collaboration the issue doesn't seem minor.
    Nevertheless, and regardless of the name, patented or unpatented, the concepts are still amazing and I'll be talking about some of them in next posts.
    Anyway, better later than never, all this got me started with my procrastinated blog, so I'm thankful for that. I'll start sharing and thinking out loud from this place and we'll see what's next.