Wednesday, August 30, 2006

Summarized by Pattern

The GeneXus's Pattern Generator still blows my mind off! It's an amazing way to save the developer work by allowing to standardized behaviors, share templates and minimize the mechanical side of programming. Anyway, I decided to try the newly developed Summarized by Pattern to bring in some statistics in the simulator's usage viewer.
This particular pattern allows you to generate with a few clicks some web pages that will provide the user with summarized information on any chosen indicator (money, time, etc) analyzed by chosen dimensions (customer, dates, product, etc). Even being a unreleased beta version of the Summarized By pattern (thanks Enrique!) it worked out very well and gave me a product to show in just a few hours. I just reported a few minor things just to be a good beta tester ;)
Some of the issues: having to import the standard pattern xpzs manually, a inference issue where it tried to infer the description attribute for the first attribute in a two att foreign key table, and some other issues mostly related with the way I did my settings in the pattern instance (XML). In the end, just a few clicks, some tweaking here and there and voila! I have my simulator's time usage information summarized with nice graphics!! Pretty amazing.

Going to Prague

I just finished my little presentation, it all went cool, everybody got excited about the new projects and the direction we're going so this is relax time for me and I feel like blogging.
Before I forget one more time: Chicago connections suck! I don't know why I forget about it once and again, but the weather there is half the time impossible, so on my way to Prague I ended up loosing my United connection and having no luggage for several hours. The flight was to Frankfurt Lufthansa instead of United in the end which was pretty cool as they have this great german DJ music channel.
The other day I was talking to Josh our graphic designer for Full Swing Golf, who is a DJ as well, we were talking about digital music and how it is great to listen as you develop/design, specially when it's not too vocal. It really works out great for me while I'm working, it keeps me up (to the beat) but it does not interfere with my left brain at all (I hope my laterality worked here:), it actually helps me concentrate.

Saturday, August 19, 2006

Macintosh Dashboard vs Google Personalized Home Page

Both Macintosh Dashboard with their widgets and Google personalized home pages seem to be pointing in the same direction. There is a definite need for a centralized view of information that comes from different sources. In my previous post WiFi washers and driers I was talking about how all the home devices need to have a centralized software to control them, but obviously it's centralized only in the sense of being able to see it and control it from a unique place, the architecture is intrinsically distributed and it looks to me like the two approaches (Macintosh's and Google's) are totally covering this need. The schema is pretty similar, allow third parties to develop their widgets in one case and content components in the other and allow the user to have this unified space to see it all/control it all.
Macintosh dashboard does it with the typical graceful design, which is indeed pretty neat. Google on the other side, does it faithful to the web platform.
I believe Google has a wining hand because the platform will determine a greater and easier adoption, but there something in Google's personalized home pages that is not enough, too static maybe? I've been exploring flash in combination with web services in previous posts (Flash and Web services) and I think flash could give Google the best of two worlds staying in the web platform paradigm but at the same time allowing it to meet the design and interface requirements that today's world needs.

Wednesday, August 16, 2006

Flash and web services, the Pandora model

Three years ago, Daniel, my co-worker, showed me a book that was talking about developing Flash applications with web services together to provide dynamic graphic web applications. I developed an example and it worked pretty neat, but at that time I thought it was too cumbersome a process and forgot about it.
Now, using Pandora, I realize it's the first example of a website that did a great use of this technology meshup. It's the first time that I see a web application where using Flash makes all the difference in the user experience and it makes total sense. I assume they have webservices behind the scenes, although there could be a database direct access as well.
For me, three years and pandora and ajax later, I'm thinking on using Flash + web services to implement some areas of my next project, as it can give us the online flashy gamy look, it can give me the opportunity to accomplish completely independence of the design, and we can use GeneXus to easily generate the web services. It certainly would be much much less work (I need to find the flash counterpart that we can easily outsource in Uruguay) than implementing a similar, not so nice looking page in ajax ...
The one dis-advantage of this approach when comparing with the ajax approach is not being native in the browser as ajax is ... I'd think most users have the plug-in already installed.

