Saturday, February 25, 2006

Location based communities

One of my latest interests has been mobile phone technologies. A few years back I remember looking down on these devices as limited and awkward computer wannabes. Today, the mobile phone market looks really promising and similar to the early years of the PC. The increasing use of the phone as a way to access the internet will bring about an improvement on how people use the web today.

Web 2.0, more about technology, is about giving the power to the users: user created content and photos uploaded and tagged are few examples of how people are creating and communities and sharing interests around particular issues. What is missing from most of the content today is location, some that can be improved by mobility.

In a couple of days I will attend a U2 concert in Buenos Aires. As in many concerts, the most ubiquitous device will be the mobile phone. With it people will take pictures, shoot short videos and eventually share it with others. Unfortunately these mountains of information will be location agnostic; they will lack the context of location that gives them meaning.

Imagine if I as soon as I upload the picture I'm automatically assigning it a geolocation based on my current position. A few weeks later I could search for other people that took a snapshot of Bono the same day and share live again the experience from a different angle. I could share my experience in my blog and have it linked to other blog users that where nearby the same day and added blog entries of their own. Creating a mashup with this information together with sites like GoogleMaps will be trivial as I already have the coordinates for the information that was uploaded. If you have used google local or even map quest you’ll realize the potential for queries in the vicinity of you current position as you surf.

Finally, locating a mobile phone will become more commonplace with the new 911E proposal that requires that a cell phone could be located in case of need with a mandatory GPS in each phone. The industry is also showing increasing support for location based services with API for geolocation using their network.

Let the location-based-web begin…(maybe Web 3.0 ??)

Friday, February 17, 2006

DDD Specification pattern

I just read a nice blog entry from Segio Bossa giving an example of the DDD Specification pattern. I wanted to keep his article in here so I could reference it in the future.

Following the specification discussion, in his book, Eric explores the Specification pattern more in depth and analyze the possibilities of doing composite Specifications. Then I remembered something I saw a while back on the Apache Commons project. The org.apache.commons.collections package (I wonder why is it there?) has a Predicate interface that fit's nicely with these concepts. Instead of a .isSatifiedBy() method you are given a evaluate(object) method.

I haven't really explored the idea in code by you could inherit a specifications interface and use the supplied AndPredicate, NotPredicate, etc to make composite Specifications.

Excelent!

Monday, February 13, 2006

Starting a J2EE project from scratch

As an architect I don't usually have the chance to sit down and write a lot of code. I spend most of my time just drawing models, solving client problems, helping with deployment and ensuring most developers are doing their job. I admit it, probably I'm not the best architect out there but I'm just starting.

My past 2 project were in .NET. When the projects begin I usually sit down and write some reference code myself and then let the developers continue. Lately I felt technology was getting by me since and I missed coding in Java. Wow how things have changed since Jbuilder 9!

I want to start a new project from scracth and know how I want the architecture to be based on my previous knowledge and reading countless forums and mails. I want the persistence to be based on hibernate, I need Spring for IoC and AOP for things like Transaction and logging. For the front end I'm still not sure. The application server is going to be JBoss since I need JMS and other goodies.

After much struggeling I realize what M$ has in it favor: it is stupidily easy to set up a project. I am overwhlmed by the amount of option and not sure how to even start this project in Eclipse. I even downloaded AppFuse in order help me jumpstart the project. I'll keep posting on how I advance as I go along.

Monday, February 06, 2006

POJO in Action Review

At last a nice and well written book summing up ideas from Domain-Driven-Design (DDD) and how to apply them to a real development project. I think the book's title is a bit misleading and should be called something like DDD in Action. This wat it could have been oriented to a wider audience (.NET developers)

As a software architect I found most of the book similar to previous projects I've tried to build since I read the DDD book. The advantage to have this book at our company is that when a new developer gets on my team I can point him straight to a book that is easy to read and understand.

Thank you Chris!

Friday, February 03, 2006

Cell vs Laptop debate reviewed

The other days I was reading this article that I read on MIT's Review newsletter. It discusses whether the cell phone or the $100 laptop will help developing nations breaking the "digital devide".

Living in a what is considered a developing nation (Argentina) I can see all around me the pervasivness of the cell phone in peoples lives, realying on it not only to speak, but also to chat in chatrooms and take picture and upload them in their personal fotoblog (Argentina and Brasil have one of the highest clients in www.fotolog.net). Thus I strongly believe that the cheap laptop is no contender to the cell phone.

But still, as in the past, the cell phone makers and more importantly the telco companies are blind to see the potential for their product. Their industry major concern is that these new technologies will eat into their fat voice business model.

It was not long ago that telcos where afraid to interconnect their SMS systems and exploit it in fearing that people will speak less on their phone. Once they did, they realize the inmense potential of this new market. In fact, in Argentina this milestone happened about 20 months ago and cell phone sales has skyrocketed since. No the telcos are crazy offering chat, ringtones and stuff...Now comes MMS: it is still too expensive to be useful and interconetion problem exists. And I haven't even touched the subject about data transfer that still is in it infancy and incredibly expensive because they are afraid that once you'll be able to install Skype on your phone the game's over.

And then there is the problem with the cell phone itself: incompatible OS and programming languages (Java vs. BREW vs Java Flavors..) that ressembles the PC industry in the 70's.

Unfortunately until this problems are not solved I don't think the cell phone stand a chance in becoming the next PC revolution.