ZAT - notes on Z to A Travel

1 August 2006

Eclipse

So, I spent most of the last few days playing around with programming tools. The choices were two commercial packages: ActiveState’s Komodo and Zend Studio. In the end, neither won out. I’m currently using a very early beta of the PHP IDE, which is a plug-in for Eclipse. A big advantage of Eclipse is that it is free. I expect this environment to get better over time.

I never was able to get the PHP debugging working. For now, the main benefits of using the PHP IDE are that it does good syntax checking of my PHP, so I’m spending much less time tracking down simple syntax errors (missing semicolons, mismatched brackets, etc.), and code completion (it knows all the built-in PHP functions, plus does code completion on functions you define). I also like the Explorer, which lets me jump to function definitions directly, rather than searching for them in a file.

Another advantage of using an Eclipse plug-in is that it lets me use other Eclipse plug-ins. Unfortunately, I haven’t figured out how to get the Subversion plug-in working yet.

I also found a completely separate IDE called Aptana, which is designed for creating JavaScript, HTML, and CSS. It too is an Eclipse plug-in, so stuff I learn about PHP IDE will also work for me in Aptana. For now, I can run the two IDEs separately, one for PHP on the server-side and one for JavaScript on the client-side. Eventually, I should be able to get them working together, but I haven’t tried that yet since both are early and are evolving quickly (who knows, maybe someone will integrate them together for me!). Besides, having two instances of Eclipse running is no big deal.

Having installed all this stuff, I had another marathon programming session last night, and was able to get lots more of the user model and views implemented. Goes much faster when you’re not tracking down stupid syntax errors, and the Eclipse editor has other features I really like.

I set up MAMP (my Macintosh-Apache-MySQL-PHP stack) so that it has a symbolic link into the PHP IDE workspace. So I’m just using a normal browser to test out the PHP code I write. Unfortunately, this doesn’t give me the facilities of a true debugger, so I’m still doing things like writing print statements to find out the value of variables. But I’m way ahead of my setup before (coding in a text editor and debugging with print statements). Hopefully, either the PHP IDE debugger will get better over time (or I’ll figure out what I’m doing wrong and get the debugger working). Meanwhile, I’m making good progress on ZAT.

–wm

Filed under: General — zat @ 9:52 am

27 July 2006

Programming Tools

I’m attending OSCON (the Open Source Convention) this week and having a great time. I actually went there yesterday without my laptop!

I’ve been trying to find out more about programming tools. So far, I’ve mainly been using just a text editor (Smultron) to write code and print statements for debugging. I feel like I’m back in the 60’s! Anyway, there are two companies selling programming environments that support PHP, JavaScript, and so on: Zend and ActiveState. Both environments cost money, unfortunately, so I need to do some research before getting one. So I start asking around at the conference to people who are writing projects in PHP “what tools are you using to write and debug PHP?” The bizarre thing is that most people I ask are using, you guessed it, text editors (mainly emacs and vim) and print statements. I even asked one of the people who works one of those that sells a programming environment, and he even admitted that he uses emacs and print statements.

What gives?

–wm

Filed under: General — zat @ 8:31 am

24 July 2006

Underlying technology

  • PHP 5 and MySQL on the server.
  • JavaScript and AJAX on the browser.
  • Trying to use only a small amount of CSS, keeping the style simple.
  • No framework. I did some prototyping using CakePHP, but dumped it and now writing directly in PHP.
  • Google Maps and geocoder.

I’m doing my development on a MacBook Pro (with a lovely 30 inch Cinema Display). Hosting is on Dreamhost, but I’m looking forward to when I need to move to a dedicated server.

Filed under: General — zat @ 9:20 am

23 July 2006

History of ZAT


ZAT is a name I came up with for a company I started in the mid-90s. That company made Java-based authoring tools for building Web applications, so it was only natural that we used a Javanese/Malaysian word for the name of the company. The word “zat” means “that in which a thing’s special potency lies”. Interestingly, zat also has meanings in several other languages, including Punjabi, Slovak, and (a rather funny meaning in) Dutch.

We had a lot of fun with the name zat, coming up with a number of regretably bad puns.

We eventually sold the company, but I managed to hang onto the name and domain for zat. Only years later, when I decided to build a travel-related site, did I realize that (all along) ZAT was actually an acronym that stood for “Z to A Travel”.

–wm

Filed under: General — zat @ 9:51 pm

What is ZAT?

ZAT is:

  • a mashup of social bookmarking and AJAX-based mapping for travel information
  • a spatial search engine for travelers
  • a site for finding and sharing travel information.

There is much travel-related information on the web, and most travelers use the web extensively. Unfortunately, it is very difficult to find information that is relevant to travel. For example, if you want to find a Hilton Hotel in France, you might try to use a normal search engine to search for “Paris Hilton”. Even simple questions like “what are the most interesting sights in Oregon” or “where is a good place to eat between New York and Boston” are difficult to answer.