Tuesday, August 15, 2006

The ultimate question

Yesterday, shortly after her 6th year old birthday, my daughter Nicole asked us what I believe is the ultimate question: what are the humans here for? (in spanish: para que estamos las personas en la tierra?). Not how? not why? what for?!! She's asking about purpose ... Even if I was unconsciously waiting for this moment I wasn't prepared for it at all. My husband and I were leaving the house at that moment and we just looked at each other, seeing that the ball was in my field I said something like there are many answers to this question and we'll talk about it later. Now, having thought about it some more, I realize that:
1. I want to reward and cherish this moment and this question, so first thing I'll do is take Nicole with me and find a way to celebrate with her. I want her to know this is a great moment in her personal history.
2. As I think more about it, it all comes up to it's all infinite and the only possible purpose is to exist and evolve, both individually and as a whole. You can choose the god of your preference, but that doesn't eliminate the fact that someone else needed to create god or god always existed which in any ways makes it infinite. Basically, like my co-worker Daniel pointed out earlier today, Lavoisier's law essentially is also saying all that is has always been and will always be, it might transform but will never disappear. If it's all infinite, there's no purpose on creation or destruction, the only purpose is in existence and transformation which in turn is Evolution.
3. I'll try to personalize on her own life to get some balance so she doesn't feel totally lost being a little piece in a gear. Our individual purpose is to expand to best of our potential, to be happy, share, learn and evolve. I hope she's happy with that answer ... we'll see for how long ...

Friday, August 11, 2006

"Extended memory" childish like

