Posted on May 7, 2008

Note: This is just an idea at this stage, I don’t know if/when I’ll ever get around to implementing it. Knowing me, it will probably never happen, so don’t hold your breath if you find this to be interesting.

What is it?

Wazup is an idea of mine for a service that boils down to a site which lets me know, at a glance, what is happening now, near me. For a given definition of now. And of near.

Introduction and motivation

This project was born for a number of reasons, of which I highlight a few to help me keep on track if I ever get to developing it:

  1. I wanted to learn Python and there is no better way to learn a new language than to have a real, useful project to build using it;
  2. I wanted to try out the Google App Engine;
  3. I wanted to build a new application and code it from the ground up (feeling nostalgic from the days when I did good old honest-to-God coding);
  4. I also wanted it to be a web application, since I’ve never really written one of these;
  5. I actually find myself sometimes in the late afternoon or early evening feeling like going out to do something and having to trawl through a number of sites and feeds that I keep with “interesting stuff” that is happening.

From the above list it should be apparent that even if I do know that there are probably a dozen such sites out there, I really want to indulge in thinking about (and maybe even prototyping) one.
As such, comments along the lines of “Yeah, but site X.com does it this way” or “Well, site Y.org does it better” are totally irrelevant so don’t bother.
On the other hand, comments which point me to nifty feature ideas or implementation details or something along these lines are most welcome (even if they may well end up not being considered for the exercise).

Intended features

First of all a warning: this is not a road-map for the app’s development. I’m not actually sure I’ll even ever get to build the thing. This is just a list of stuff I’d like to eventually have working, if I do go ahead and do it.

The numbers in front of each item are a crude idea of the importance of each idea. A ‘1’ means that it is important to have ASAP, a ‘3’ means that it can wait (and possibly will never get done at all).

And now, for the list:

  • Handle multiple users and their respective data feeds and preferences (3);
  • Handle multiple data sources, with fetchers and parsers built specifically for each one of them (1);
  • Have an easy plug-in system to build such fetchers and parsers (1);
  • Be able to fetch the data in real-time (unless I can figure out if the Google App Engine environment allows me to call a function regularly with some kind of scheduled job or something);
  • Allow me to define what time-frame I’m interested in seeing (2);
  • Allow me to pick and choose events to look at more closely (3);
  • Allow me to choose how I want the results to be ordered (by location, by time, …) (2);
  • Be aware of where I am (or allow me to tell it) and automatically adjust to show me the relevant events only (over-rideable, and using some of the many geo-location services available out there –so web2.0!) (3).