I’m building ZAT because I would like a site that helps travelers find good travel information. Unlike most travel sites, ZAT itself does not try to contain content, but instead is used to organize existing travel content on the web. ZAT is like a search engine, except ZAT is visual, using maps and spatial relationships to find information. This information can include traditional travel sites, blogs, photos, or anything anyone wants to submit to ZAT.

ZAT lets users rate places, so you can ask questions like “the most popular inexpensive hotels in San Francisco”. Users can also leave comments about places.

ZAT is about sharing information. You can create a list of your favorite places. Or you can use ZAT to share a trip with your friends and family. ZAT is especially designed to encourage sharing of specialized travel information. For example, a group of people can share information about scuba diving. Another group can share information on the best places to take toddlers. ZAT can be tailored to each traveler’s needs and wants.

–wm

Filed under: General — zat @ 12:09 pm

Who am I?

Home page: http://leler.com
About me: http://leler.com/wm
Resume: http://leler.com/wm/resume.html

Filed under: General — zat @ 11:49 am

Blogging ZAT


This week I attended the Webvisions conference. The first session I attended reminded me that I really need to keep a blog on the construction of ZAT, so here it is. I had an earlier blog on the design of ZAT, but kinda forgot about it. Let’s see if I can do better this time.

–wm

p.s. I moved the posts from the old blog into this blog (they are all in the month of May).

Filed under: General — zat @ 9:10 am

15 May 2006

Paul Graham

I’ve been reading some essays by Paul Graham. While I don’t agree with everything he says (and strongly disagree with a few things he says) he makes much much more sense than most people talking about technology businesses. Many of his experiences mirror my experiences starting and working in startups. And a lot of what he says is a surprisingly good description of what I am trying to do with ZAT.

Here are some good essays of his to read:

Web 2.0 (http://www.paulgraham.com/web20.html) does an excellent job of describing the new wave of Web applications and what makes them different. The three key ideas are Ajax, democracy, and not dissing users. His names are poor, but the concepts behind the ideas are spot on.

How to Start a Startup (http://www.paulgraham.com/start.html) is a kind of “startups for dummies” and The Hardest Lessons for Startups to Learn (http://www.paulgraham.com/startuplessons.html) is a list of points that all startups must keep in mind in order to survive and prosper.

Filed under: General — zat @ 9:17 am

14 May 2006

Infrastructure

Most of the work I’m doing right now is in the realm of infrastructure — figuring out what software to use to build Zat. The questions I’m trying to answer now include:

What language to use. Main contenders right now are PHP and Ruby. I’m leaning toward PHP mainly because there are open source versions of Digg, Del.icio.us, and even Flickr that I can use to implement similar features in Zat.

If I use PHP, what framework to use. I’m looking into CakePHP, which is receiving generally favorable reviews.

What database to use. Biggest issue is GIS support. There is a free extension to PostGreSQL called PostGIS (http://www.postgis.org/), so for a while I was pretty committed to using PostGreSQL. But I just noticed that the Reference Manual for version 5 of MySQL has some Spatial Extensions (http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html). So now I have to do some more research to see if MySQL will be good enough. The main advantage of MySQL is speed and (to a lesser extent) ease of use.

Filed under: General — zat @ 9:15 am

11 May 2006

Ratags

I had a brainstorm about a new concept I’m calling “ratags”. Cindy helped me come up with the name — it is a combination of rating and tag. Ratags are like the tagging systems used by del.icio.us, flickr, and other sites, except that the tags are parameterized. So instead of just the tag, there is a value associated with the tag. The value associated with the tag can be of different kinds. It could be a rating (one to five stars, or thumbs up / thumbs down). A value could also be a date, or a range of dates. Or it could just be a number. So in addition to just adding tags to things, you can use ratags to assign ratings.

For example, a bicycle rider might want to tag a road with its grade (how steep it is), so there could be a ratag called “grade” that takes a value (e.g., flat through steep).

Want to not only allow people to define their own ratags (like they currently can define tags) but also to let them define new kinds of ratags. Each kind of ratag, including user defined kinds, should have a graphical representation (one to five stars, thumbs up / thumbs down, etc.)

Furthermore, I had been thinking about the community aspects of Zat, and want to provide interest groups (or just groups). Certain ratags can be associated with groups. For example, if there is a bicycling group, they could have ratags for “grade” and for how wide the shoulder of the road is, etc. Groups can also be hierarchical, so that within the bicycling group, there can be subgroups for touring bicycling and for off-road bicycling, since their ratags would be different. Same thing with boating. Subgroups could include sailing and motorboating, etc.

–wm

Filed under: General — zat @ 9:15 am
« Previous PageNext Page »

Powered by WordPress