I believe the way I feel about my memory today (including "extended" memory) is very similar to what my 2 years old feels like about it.
I put a bunch of things there but I can't reach them when I need them. I probably don't even realize I need to reach it even, which is a much bigger problem.
What things need to change in order for my extended memory to feel mature again:
1. Physically. The memory storage needs to be available all the time from everywhere. This implies residing on the net for all my storage needs. I've been carrying my notebook everywhere for more than a decade now and I have a permanent internet connection (while in the US), but I'm kind of tired of that. Also, sometimes I don't want to open the notebook and wait for it to un-hibernate so a PDA came handy, specially when together with the phone meaning it's highly probably I will have it with me most of the relevant time. Even then, and assuming blue tooth synching it's one more device to carry around. Internet is the answer, I don't feel comfortable with internet email, but I'm thinking seriously about it ... I should try some x drive thing as well consistently ...
2. Programs. Then there's the software part of it. Associations are so poor in today's storage world. Basically you save files/documents/photos/source, etc, and you can just hope you can retrieve it with a simple text search. I tried google desktop search some time ago, I wasn't that impress with it. We need to link things, much like the autolink in google's toolbar (another example of browser evolution taken over by a plug-in), but happening more automatically in our whole storage base (today meaning windows desktop applications, or meaning we don't use those at all anymore) and suggesting many other links than maps, books and car VIN's. A lot more to elaborate on the software area.
3. Interfaces. The last component on accessing memory is how to communicate your needs and get your retrieves back. For now the standard keyboard is long away to die in my opinion. I tried to use a tablet pc couple years ago. It was an interesting experience to find out that as long as all our applications are designed to work with a keyboard: you need one!! Tired of carrying the tablet plus the keyboard I gave up on the tablet thing in less than 6 months (I really really tried ;). Keyboards will probably change becoming more an on and off thing. Interfaces could change to have more voice recognition (although I don't see much evolution on this side for some type of applications because of the lack of privacy and other issues) and possibly direct mind connection, there are nice experiments already done such as a paraplegic person already handling the mouse with their brain, very promising.

I'm most of the time thinking about 2, anybody could have guessed that :)

Internet makes cross discipline research possible

It looks like science has become so compartment-ed that we end up re-inventing the wheel in different disciplines without even knowing of the previous research in other areas.
I realized this several times when talking to my brother who is on the other end of the dial than myself when it comes to science viewpoint. Me being on the side of computers and biology mostly and he being an anthropologist and sociologist, when we get into theoretical discussions I often see how information systems would benefit of understanding the social networks. For instance, the other day I was talking to him about the evolution of websites in the sense of how they leverage today community knowledge and all the crowdsourcing stuff, etc. Then he said something about anthropologists having studied social networks for years and knowing about key things that happen in social networks such as legitimation. Then it just clicked in my mind why some sites such as eBay have been so successful because they found a way to port the social legitimation into their website with the feedback concept.
Also, today, by another coincidence, someone mentioned Cognitive Therapy and when I looked at it, it become clear to me that Cognitive Science has a lot to offer to Computer Science. They talk about Core belief system, conditional beliefs (rules), protective behaviours, all applied to psychology but so interesting and applicable when thinking on building a computer belief system.
There's great value in what one discipline can get from the rest and Internet is making it possible in a cheap way for everybody to cross these frontiers and maybe integrate science back to a way it hasn't been for a long time.

Thursday, August 10, 2006

Fuzzy Logic and Bayesian Networks

For many many years now, I've been obsessed with understanding how our memory works, basically how we store things, how we retrieve them and the whole triggering process that supports decision making, etc.
In 1994, I was traveling in a car with some friends across the US. Somewhere in the way from Texas to South Dakota I catch-ed myself thinking on the way we make decisions. In university I studied binary logic (true, false) and three values logic (true, false, unknown). I couldn't believe it, all I studied couldn't be farther away from reality. When we make decisions we use probabilistic calculations, we have a range of options from the ones that are known as facts to others that are just a very slim possibility and we operate with multiple clauses with different percentages of assertion. Luckily I was in the US when I had this thought and less than an hour apart I was in one of this huge american bookstores (no internet at that time ;) where I found this book about fuzzy logic that explained exactly how the logic of n-values worked. Fuzzy logic didn't go far on the practical side of Artificial Intelligence, although when I think about it Bayesian Networks are kind of a "modern" implementation of Fuzzy Logic.
Whenever we implement computer systems that involve some learning processes as well as some decision making capabilities we need to look inside our mind and figure out how it works. Then, the computer resolution of the same issue doesn't necessarily have to be exactly the same as ours, but it'll be a start.
Marvin Minsky with the society of the mind is a great attempt to achieve this analysis. He defines all this little agents that operate in our mind which is very computer oriented as an architecture.

Saturday, August 05, 2006

Wifi Washers and dryers

They're already doing consumer testing on washers and dryers that can send status information to emails/msns/cell phones. They can also accept simple commands like start, stop or change cycles. I don't believe it's a great advancement in itself, specially because as everybody notes it won't do the load/unload/transfer load that would be really cool ho have.
Nevertheless, I'm excited with this news because its one more step forward in the direction of having the "smart" house. One in which you can have status information on more and more devices, control in a way all that's going on in your house. I'm sure one day houses will have a digital brain. I always tended to think of a centralized way to manage all home related stuff, including probably fridge status, pantry inventory, car monitoring, some gps for family members maybe, home security, internet connection, phones, centralized digital media system (tv, movies, music, all downloadable), air conditioning, computer stations, watering system. I would include centralized financial information, like all bank accounts integrated and integrated bill system (not only the bill amounts and status but also detail such as what I bought in the store last Monday), but I'm sure most of the people would freak out about this one. All this information could be in a centralized home server connected to the outside or just reside on an external web server. Security would be a big issue, I imagine some biological sensor as a secure way to do it. Even if I know the digital print readers are not considered secure, I love having my little ones get into their computer profiles with the touch of a finger, more for the fact that they have a little bit of the future in their hands with the no password approach than for nothing else.