NYC Ticket Finder is Back, with Mobile Site

January 6, 2010 – 10:05 pm

The New York City Ticket Finder SMS service is back up and running. This was a homework assignment that Andrea and I did about a year ago. While it was on the ITP server it was a password protected site, so it wasn’t open to the public. I’ve moved it to Dreamhost, fixed a few bugs, and built a mobile site for iPhone and Android. The mobile site is brand new and I encourage you to try that.

The basic idea of the service is that if you want to go to any event in New York, enter the event info and your phone number, and the service checks Craigslist and notifies you as soon as tickets are posted. In fact, it should notify you before the posted is even available on craigslist.org, but Dreamhost plan only allows me to run the cronjob every 10 minutes or more, so you may or may not receive the listing before the rest of the world. If I can get some donations I’ll get hosting with a better cronjob plan. It works like a charm and has helped me get into many events at the last minute including Andrew Bird at Carnegie Hall. There will be some layout changes coming soon, but the system is stable for me. If it’s not stable for you please contact me. It’s open for registration right now, and we’ll cut the list off at about 50 or so for now, so if you want to get in, do it now.

Below are a few screenshots of the iPhone site. The homepage is designed so that all information is accessible right there, without having to load several pages to view About, Instructions, and Contact content. I’m a fairly heavy mobile device user, and what annoys me the most about the mobile web is loading a homepage and having to navigate around the site, often with a dodgy connection, by loading several subsequent pages to find the info that I want. This way I use JavaScript to hide divisions until the user decides to view them.

To implement this, I made two arrays; one to contain the navigation divs, and a second to contain the content divs. Then I wrote a function which takes two parameters (nav button div id, content div id) to manage visibility and highlight the selected button:

// the content divs
var content = new Array('_about', '_instructions', '_contact');
// the navigation divs
var nav = new Array('about', 'instructions', 'contact');

function show_hide_text(_button_content_id, _content_id) {

 var content_id = document.getElementById(_content_id);
 var button_content_id = document.getElementById(_button_content_id);

 for (var i = 0; i < content.length; i++) {

  var content_index = document.getElementById(content[i]);
  var nav_index = document.getElementByIid(nav[i]);

  if ( (content_id == content_index) && (content_id.style.display == 'block') ) {
	content_id.style.display = 'none';
	button_content_id.style.borderBottom = 'none';
  } else if ( (content_id == content_index) && (content_id.style.display == 'none') ) {
	content_id.style.display = 'block';
	button_content_id.style.borderBottom = '2px dotted';
  } else {
	content_index.style.display = 'none';
	nav_index.style.borderBottom = 'none';
  }
 }
}

publk.com/tickets

tf_screens_6001

Post a Comment