<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Development notes, feature commentary, issue discussion area, and general repository of information about our mobile food directory</description><title>FoodTruckYP</title><generator>Tumblr (3.0; @foodtruckyp)</generator><link>http://foodtruckyp.tumblr.com/</link><item><title>A shot of the FoodTruckYP git source repository in a late frame...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_me185t88td1rsjlbro1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;A shot of the FoodTruckYP git source repository in a late frame of a gource rendering.&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/36494677915</link><guid>http://foodtruckyp.tumblr.com/post/36494677915</guid><pubDate>Sat, 24 Nov 2012 23:15:29 -0800</pubDate></item><item><title>The Real Countdown</title><description>&lt;p&gt;One of the most challenging journey&amp;#8217;s I&amp;#8217;ve embarked on is reaching a waypoint. Finally!  Despite various trials and some tribulations (or vice versa?), the FoodTruckYP project is coming up on a real 0.9.0 beta release.&lt;/p&gt;

&lt;h2&gt;What could that possibly mean?&lt;/h2&gt;

&lt;p&gt;The project was &amp;#8220;feature complete&amp;#8221; a while back.  Sort of.  The problem with an engineer running a self-specified project is, every day there&amp;#8217;s some new facet that wasn&amp;#8217;t accounted for, some new feature that seems essential, some existing feature that is now insufficient or just plain wrong, and so on.  On top of everything else, there is and probably always will be a &amp;#8220;it&amp;#8217;s not quite done yet&amp;#8221; feel from the developer side.&lt;/p&gt;

&lt;p&gt;As I&amp;#8217;ve told various food truck owners, it would be like handing some food out the window that you know is undercooked, or maybe not seasoned correctly, made with bread from a bakery other than the usual one, or some variation of &amp;#8220;I&amp;#8217;m not happy with this, but here it is.&amp;#8221;  Not to say that I&amp;#8217;m not actually happy with where this project is today.  Would I be happier if I wasn&amp;#8217;t 210+ days later than the flip release date I had originally announced (April 2, 2012)&amp;#160;?  Maybe, though I would have been much happier to have reached this point about 110 days in, rather than being distracted with other projects and associated headaches and, well, distractions.&lt;/p&gt;

&lt;p&gt;But here it is.  My friend Sean (mentioned in the About section) has been testing out some UI and data consistency stuff, had to debug some of the JQuery Mobile Ajax page loading stuff, I rolled in JQM 1.2.0 with pop-ups to fit more stuff on the small screen, trying to make the workflow as easy and obvious as possible, and of course there&amp;#8217;s initial support for booking&amp;#8230; which means over time our busy Mobile Food Vendors can spend less time typing and mis-typing addresses into twitter and fielding phone calls and emails in search of the next lunch stop or event and spend more time actually doing what they set out to do.  That is, as it happens, the goal of this project&amp;#8230;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m headed off to work on a food truck at lunch time (Someone somewhere asserted some doubt that food truck directory developers have or had worked on food trucks, but I&amp;#8217;m doing it more and more and the experience has been invaluable, even after talking to 50+ owners and tons of customers and&amp;#8230; eh, you know that rundown by now).&lt;/p&gt;

&lt;p&gt;Okay, so more debugging and some integration today, watch that YPFoodTruck twitter account to see if anything is actually working, cross your fingers.  Now go eat.  At a food truck!&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/35280951560</link><guid>http://foodtruckyp.tumblr.com/post/35280951560</guid><pubDate>Thu, 08 Nov 2012 10:38:48 -0800</pubDate></item><item><title>Interesting Times</title><description>&lt;p&gt;Some good news, and some possibly-bad news.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First the good news&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve had a couple of discussions lately, as recently as today, about pushing &amp;#8220;live&amp;#8221; mobile food vendor location and schedule information to press entities.  Non-trivial ones.  I&amp;#8217;ve been saying this for a while, that a big piece of this value proposition is the ability to spread the word far and wide, rather than keeping the data in a silo (inside an app or otherwise).  Publishing everything under Creative Commons Commercial Attribution makes it easy to re-publish data without encumbering that data with &amp;#8220;ownerous&amp;#8221; terms (see what I did there?), while publishing in standard formats (ical/ics, kml, rss, schema.org, etc, along with whatever might make sense like json for widgets) makes the actual re-publishing of this data easier (not always &lt;em&gt;easy&lt;/em&gt;, but &lt;em&gt;easier&lt;/em&gt;.  But I hope it becomes easy once we&amp;#8217;re all set).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now, the bad news&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;As late as this project is, and with as much distraction as has been encountered (some necessary, some as part of the long-tail view that ftyp is a part of, and some completely unnecessary), your solo developer is in a bit of a financial pickle.  This is nothing new for mobile food vendors&amp;#8230; there&amp;#8217;s always a time now and then when the revenues aren&amp;#8217;t quite up to the costs, the question is how to get through.  If you believe in your product and your customers believe in you, it ends up working out in the end.&lt;/p&gt;

&lt;p&gt;The question is, will the mobile food folks that form the focus of this effort believe in this?  That is the $N question.&lt;/p&gt;

&lt;p&gt;Stay tuned&amp;#8230;&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/32640462414</link><guid>http://foodtruckyp.tumblr.com/post/32640462414</guid><pubDate>Sun, 30 Sep 2012 18:27:16 -0700</pubDate></item><item><title>Another final stretch...</title><description>&lt;p&gt;A solo software development project will always take far longer than anticipated.  If the solo person is an engineer, double that again.&lt;/p&gt;

&lt;p&gt;In my travels I&amp;#8217;ve run into the challenge of trying to book events, be they small school events or a former workplace, where the person involved eventually threw up their hands and went with &amp;#8220;normal catering.&amp;#8221;  Too many variables, to many options.  The paradox of choice?&lt;/p&gt;

&lt;p&gt;The final feature that has pushed FoodTruckYP well beyond reasonably late and firmly into uppercase LATE is the core ability to book events, where an Event is any location that will host a truck at any time.  Yes, a single truck for lunch once ever is an Event just as a 50-truck mega-rally every Tuesday at an amphitheater is an event.&lt;/p&gt;

&lt;p&gt;The UI has been a challenge since I am not a UI designer by any stretch.  Forget about the UX, I predict that will need work from the moment it hits the air.  But initially, with only a small number of vendors to get things started, they will be booking themselves into locations for events, which makes for yet another challenge&amp;#8230; how to deal with the transition from self-booked events to host-booked events.  That is still something I&amp;#8217;m not looking forward to.&lt;/p&gt;

&lt;p&gt;In the mean time, I took some feedback from some initial sign-up experiences and made the path to normal-sign-up a bit more obvious.  I was initially not going to have the typical email address verification loop in there, and in fact I was going to use email addresses as usernames, but both of those things are problematic&amp;#8230; individuals will use their vendor email address even though that isn&amp;#8217;t really the intention of a personal account, and then there&amp;#8217;s still an expectation of a verification email, as I was informed more than once.  So there is DKIM all setup and ready to go, and plain text+ html MIME email seems to work just fine.&lt;/p&gt;

&lt;p&gt;This is just as well, because email notifications of some sort will enter the picture soon enough, email from FoodTruckYP should work and should be greeted with warmth and happiness anyway, may as well get that connection going immediately.&lt;/p&gt;

&lt;p&gt;But what will email notifications do?  Initially we&amp;#8217;re supporting vendor signups, and then very soon after organizer signups (those are the people booking vendors for Events). Clearly if you&amp;#8217;re a vendor and someone wants to book you, you want to hear about it, so email notifications are a must.  Similarly, the cancellation market, and in short order the real implementation of the MarketPlace will make use of notifications&amp;#8230; so email, fully supported.&lt;/p&gt;

&lt;p&gt;I was looking at Amazon&amp;#8217;s SNS for more generalized notification services, that is not off the table.  But email is fair, it&amp;#8217;s supported everywhere and works across mobile devices (everybody has a smart phone, right?) and other computers, they can be forwarded and whatnot, so in the end they work better than text and other point-to-point messages.  But support for those forms might also be desirable, that we&amp;#8217;ll find out.&lt;/p&gt;

&lt;p&gt;Leaflet has come a long, long way since I first looked at it way back in March (and in fact, there were a lot of things I looked at way back in March&amp;#8230; it seems like a lifetime ago), so integration of that mapping tool for the public-facing front end is in the cards.  Since initial roll-out will have no vendors in the directory, the public-facing front end will lag by a couple of days so we have some volume of different vendors (and their logos) to check for size and whatnot, with maps and public profile pages.  And various other things.&lt;/p&gt;

&lt;p&gt;Anyway, it had been a while since I posted an entry here.  Much has gone on, including non-food-truck-related food poisoning and a horrible case of writer&amp;#8217;s block, to slow the final descent to stall speed on final, but I think we&amp;#8217;re okay.  The big test will be how real the support is for this effort in the silicon valley food truck community with which I&amp;#8217;ve been in such close communication.   The great unknown, when the rubber meets the road, so to speak.&lt;/p&gt;

&lt;p&gt;A re-cap is in order of features, especially given the serious re-architecting that went on, some things are going to have to get shuffled out of v0.9 and into v1.0 (aka about two weeks after?) and some things will come online in between (like fuzzy search&amp;#8230; not much to search for on day 0 but soon after, if all works out).&lt;/p&gt;

&lt;p&gt;Stay tuned&amp;#8230;&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/30923090897</link><guid>http://foodtruckyp.tumblr.com/post/30923090897</guid><pubDate>Wed, 05 Sep 2012 00:02:08 -0700</pubDate></item><item><title>Pre-release pivots...</title><description>&lt;p&gt;Probably not a great idea, but here&amp;#8217;s what&amp;#8217;s up:&lt;/p&gt;

&lt;p&gt;The ability to have others schedule mobile food vendors is a convenience at least, and a new form of business at most.  It seemed worth it to delay the already-delayed release a bit more to make sure there was infrastructure in place to enable this.&lt;/p&gt;

&lt;p&gt;What am I talking about?&lt;/p&gt;

&lt;p&gt;The initial architecture for schedules was vendor-centric, in that there was a presumption that the schedule for a given food truck or tent or whatever was managed by the owner or some other responsible person.  Period.  Events were to be an add-on at some point afterward once the initial release started to garner some attention and sign-ups.&lt;/p&gt;

&lt;p&gt;However, as I believe I mentioned, &amp;#8220;Do we have to enter our own schedules?&amp;#8221; was a point raised by one or two owners and it made me think for a moment about what that really meant.  Events, as a separate notion, would require mobile food owners to coordinate their scheduling efforts with the efforts of event hosts, and then there would be the question of whether the event host was actually using FoodTruckYP in any way to organize and advertise vendor attendance at the event&amp;#8230; basically, it seemed like a bit of chaos on the horizon.&lt;/p&gt;

&lt;p&gt;So the pivot is this: everything is an Event.  An event happens at a Venue.  It can have multiple recurring schedules (Recurrence), and each actual occurrence is a Timeslot.  Each Timeslot can then have associated with it, zero or more mobile food vendors for a Stop.&lt;/p&gt;

&lt;p&gt;Zero or more?&lt;/p&gt;

&lt;p&gt;A timeslot can be visualized as a line item in an agenda or on a calendar for a particular date and time, and they exist in the future.  Where before the design implied that any timeslot in the future had a mobile food vendor associated with it (since the vendor was scheduling it for themselves), now anyone organizing a a recurring event can have unbooked timeslots in the future.  Not rocket science, but an important change in The Way it Works.&lt;/p&gt;

&lt;p&gt;Operating in a self-scheduling mode, the workflow goes something like this:
  1. Create an event at a venue.
  2. Add a recurring schedule
  3. All of the future timeslots automatically have the self-scheduling vendor booked there and then.&lt;/p&gt;

&lt;p&gt;But now supposed I want to schedule weekly lunch stops at my workplace two days/week.&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Create my event for my venue (my workplace), call it something like &amp;#8220;Lunch at FTYP&amp;#8221;&lt;/li&gt;
&lt;li&gt;Create weekly recurrences for, say, Monday and Wednesday.&lt;/li&gt;
&lt;li&gt;For each timeslot in the future, request some number of mobile food vendors to attend&lt;/li&gt;
&lt;li&gt;When vendors accept invitations, make a final booking selection&lt;/li&gt;
&lt;li&gt;The Stop for a particular Timeslot is now booked and appears in all of the usual spots.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;The sounds tedious&amp;#8230; that&amp;#8217;s 8 timeslots a month to schedule!  That&amp;#8217;s a lot of inviting and accepting and booking.  So here&amp;#8217;s what comes next (as in, it&amp;#8217;s supported in the architecture but not yet implemented):&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Create my event, WITH additional information like estimated attendance, pre-payment terms&amp;#8230;&lt;/li&gt;
&lt;li&gt;Create my recurring schedules&lt;/li&gt;
&lt;li&gt;Make timeslots available in the Marketplace&lt;/li&gt;
&lt;li&gt;Interested mobile vendors can request participation&lt;/li&gt;
&lt;li&gt;Make final booking selections&lt;/li&gt;
&lt;li&gt;The stops are booked, published in the usual places&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Subtle, but the event at a given location on specified dates is something that can be matched up against mobile food vendors operating in the area, and if their schedule is available in the FoodTruckYP database, it can be presented to avoid double-booking.  Because events in the marketplace are specified with attendance estimates, pre-payment terms, fee requirements, and anything else that might be useful, the vendors can make a determination based on their own business requirements.&lt;/p&gt;

&lt;p&gt;In the end, the goal is to enable this marketplace where recurring (and individual, non-recurring) events can be published like location-based &amp;#8220;want ads,&amp;#8221; and when they are accepted and booked, have these schedules automatically publish for customers (employees or others at the venue location, or customers nearby&amp;#8230; subject to local zoning codes and laws of course) to find and discover.&lt;/p&gt;

&lt;p&gt;If this works out, discovering, finding, contacting, scheduling, and booking mobile food will hopefully become easier so that anyone can do it&amp;#8230; this will, hopefully, result in more business and better margins for mobile food vendors, and that&amp;#8217;s what this whole project is for.&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/28849230569</link><guid>http://foodtruckyp.tumblr.com/post/28849230569</guid><pubDate>Mon, 06 Aug 2012 11:44:13 -0700</pubDate></item><item><title>Last Addition</title><description>&lt;p&gt;After the feature debacle with Dreamhost, M5Hosting.com is the new home of FoodTruckYP.com and it looks like they are even more nerdy than I needed.  That&amp;#8217;s a good thing.&lt;/p&gt;

&lt;p&gt;While demonstrating the public profile pages to MattyD of House of Siam on Wheels, I heard something from him that I&amp;#8217;ve heard more than once&amp;#8230; &amp;#8220;Do we have to enter our schedules ourselves?&amp;#8221;&lt;/p&gt;

&lt;p&gt;First response, &amp;#8220;Well, people do need to find you,&amp;#8221; but the I thought about it for a moment, and it&amp;#8217;s actually not always true that mobile food vendors should enter their own schedules in this tool that is FoodTruckYP. So, the booking feature is going to be implemented in the back end in order to make unified schedule entry ready sooner rather than later.&lt;/p&gt;

&lt;p&gt;Up until now, vendor schedules and events were two different pieces of data and there was some weird glue between them to merge an external schedule (an event booking) with the schedule for a vendor.  But it all becomes clear when any schedule and any event are made the same thing. This slight redesign also makes it far easier to implement seasonal schedules for events (for example, a summer event that happens weekly and then switches to monthly or bi-weekly in the cooler months), but it also makes it easy for one organizer to schedule any number of vendors for a particular window of time (a timeslot), whether the organizer is a mobile vendor scheduling themselves, or a business scheduling weekly lunches for their employees with different vendors at different times.&lt;/p&gt;

&lt;p&gt;So my second response to MattyD would be, &amp;#8220;not always.&amp;#8221;&lt;/p&gt;

&lt;p&gt;This approach also makes the Event Page easier to create, which will make better promotional tools for vendors appearing at events where long tweets or facebook posts aren&amp;#8217;t always practical or detailed enough.  For example, each event page would contain profile links for all of the participating vendors automatically, whether the event is &amp;#8220;Huge Truck Rally&amp;#8221; or &amp;#8220;Weekly Lunch at Acme.&amp;#8221;&lt;/p&gt;

&lt;p&gt;This change in the back end will likely be mostly transparent in the front end initially (famous last words), until event booking is integrated in.  This enables schedule entry by vendors initially, until we catch on, so to speak.&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/27203754692</link><guid>http://foodtruckyp.tumblr.com/post/27203754692</guid><pubDate>Sat, 14 Jul 2012 11:02:11 -0700</pubDate></item><item><title>Steeping</title><description>&lt;p&gt;Took a little break before launch to work on an educational project, which was good and highly educational for your FoodTruckYP developer!&lt;/p&gt;

&lt;p&gt;While the notion of FoodTruckYP.com was conceived some time late in 2011, hard coding began in mid March 2012 and continued daily at a break-neck pace as a solo project, which meant the specs, architecture, and all testing were going on inside one head, with one keyboard and one developmental pathway.&lt;/p&gt;

&lt;p&gt;The time away, allowing the code and architecture to steep a bit, was good, because a few limitations and issues came to light.  No, this wasn&amp;#8217;t back-burnered so much as simply moved down in priority (there&amp;#8217;s a slight difference&amp;#8230; trust me), but now it&amp;#8217;s back at #0.&lt;/p&gt;

&lt;p&gt;Also in there was the launch of that educational prototype project, unleashed onto 30 high school students, and it didn&amp;#8217;t do so bad.  But it did show one important thing, that users find problems &lt;strong&gt;immediately&lt;/strong&gt; and it&amp;#8217;s important to this developer to be able to react to those findings, so some of this delay has revolved around preparing for the inevitable bug and feature issues (which are desired, of course).&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve also been struck during the last few weeks by more than one comment about the work designed in to the process on the part of the mobile food vendors&amp;#8230; &amp;#8220;do we have to enter our schedules?&amp;#8221; Well, actually, no.  However, if schedules are entered, then the Twitter Robot will tweet schedules, future scheduled stops will be shown in profiles, and in general your customers will know where you &lt;em&gt;will be&lt;/em&gt; in the future, not to mention the fact that entering a schedule once that recurs means that some of these things will happen automatically for each of the recurring events, for that one schedule entry effort.  In other words, the idea is to reduce work while simultaneously increasing utility, but we haven&amp;#8217;t quite figured out how to guess correctly at a mobile food vendor&amp;#8217;s schedule&amp;#8230; getting it right still includes that little bit of effort, for which there is (hopefully) substantial reward.  Or more succinctly, there is high ROI for schedule entry time investment.&lt;/p&gt;

&lt;p&gt;Also along the way there has been a little bit of re-thinking on the way Events will be incorporated into FoodTruckYP&amp;#8230; this is a vendor-centric service, so that Events are not the primary promotional goal&amp;#8230; if anything, events are a location container to make it easier for multiple vendors to schedule stops, since the stop time and place are set by an event schedule externally.  Yadda yadda yadda, at the end of the day events are just stops with an organizer.  But there&amp;#8217;s a goal to abstract any externally-scheduled stop to extend FoodTruckYP into the workplace booking arena, while still remaining vendor-centric.  Not a show-stopper, but it&amp;#8217;s something to ponder, because it will be a feature rolled out very soon after version 0.9 is launched onto the world.&lt;/p&gt;

&lt;p&gt;Finally, a very small number of vendors have signed up to the very-early morass of code that has been running on our feeble public server and we&amp;#8217;ve received zero feedback.  That is a little disconcerting, but hopefully the &amp;#8220;real&amp;#8221; code will draw more attention and feedback.  As I&amp;#8217;ve chanted time and time again, we&amp;#8217;re trying to make this easy, and with the help of our vendor-users, we want to then make it easier again.  Letting customers know where a moving vendor is is something that can be done just barely, or effectively, and at the end of the day the results can be measured in business and customer engagements&amp;#8230; do customers find the vendor(s) they set out to find, and do the vendors (and the customers) benefit as a result?&lt;/p&gt;

&lt;p&gt;That&amp;#8217;s what&amp;#8217;s going on behind the scenes, under the covers so to speak.  Stay tuned&amp;#8230;&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/26550552760</link><guid>http://foodtruckyp.tumblr.com/post/26550552760</guid><pubDate>Thu, 05 Jul 2012 03:16:16 -0700</pubDate></item><item><title>Release Plans for v0.9b</title><description>&lt;p&gt;Found a few bugs in the version on the little tiny test server that have been fixed, a few things are still lingering, a few things that really should be properly finished off for this first roll-out will be, and then we&amp;#8217;ll release it into the wild&lt;/p&gt;

&lt;p&gt;Along the way I&amp;#8217;ve bounced back and forth on how I&amp;#8217;d like to monetize this exactly.  The general plan is, it&amp;#8217;s a nominally-priced service for mobile food vendors to help engage their customers.  The presumption is that there is value not only in automating some of what is in use now (the FoodTruckYP Robot tweeting schedules is one component of that, the upcoming Facebook App is another), but also in the &amp;#8220;modern technological approach&amp;#8221; taken for some of the features FoodTruckYP.com offers.  The KML map files, the calendar sync (that may or may not be in 0.9, but it is a 1.0 feature for sure), the menu items and per-timeslot menus, etc etc etc.&lt;/p&gt;

&lt;p&gt;Initially I was hoping to get some early adopters to sort of flush out some of the workflows, make sure things made sense, that they operate according to some field intuition (I&amp;#8217;ve learned a lot from speaking with owners, but there&amp;#8217;s nothing like being in those shoes yourself), and in exchange I wanted to offer a deep discount, lifetime subs, etc.  That, however, is completely impractical, because owners are not software QA people&amp;#8230; they have no background in testing new products and services in that way, so it&amp;#8217;s unreasonable to ask them to.  They have no such time.&lt;/p&gt;

&lt;p&gt;Instead of that approach, it looks like I&amp;#8217;ll take the input I&amp;#8217;ve received so far, package it up into this version 0.9 of which I speak, call it a &amp;#8220;Beta&amp;#8221; release, and wait for the issue reports.  There will still be introductory rates and whatnot&amp;#8212; these are not get-rich rates, these are defray-server-costs AND support-future-development rates&amp;#8212; and once we leave beta I&amp;#8217;ll make it a normal rate (which, as I&amp;#8217;ve mentioned, should be right around $25/month or so, with 1-year price break).&lt;/p&gt;

&lt;p&gt;So, here&amp;#8217;s what happens next&amp;#8230;&lt;/p&gt;

&lt;p&gt;Getting a server.  The current server, a SliceHost virtual server now owned by RackSpace, is not bad at $20/month.  However, the heavy use of database for the backend, along with bandwidth requirements that go along with giving away data (in case you&amp;#8217;ve forgotten, we&amp;#8217;re going to take all of this data the vendors pay us to deal with, store it and organize it in a database, then turn around and not-sell it&amp;#8230; we&amp;#8217;re giving it away to anyone who want to know or talk about mobile food!).  We may yet return to Rackspace, they are a fine company with many substantial offerings.&lt;/p&gt;

&lt;p&gt;Why not Amazon?  Well, didn&amp;#8217;t say that exactly, but I&amp;#8217;m not prepared to roll out a new service when I have no real experience with EC2.  If it makes sense to use S3 for map markers and logo icons and whatnot, that is entirely different and that could happen.  The back end is architected so that every asset can be &amp;#8220;somewhere,&amp;#8221; making it relatively easy to push the graphical elements (and other statics) out to more convenient places than the main server(s).&lt;/p&gt;

&lt;p&gt;Dreamhost will be the first real home of FoodTruckYP.com.  Not only was it founded by people who went to the same college I did (Harvey Mudd College, in fact), but they are reasonably-priced and offer unmetered bandwidth&amp;#8230; this means that initially it will be painless on the billing side to give away all the data we have, whether it&amp;#8217;s one YPFoodTruck schedule or 3000 mobile food vendor shedules, maps, calendars, and profiles.  The question along the way between 1 fake food truck and 3000 real vendors is, how much more server and resources (and maybe people) will we need?&lt;/p&gt;

&lt;p&gt;That is a question I look forward to answering.&lt;/p&gt;

&lt;p&gt;One of the things I like about mobile food vendors is their entrepreneurialism, and the thing I like about their business is that it&amp;#8217;s on the move  This project as many similarities&amp;#8230; the version that will follow the roll-out will already have been under development, and the one after that will start soon&amp;#8230; in other words, this is a moving target as much as any of my clients will be, and as much as any of their customers are, and as much as any mobile food vendors are to those looking for them.&lt;/p&gt;

&lt;p&gt;Once the server is up and running, the software installed (You can read the About page on the site, the core system is Linux, PostgreSQL 9.1, Apache 2, python 2.7, pyramid framework, a whole mess of python libraries for twitter, google, template rendering, time calculations, graphical image resizing, etc, and some initial use of redis (caching and work queue, or maybe in the opposite order) and some initial checks are run, we&amp;#8217;ll put up YPFoodTruck as a tester truck, add some schedule entries, and have the robot start tweeting.  Those astute among you may notice that, the rest can watch for a directed tweet or facebook or email message (you will still get first crack at it), and then we&amp;#8217;ll either try to spread the word proactively, or we&amp;#8217;ll see if viral takes it aloft.  There are Share buttons and Facebook and Twitter buttons there so maybe this social networking thing will work out for us&amp;#8230;.&lt;/p&gt;

&lt;p&gt;Okay, back to work.&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/25117020166</link><guid>http://foodtruckyp.tumblr.com/post/25117020166</guid><pubDate>Thu, 14 Jun 2012 15:14:20 -0700</pubDate></item><item><title>Alpha Test about to begin...</title><description>&lt;p&gt;So far there has been a grand total of 1.5 people testing out the web app, and a couple of bugs have been found.&lt;/p&gt;

&lt;p&gt;Show stoppers preventing roll-out for alpha test&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Re-schedule bug, sometimes schedules get munged a bit (this seems to be identified, a solid fix is in the works)&lt;/li&gt;
&lt;li&gt;Front end maps.  These are actually not totally working because of the lack of KML NetworkLink support in the google maps api.  It&amp;#8217;s obviously a priority, need to read the markers with an appended BBOX parameter. &lt;/li&gt;
&lt;li&gt;Place adder.  I don&amp;#8217;t like the way this works, I have a better version, need to get it all in there.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;There are a couple of other things, but these are the ones that bother me enough to not have people trying this out because they will be issues (obvious the map has to work, that&amp;#8217;s a no-brainer).&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve also been dressing up some of the UI (on the admin stuff as well) so it is slightly more visually appealing.&lt;/p&gt;

&lt;p&gt;If you&amp;#8217;ve read this far, you have my congratulations!&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m going to send some alpha invites for free testing.  Free for both of us!  That is, I was initially planning to ask for early sign-up money in a special promotional arrangement, which would cover real launch costs (mostly a suitable server, the current platform is great for testing but not sufficient for real use) and which would be a tangible value assignment.  Free stuff tends to not get as much attention as something you&amp;#8217;ve plunked down some money for.&lt;/p&gt;

&lt;p&gt;But then it occurred to me, there would be a tremendous amount of value in getting maybe 5-10 owners to give it a try on the current server and point out any glaring errors or omissions.  This will only take a few minutes for the big things, maybe a couple of days of messing with it, rescheduling something, etc.&lt;/p&gt;

&lt;p&gt;The goal is to do this some time in the week of Jun 4, likely toward the end of it but I&amp;#8217;d love it to be earlier than that.&lt;/p&gt;

&lt;p&gt;I think this will have been worth the wait. But I&amp;#8217;m sure I&amp;#8217;ll hear about it if it isn&amp;#8217;t&amp;#8230;&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/24505775858</link><guid>http://foodtruckyp.tumblr.com/post/24505775858</guid><pubDate>Tue, 05 Jun 2012 17:24:31 -0700</pubDate></item><item><title>Today we are feature complete!</title><description>&lt;p&gt;For the 0.9beta release, the plans were these.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Schedules

&lt;ul&gt;&lt;li&gt;Recurring&lt;/li&gt;
&lt;li&gt;One-off&lt;/li&gt;
&lt;li&gt;Transparent cancellation (people can see when timeslots have been cancelled to avoid &amp;#8220;You&amp;#8217;re usually here&amp;#8221; confusion)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Locations

&lt;ul&gt;&lt;li&gt;Explicit location with draggable map marker&lt;/li&gt;
&lt;li&gt;Nicknames for easy descriptive naming of unnamed places&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Maps

&lt;ul&gt;&lt;li&gt;KML as the preferred transport format&lt;/li&gt;
&lt;li&gt;Javascript-based website map&lt;/li&gt;
&lt;li&gt;Google Maps website support&lt;/li&gt;
&lt;li&gt;Google Maps Native app support for mobile&lt;/li&gt;
&lt;li&gt;Markers are twitter icons for now (ie vendor logos at 54x54 pixels)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Profile pages

&lt;ul&gt;&lt;li&gt;Vendor pages with logo (downloaded from twitter automatically), contact info, timeslot schedule&lt;/li&gt;
&lt;li&gt;Place pages showing timeslots for that place as well as nearby places, to help discovery&lt;/li&gt;
&lt;li&gt;Timeslot pages, one vendor, one place, one time, one set of menu items (menu support is slated for 1.0, but item support is in)&lt;/li&gt;
&lt;li&gt;All external profile pages are permalinked with UUIDs, bookmarkable, sharable, LIkeable, tweetable, all have OpenGraph and Schema.org metadata embedded.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Short url

&lt;ul&gt;&lt;li&gt;Automatically assigned business name, twitter handle, facebook handle.&lt;/li&gt;
&lt;li&gt;Other names are possible, no set rules as yet&lt;/li&gt;
&lt;li&gt;Disambiguation page addresses duplicate handles&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Twitter robot

&lt;ul&gt;&lt;li&gt;OAuth posting support for twitter accounts&lt;/li&gt;
&lt;li&gt;Twitter robot posts well-formed time and address information, as well as geotag of the timeslot destination, prior to the timeslot, automatically.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;We are currently testing this stuff out to make sure the twitter robot doesn&amp;#8217;t go posting weight loss links [actually, that won&amp;#8217;t ever happen, just joking]&lt;/p&gt;

&lt;p&gt;Coming up next&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Fuzzy search (vendors and menus)&lt;/li&gt;
&lt;li&gt;Search filters on food components (IS and HAS tags)&lt;/li&gt;
&lt;li&gt;Facebook app&lt;/li&gt;
&lt;li&gt;Facebook opengraph verb to enable timeline Map view&lt;/li&gt;
&lt;li&gt;Website widgets (your schedule exported to your website)&lt;/li&gt;
&lt;li&gt;User logins for follows, etc&lt;/li&gt;
&lt;li&gt;Search heat maps&lt;/li&gt;
&lt;li&gt;Maps of future timeslots&lt;/li&gt;
&lt;li&gt;ical export&lt;/li&gt;
&lt;li&gt;Events (profile pages for events with profile links to vendors automatically)&lt;/li&gt;
&lt;li&gt;More?&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Remember, every single piece of output from this website can be freely re-displayed, re-published and re-used for commercial and non-commercial purposes, all we ask is that it remain intact (don&amp;#8217;t go editing anything such that people don&amp;#8217;t trust the data, etc) and that you tell people where it came from.  Otherwise, our job is to promote mobile food vendors, and whatever we can do to accomplish that goal is in our purview.&lt;/p&gt;

&lt;p&gt;I think some people think 10 weeks of hard-core development time is too long.  To that I have no answer.&lt;/p&gt;

&lt;p&gt;To those who have been supportive along the way, and whom I hope will continue to be supportive as we roll this out, I thank you for your patience, and I look forward to changing the way customers find you. And customers, finding out which foodtrucks are where tomorrow and the day after is one of our goals, I think we&amp;#8217;re almost there.&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/24114399472</link><guid>http://foodtruckyp.tumblr.com/post/24114399472</guid><pubDate>Wed, 30 May 2012 22:12:00 -0700</pubDate></item><item><title>It's been running...</title><description>&lt;p&gt;So for the curious, FoodTruckYP has actually been up and running for &amp;#8220;public site tests&amp;#8221; much like one might take a new food truck off external power and let it run self-contained while you make some food and drink and whatnot.&lt;/p&gt;

&lt;p&gt;Guess what.  We found some bugs here and there.  That&amp;#8217;s what that&amp;#8217;s for.&lt;/p&gt;

&lt;p&gt;Couple things got sorted out:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Cookies, SSL, and logging in and out seem to work properly when switching between https and http versions of the site&lt;/li&gt;
&lt;li&gt;The twitter robot login stuff seems to work (OAuth is not my favorite thing in the world, as it turns out)&lt;/li&gt;
&lt;li&gt;Grabbing twitter images, there&amp;#8217;s a small issue with blocked access to profiles when we grab the profile icon (this enables cross-branding easily without having to go find that image file when signing up from your mobile device).&lt;/li&gt;
&lt;li&gt;Short URLs&amp;#8230; after some pondering, the short url is to be composed of the business name, the twitter handle, the facebook name, and the company name in url-friendly form (in other words, if the business name is &amp;#8220;this is a food truck&amp;#8221; then we would support &amp;#8220;this-is-a-food-truck&amp;#8221; and &amp;#8220;thisisafoodtruck&amp;#8221; which are basically identical.  We lowercase-shift and punctuation-remove the shortened url part anyway.&lt;/li&gt;
&lt;li&gt;Found a DST issue that was just plain dumb.  For the curious, we&amp;#8217;ve gone with storing non-naive timestamps localized to UTC, along with the timezone (not the offset!.  This way we can always account for DST and present localized times, but we can treat everything as UTC internally for things like the FoodTruckYP Robot to go wandering through timeslots and whatnot.  Well, generating timeslots based on a recurrence rule that crossed over a DST boundary left the stored UTC timestamp off by that delta.  Freshman mistake, really.&lt;/li&gt;
&lt;li&gt;Added titles for schedules and timeslots.  This will make more sense in context.&lt;/li&gt;
&lt;li&gt;We&amp;#8217;re going to support a cool thing that I will go into more detail about later, but let&amp;#8217;s just say it&amp;#8217;s icon-related.&lt;/li&gt;
&lt;li&gt;On the fence about whether OpenGraph meta headers should be a show-stopper for 0.9.  I say no, can add them as we start getting some schedule data in.  These will be most interesting, though, when people decide to share a timeslot on Facebook.  Basically, each timeslot (that is, a mobile food vendor at a location during a window of time) will have a universally-unique URL to a page that can be shared, bookmarked, tweeted, and liked on Facebook.  The Open Graph headers will make that work better for the Facebook part.  This goes for business profile pages as well.&lt;/li&gt;
&lt;li&gt;Place pages&amp;#8230; for now we&amp;#8217;re only going to support display of food trucks that have indicated that they are at a particular place (venue) &lt;em&gt;as well as&lt;/em&gt; those who are nearby.  In other words, we&amp;#8217;re aiming for discovery of nearby food trucks and carts.  If this is not what people want we can tune things down to show only the vendors specifically &lt;em&gt;at&lt;/em&gt; a place.&lt;/li&gt;
&lt;li&gt;Those are list-based considerations.  When viewing a map, the map edges are a natural and visually-clear search boundary.&lt;/li&gt;
&lt;li&gt;Added support for geohash-based searches (in fact, that&amp;#8217;s how generation of Place page lists work for the moment) so that it should be pretty easy to make an RSS feed or similar by trimming letters off of a geohash key.  Experimental.&lt;/li&gt;
&lt;li&gt;Right now we have Menu Item support all good, but we still need to implement Menu Support.  In other words, if somebody has 50 menu items, we don&amp;#8217;t have the Menu grouping feature implemented yet.  Well, not in the UI&amp;#8230;&lt;/li&gt;
&lt;li&gt;Fuzzy Search works nicely, but still need to have the index writer running off on its own.  We&amp;#8217;re starting with Whoosh, for the curious, and the index writer isn&amp;#8217;t thread safe.  Weighing the use of the Async wrapper or just having a periodic indexer job run through updates.  The goal here is to make all mobile food vendors findable by misspelled names (that&amp;#8217;s for you, O Mi Ninja, nay Oh My Ninja, nay OMiNinja&amp;#8230; and there are many others with similar non-obvious names).  This will also apply to menu items and places as we get some input records.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;There&amp;#8217;s probably more.  Pondering whether KML should be the publication format of choice.  Sure, GeoRSS works as well and is basically a subset, but KML already supports timestamps and timespans, in addition to precise location information.  Embedding a structured PostalAddress is easy&amp;#8230; would others consume such data?  Or are we just looking at Google Earth and Google Maps to consume these?  (Well, we&amp;#8217;re going to use the KML output for display on our maps, too&amp;#8230;)&lt;/p&gt;

&lt;p&gt;That&amp;#8217;s all for the moment.  It&amp;#8217;s taken a while to get here, but things are really, really coming together now.  Pretty exciting, actually.&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/23753624624</link><guid>http://foodtruckyp.tumblr.com/post/23753624624</guid><pubDate>Fri, 25 May 2012 14:34:34 -0700</pubDate></item><item><title>The final countdown</title><description>&lt;p&gt;There&amp;#8217;s always something that crops up or otherwise makes itself known, that stops the final bits from coming together.  The list of things that qualify has dwindled, and so we are approaching the release of FoodTruckYP 0.9 beta.&lt;/p&gt;

&lt;p&gt;No, really.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s actually been up and running, a non-truck-owner has gone through the vendor signup process and found a few things that didn&amp;#8217;t function as expected, a couple of typos that turned into bugs, and one or two things that need to be tweaked for clarity.  It&amp;#8217;s been tremendously useful, because after speaking to so many mobile food vendors, and after being immersed in this for so many weeks, I have lost some objectivity that comes from that lack of familiarity.  So unleashing this on one person has been a good thing.&lt;/p&gt;

&lt;h1&gt;That thing that was confusing&lt;/h1&gt;

&lt;p&gt;One of the features of FoodTruckYP that I like is the ability to place a mobile food vendor on a map at a precise location.  It makes the challenge of location clarification around and behind buildings or other obstructions at least surmountable (if people are willing to look for the information, it will be available).  My approach was to collect these locations ahead of time, so that when it came time to create schedule entries, there would be a list of locations already selected and already marked up with parking locations.  It did occur to me that entering locations during a new schedule entry would be sensible, but it didn&amp;#8217;t seem to me to be a major difference.&lt;/p&gt;

&lt;p&gt;Well, apparently it is, because the end result was &amp;#8220;it doesn&amp;#8217;t matter if we we can enter them before or during, either way&amp;#8230;&amp;#8221; which, in fact, means that &lt;strong&gt;both&lt;/strong&gt; are needed.  The ability to enter a stand-alone location, and the ability to enter a new location when creating a new schedule entry.  The final blow was that it wasn&amp;#8217;t intuitively obvious &lt;em&gt;not&lt;/em&gt; to have location entry within schedule entry, so my testing friend suggested that I should have it written somewhere to choose locations, then enter schedules.  In fact, I had it listed in two places&amp;#8230; not a bad thing to know, that intuition trumps written instructions. So that is a little extra code for tonight.&lt;/p&gt;

&lt;h1&gt;Additional data views and such&lt;/h1&gt;

&lt;p&gt;The bare minimum for FoodTruckYP would be to display mobile food vendor schedules that are correct.  Of course.&lt;/p&gt;

&lt;p&gt;Many conversations with employees at companies that host food trucks or other mobile food vendors have shown that knowing the schedule for a location is just as useful to the customers, and as important to the vendor (if a truck shows up in your parking lot and nobody knows it&amp;#8217;s there, does it make any money?).  So a list of trucks that will appear at a place at a time, that&amp;#8217;s sort of obvious.&lt;/p&gt;

&lt;p&gt;But sometimes there are other places nearby that also host mobile food vendors.  Or maybe the precise address wasn&amp;#8217;t clear so that technically vendors will be at different places, when in reality they are at the same place, or close enough. So now we view &lt;em&gt;at or near&lt;/em&gt; a place.  That&amp;#8217;s pretty easy, too.&lt;/p&gt;

&lt;p&gt;Mobile food vendors are interested in expanding their markets, so over some interval we&amp;#8217;ll be able to figure out where mobile food vendors are hosted.  Sort of like finding all Starbucks, they just appear on a map&amp;#8230; once we know which places host mobile food vendors, we can make some guesses about whether a particular area is saturated, or whether there might be room for additional hosting locations.  And we can also see where there aren&amp;#8217;t so many hosting locations, and decide why this might be.&lt;/p&gt;

&lt;p&gt;Now let&amp;#8217;s look at cancellations.  Sometimes a vendor has to cancel for last-minute circumstantial changes.  Equipment failure, confusion or miscommunication over a timeslot, mutliple bookings, etc.  The cancellation might also come from the hosting side.  Either way, there are circumstances where unmatched locations and vendors might not know about each other&amp;#8230; so that is another view on data to expose for consideration.&lt;/p&gt;

&lt;p&gt;Add to this search metrics&amp;#8230; not individual metrics, that isn&amp;#8217;t so interesting, but rather where people are looking at mobile food vendors.  Are they looking where vendors are, or where they aren&amp;#8217;t?&lt;/p&gt;

&lt;p&gt;Add regional regulations for keep-out zones and other limitations on location.&lt;/p&gt;

&lt;p&gt;And so on, and so on.&lt;/p&gt;

&lt;h1&gt;Open Search?  Open Graph?  KML?  ICS?&lt;/h1&gt;

&lt;p&gt;Making our data available in any format that can be used is the goal.&lt;/p&gt;

&lt;p&gt;What will people use?&lt;/p&gt;

&lt;p&gt;Oh yeah&amp;#8230; widgets, is JSON sufficient?  XML?&lt;/p&gt;

&lt;h1&gt;Back to work&lt;/h1&gt;

&lt;p&gt;Blogging is a great diversion&amp;#8230; too great.&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/23448274892</link><guid>http://foodtruckyp.tumblr.com/post/23448274892</guid><pubDate>Sun, 20 May 2012 17:02:25 -0700</pubDate></item><item><title>Pretty Much...</title><description>&lt;p&gt;I&amp;#8217;ve suggested that things move faster and faster as web app details come together, and this is true. Or it has been.&lt;/p&gt;

&lt;p&gt;I mentioned previously that since I&amp;#8217;m horribly late at this point, that I&amp;#8217;m adding some additional features that I was going to roll out over time&amp;#8230; time that has since gone by anyway, so why not?  Horrible violation of the software engineering best practices that we tell project managers we should follow.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve had a chance over the last few days to convince myself through detailed discussions with some mobile food vendors, that getting to know the environment, the workflow, the view of the gem from many sides, through the eyes of the vendors themselves, event organizers, and customers (mobile food fan customers and newbies alike), that this was the way to do it.  How do people find trucks and carts now, how could it be easier, and how can &lt;em&gt;my&lt;/em&gt; customers, the mobile food vendors, accomplish this in a way that makes sense but isn&amp;#8217;t too vague, too taxing, or overly complicated.&lt;/p&gt;

&lt;p&gt;Well?&lt;/p&gt;

&lt;p&gt;The overly-complicated part remains to be seen, I&amp;#8217;ve made a good effort to &lt;em&gt;do the right thing&lt;/em&gt; automatically, and while there are likely some options that will have to be added for what exactly is the right thing sometimes, I think I&amp;#8217;m pretty close.&lt;/p&gt;

&lt;p&gt;Case in point, the first image that will appear on the site for your business will come from Twitter. Why?  Because&amp;#8230; some mobile devices don&amp;#8217;t allow image uploads, almost all mobile food vendors have a twitter account, and there is a twitter api that returns the original image uploaded plus 3 square sizes.  Piece of cake!&lt;/p&gt;

&lt;p&gt;So my initial plan was to have those images download behind the scenes once the business owner saves the Twitter Handle for a particular account.  But that&amp;#8217;s not really obvious, it&amp;#8217;s not intuitive, and it leaves questions like &lt;em&gt;did this happen?&lt;/em&gt; and &lt;em&gt;how can I re-do this?&lt;/em&gt; and &lt;em&gt;I didn&amp;#8217;t want that to happen, now what?&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I just added an &lt;em&gt;Images&lt;/em&gt; view with an option to download from a specified Twitter Handle that may not even be the one associated with the business.  Why?  Who knows, it could happen.  The default value is a Twitter Handle supplied in the business profile, &lt;em&gt;if there is one supplied&lt;/em&gt;, and then the Twitter handle from whence the images were grabbed is saved separately and shown as the source handle later for re-downloads&amp;#8230; end of the day, business branding is obvious and easy, no need to find the image file on a desktop computer, no need to size it, it&amp;#8217;s done.&lt;/p&gt;

&lt;p&gt;Not to say that there won&amp;#8217;t be other options, like uploading a separate photo of the truck so we can do the trading cards views (did I mention that?  Hmmm&amp;#8230;), and of course menu item images&amp;#8230; those will be less-simple, since iPhones and maybe some other devices still don&amp;#8217;t want to let you upload files from your device.  Maybe email an image?  We&amp;#8217;ll see.&lt;/p&gt;

&lt;p&gt;As I&amp;#8217;m writing this, there is one thing I want to make work better, namely the Place editor.  Then I will upload this mess to the server, test a few things like SSL redirects for the right directories and the secure setting on the auth header, run through a few iterations of creating and editing an account or two, some schedules, etc, and then&amp;#8230; tweet to my followers @FoodTruckYP that they can come by and have a look.&lt;/p&gt;

&lt;p&gt;Then, to fire up @FoodTruckYPRobo and see if anybody notices.&lt;/p&gt;

&lt;p&gt;The order of what happens next is TBD.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Fix bugs (this is probably first, last, and always)&lt;/li&gt;
&lt;li&gt;Add owners/managers/employees to businesses (not too hard)&lt;/li&gt;
&lt;li&gt;Event Organizer support (non-trivial, the back-end is done barring anything I missed)&lt;/li&gt;
&lt;li&gt;Menus per business/timeslot (non-trivial, back-end is done, yadda yadda)&lt;/li&gt;
&lt;li&gt;Facebook app (shouldn&amp;#8217;t be hard, but there are a couple of unknowns)&lt;/li&gt;
&lt;li&gt;Search engine (starting with whoosh most likely, then on to xapian?)&lt;/li&gt;
&lt;li&gt;User accounts with follow/like/etc.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Things that I have to integrate, but which have already been tested as components&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;KML file generation&lt;/li&gt;
&lt;li&gt;KML NetworkLink file integration &lt;/li&gt;
&lt;li&gt;ICS file generation&lt;/li&gt;
&lt;li&gt;GeoRSS/RSS file generation&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;And, of course, anything else that comes to mind.  The market analytics stuff will come as traffic builds so there will be some meaning.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;d like to look at a Bayesian classifier to create a simple recommendation engine for menu items (and thus the trucks that purvey them), based on the item tags assigned by the chefs/cooks/owners.  This might be going overboard, but it might be interesting to generate a list of  vendors on a recommendation axis in addition to a distance axis.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m actually pretty excited about the KML feature&amp;#8230; the ability to use Google Maps (and hopefully Google Earth, and hopefully Apple&amp;#8217;s new tools in iOS 6) to natively or at least more-optimally view mobile vendor location data as a layer on top of the other feature layers provided by GMaps is pretty neat.  You&amp;#8217;ll see what I mean.&lt;/p&gt;

&lt;p&gt;Okay, I think we&amp;#8217;re really actually coming to the big event, and the follow-on stuff is further along than it would have been had I rushed, so maybe this is all working out nicely.  &amp;#8216;Tis the season for mobile food, hopefully I&amp;#8217;m just in time and not just too late.&lt;/p&gt;

&lt;p&gt;Thanks for reading, and if you&amp;#8217;re among the few then I also thank you for your support.&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/22867447034</link><guid>http://foodtruckyp.tumblr.com/post/22867447034</guid><pubDate>Fri, 11 May 2012 16:42:47 -0700</pubDate></item><item><title>Violating the rules of software engineering</title><description>&lt;p&gt;In all of my years as a software engineer, programmer, white-box tester, etc, I have always found this statement and those like it to be silly:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;Since we&amp;#8217;re late, we have time to add more features.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I can&amp;#8217;t even remember how many times I&amp;#8217;ve heard marketing folks try to take a schedule slip as just such an opportunity, as if there wasn&amp;#8217;t enough to do scrambling around trying to get something out the door less-late!&lt;/p&gt;

&lt;p&gt;So I say this as sheepishly as I can in writing: since FoodTruckYP is so late at this point, I&amp;#8217;ve added some features.&lt;/p&gt;

&lt;p&gt;I was going to add the features over time, but one of the reasons this project has been delayed is to try to make sure the data in the back-end (the database that stores mobile vendor info, locations, schedules, and so on) was thought-out well enough to have these extra features added on over time.  Afterall, the developer staff of one can&amp;#8217;t go breaking things left and right trying to add a new feature here or there.  Well, I guess that could happen, but why build that into the plan if it can be avoided?&lt;/p&gt;

&lt;p&gt;Some assumptions I had made early on, which were sort of embedded into the data design, had to be modified slightly.  These were the wrong assumptions and the changes:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;All schedules are recurring, even if they recur once.  But later, I settled on the fact that a schedule for a vendor is the intersection of location and vendor.  In other words, a &lt;em&gt;schedule&lt;/em&gt; is a list of dates and times when a given mobile vendor will be at a given place.  This made the one-off scheme incompatible with the always-recurring scheme.  Now, there is explicit support for a one-off schedule entry that is not related in any way to a recurring schedule (literally, the schedule_id is NULL).&lt;/li&gt;
&lt;li&gt;Event schedules and Vendor schedules should be maintained separately and be linked in a meeting-invitation style interaction.  This was cumbersome and lead to too much room for confusion, especially if there were individual schedule entries (which I now refer to as &lt;em&gt;timeslots&lt;/em&gt;) that were actually for events. Basically the vendor timeslot is the final resolution of who, what, when, and where.  For the super-nerdy, then, a vendor timeslot has a schedule_id and an event_id, if both are NULL it&amp;#8217;s a one-off event, or schedule_id points to a recurring schedule recurrence rule entry, or event_id points to a specific event timeslot instance.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;That seems like a lot of thought going into this.  A mobile food vendor said something to me the other day, though, which summarizes why this is important:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Some people thought I was out for late night and started tweeting and messaging me when I wasn&amp;#8217;t there.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In other words, the tools that vendor was using to reach customers displayed something that lead them to believe there was a late night (around midnight) outing when there was not&amp;#8230; best efforts to avoid this are at work here.&lt;/p&gt;

&lt;p&gt;As for more features, given this extra time I&amp;#8217;ve had&amp;#8230; no, but seriously, the features that will either come out now or quite rapidly now that the back-end is sorted out are:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Menu items.  Menu items are individual items from a menu, of course.  But each will have a page, each will have a facebook button on it, a picture (from the vendor&amp;#8230; they own there brand on ftyp), and so on, and will exist even if the item itself is no more.  For example, the SJ Taco Festival of Innovation had some unique taco formations that may not see the light of day again from some vendors, yet they could live on as menu items for posterity. &lt;/li&gt;
&lt;li&gt;Menus.  These are a collection of menu items.  With a twist.  Once you have your menu items available en masse, constructing a menu is a few checkboxes away.  So then, constructing a menu for any given timeslot is also a few checkboxes away.  Thus, menus as a collection of 1 or more menu items can vary per timeslot&amp;#8230; it sounds complicated, but if you vary your menu for different days or locations, or have a menu for large events that is a subset of your normal menu, you know what I&amp;#8217;m saying here.&lt;/li&gt;
&lt;li&gt;Event organizers as entities.  One of the core components of the data is the mobile business, with schedules and such all wrapped around the vendors.  The obvious thing to do was to make event organizers the same, structurally, as vendors, so that as far as we&amp;#8217;re concerned in the database, an event can be organized by a company, a specific mobile business unit, or an event organizing entity.  &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;On the front end, there are a few bonus features that have fallen out as a result of this delay:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Calendar formats.  Generating .ics files is trivial, the question is whether anyone will know what to do with them.  End of the day, you&amp;#8217;ll be able to directly add timeslots for places and trucks and events to your icalendar-friendly calendar (works so far with Google Calendar, .ics is an interoperability standard so it should work like magic&amp;#8230;)&lt;/li&gt;
&lt;li&gt;KML output.  If you like using Google Maps in native form on your mobile device, or if you like to be able to add a KML layer to your desktop web maps client, or maybe you want to view mobile food vendors in Google Earth&amp;#8230; generating KML output for mobile food vendor locations is a piece of cake.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I think that&amp;#8217;s enough rambling for today&amp;#8230; back to work, all these features aren&amp;#8217;t worth a lick if you can&amp;#8217;t play with them.  Now go eat something.&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/22789520583</link><guid>http://foodtruckyp.tumblr.com/post/22789520583</guid><pubDate>Thu, 10 May 2012 11:51:22 -0700</pubDate></item><item><title>End-to-End Site Functions for Test</title><description>&lt;p&gt;Just a quick update&amp;#8230; internally, these features work, which mean that last 20% should only take about&amp;#8230; well, I&amp;#8217;m not going to predict any times anymore:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Vendor signup&lt;/li&gt;
&lt;li&gt;Add company&lt;/li&gt;
&lt;li&gt;Add business(es) - the Who&amp;#8230; trucks, carts, etc&lt;/li&gt;
&lt;li&gt;Add place - these are Where the businesses conduct their business&lt;/li&gt;
&lt;li&gt;Add schedule - the When&lt;/li&gt;
&lt;li&gt;Edit above&lt;/li&gt;
&lt;li&gt;Display public-facing profile pages for a business, place.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;That last one is, for all practical purposes, the reason for this entire project.&lt;/p&gt;

&lt;p&gt;In other words, that last item shows anyone looking for mobile food vendors:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Which vendors will be in a particular place over time (say, the next 7-14 days)&lt;/li&gt;
&lt;li&gt;Which places a particular vendor will be at over time (again, maybe 7-14 days)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;So, end of the day, if someone finds a truck at their workplace, or when visiting some other workplace, or wherever they find one, if that truck will be there according to a schedule, they can visit the profile page for that place and see when any trucks will be there, and/or visit the profile page for the truck and find out where else they will be and when.&lt;/p&gt;

&lt;p&gt;Similarly, if someone hears about a cart from a friend or in a review or wherever, a mobile profile page for that cart can be found showing contact info, twitter and facebook names, and that upcoming schedule for the next week or two.&lt;/p&gt;

&lt;h2&gt;Bonus&lt;/h2&gt;

&lt;p&gt;I don&amp;#8217;t know if I mentioned this, but we also have the ftyp.co domain name.&lt;/p&gt;

&lt;p&gt;While urls for FoodTruckYP.com are nerdy and cumbersome (every public object has a UUID assigned to it, making them always-reachable even if the name of a vendor changes, etc), we still want it to be easy for anyone to direct their friends and customers to a FoodTruckYP.com page of information.&lt;/p&gt;

&lt;p&gt;So far we&amp;#8217;re supporting these:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;ftyp.co/@FoodTruckYP&lt;/li&gt;
&lt;li&gt;ftyp.co/tw/FoodTruckYP&lt;/li&gt;
&lt;li&gt;ftyp.co/fb/FoodTruckYP&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;That first one relies on inclusion of the &amp;#8216;@&amp;#8217; in the twitter handle&amp;#8230; we could be persuaded to treat even ftyp.co/FoodTruckYP as though it were a twitter handle, but with less certainty.  The point, though, is that if a customer already follows you on twitter, it&amp;#8217;s that simple to find your  mobile profile page on FoodTruckYP.com, and that easy to find you. (I&amp;#8217;m speaking to vendors at the moment).&lt;/p&gt;

&lt;p&gt;So there it is.  Much of the FoodTruckYP.com project is functioning as designed (I may have said this yesterday, more works daily at this point), there are some bugs to fix, but otherwise it&amp;#8217;s coming together only a little behind schedule (I prefer to think of it as &amp;#8220;early for the next version&amp;#8221;).&lt;/p&gt;

&lt;p&gt;Thanks for your support, back to work.&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/22259467103</link><guid>http://foodtruckyp.tumblr.com/post/22259467103</guid><pubDate>Wed, 02 May 2012 09:17:59 -0700</pubDate></item><item><title>28 Days Later...</title><description>&lt;p&gt;Much code is working.&lt;/p&gt;

&lt;p&gt;Had a great design review with Maria from &lt;a href="http://www.facebook.com/whiskonwheels"&gt;Whisk on Wheels&lt;/a&gt; to go over some of the workflow for schedules as well as organizational stuff for menus, and a few useful tidbits from Nancy of &lt;a href="http://omininjasj.com"&gt;OMiNinja&lt;/a&gt; about event scheduling.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve seen a few more cases of confusion over location when trucks or an event with trucks are not so visible from the street.  I&amp;#8217;m not totally confident in the placement editor when selecting a schedule location so I&amp;#8217;m a little stuck there, though that has also been the thing I&amp;#8217;ve been showing around to folks.  It works well when it works right, and I think it will be one of the cooler features.&lt;/p&gt;

&lt;p&gt;Watch this space&amp;#8230; I&amp;#8217;ve been playing with it as a local web app, it&amp;#8217;s looking pretty okay.  Not so beautiful, I&amp;#8217;m not so aesthetic a web designer (in other words, I am not at all), but it&amp;#8217;s working as designed&amp;#8230;&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/22131687593</link><guid>http://foodtruckyp.tumblr.com/post/22131687593</guid><pubDate>Mon, 30 Apr 2012 10:56:45 -0700</pubDate></item><item><title>Three Weeks Late?!?</title><description>&lt;p&gt;By now I suspect that some are doubting what has become to me (the lone developer of FoodTruckYP.com) a moral imperative, but rest assured, it is coming together nicely.&lt;/p&gt;

&lt;p&gt;These three weeks have been highly-educational in two specific areas.&lt;/p&gt;

&lt;h2&gt;First, Events are Important&lt;/h2&gt;

&lt;p&gt;Well of course they are, but here in the South Bay Area (Silicon Valley, San Jose, whatever), there have been a few events in the last week or two that were under-promoted and, thus, under-attended.  Most recently were events on Earth Day 2012, where the inclusion of Food Trucks was apparently a bullet item.  Another was an event held right in front of the San Jose Mercury Newspaper headquarters, featuring an RV and ATV exhibition and a &amp;#8220;Food Truck Rally.&amp;#8221;  This is the local paper, which is really the only local paper anywhere near its size, so you would imagine whatever they placed in their print and online copy to promote this, it would be useful to their readership&amp;#8230;&lt;/p&gt;

&lt;p&gt;In all of these and other cases, event details, locations and participants are sometimes left to chance.  That is, someone who is not familiar with a location may not know where a casual reference is pointing, and certainly someone who is not already familiar with individual food trucks might have no idea what &amp;#8220;babaloo&amp;#8221; and &amp;#8220;twisted chill&amp;#8221; might be [I&amp;#8217;ll do what they did and let those stand on their own, with no links or other details at all&amp;#8230;]&lt;/p&gt;

&lt;p&gt;The take-home lesson, make events and the mobile food vendors at them as easy to find and as clearly described as possible.  This was always in the plan, but it has moved up in importance and modified a bit to enable three different attendance models&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;em&gt;Ad-Hoc&lt;/em&gt;, where there might be little oversight on who attends (not &lt;em&gt;none&lt;/em&gt;, just not strictly-enforced).  These might be charity events.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Peer-Organized&lt;/em&gt;, are events where one or more mobile vendors take the lead role(s), collect fees, promote the event, etc.  Some charity events fall into this category, as well as some smaller public events (the events I mentioned above fell into this category).&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Professionally-Organized&lt;/em&gt;, where there is an active, possibly-separate but certainly focused business group or entity that manages which vendors are to appear at particular events, possibly multiple events under the same organizational name, and so on.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Event publishing will be an early feature after roll-out&amp;#8230;&lt;/p&gt;

&lt;h2&gt;Make it Easy&lt;/h2&gt;

&lt;p&gt;Today was the planned roll-out for a minimally-functional demo platform, to show where this is and where it&amp;#8217;s going to some local mobile food vendors.  However, I made a tough decision early this morning, to make the schedule features easier to use and more focused.  As I&amp;#8217;ve spoken with more and more mobile vendors and customers, it has become clear that knowing where the vendors will be (especially at lunch time&amp;#8230;) is pretty important.  Leaving it to chance is not good for anyone, nor is not-communicating last-minute changes.&lt;/p&gt;

&lt;p&gt;Most mobile food vendors are getting the hang of social engagement tools to reach out to their customers&amp;#8230; making sure they know when there are equipment failures, delays due to traffic, when items are sold out, and so on, these are important.  Nobody likes to make a trip out to an empty spot for lunch, when there should have been a favorite [or even NEW] truck or cart&amp;#8230;&lt;/p&gt;

&lt;p&gt;The FoodTruckYP Robot &amp;#8212; which now has its own twitter account, [http://twitter.com/FoodTruckYPRobo] &amp;#8212; will be able to send out status update messages based on intra-day changes.&lt;/p&gt;

&lt;h2&gt;Facebook App&lt;/h2&gt;

&lt;p&gt;One more thing&amp;#8230; some love Facebook, others not so much, but it is used by many for locating mobile food vendors.  The plan for version 1.1 is to implement a Schedule app that can be embedded in your Facebook page to show the exact same schedule, location, and status information as appears in twitter and on FoodTruckYP.  That is, right after initial roll-out, the FB app will be in testing.&lt;/p&gt;

&lt;p&gt;Later I&amp;#8217;ll mention the widget feature for the mobile vendor website, but this blog post is already too long&amp;#8230;&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/21674017088</link><guid>http://foodtruckyp.tumblr.com/post/21674017088</guid><pubDate>Mon, 23 Apr 2012 15:45:14 -0700</pubDate></item><item><title>Events...</title><description>&lt;p&gt;Not even done with this first roll-out, I&amp;#8217;m keeping one eye on the next features, which will include support for events.&lt;/p&gt;

&lt;p&gt;Before I go there, here&amp;#8217;s how I view a &amp;#8220;schedule&amp;#8221; versus an &amp;#8220;event.&amp;#8221;&lt;/p&gt;

&lt;h2&gt;Schedule&lt;/h2&gt;

&lt;p&gt;A schedule is managed by a mobile vendor.  That is, if it up to the vendor to declare a date and time and a place and then eventually end up there.&lt;/p&gt;

&lt;p&gt;To support this, FoodTruckYP enables schedules to be added and edited as recurring calendar items, and each individual entry can be marked as canceled, etc.  In other words, free reign, the idea being we keep the customers and the vendors on the same page.&lt;/p&gt;

&lt;h2&gt;Event&lt;/h2&gt;

&lt;p&gt;An event is managed by someone else.  That someone else may be a mobile vendor, may be an event organizer or coordinator, or it may be someone who has taken on that latter role but who isn&amp;#8217;t really an event coordinator.&lt;/p&gt;

&lt;p&gt;More specifically, here are the usage scenarios:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;A formal, promoted, pay-to-participate event organized and executed by some entity that oversees who is invited, who attends, who is late, gross receipt percentages, etc.  &lt;/li&gt;
&lt;li&gt;A less-formal fund-raiser event or similar, sometimes organized by a coordinator, other times coordinated in a more-or-less ad-hoc fashion, perhaps by one or more of the participating vendors.&lt;/li&gt;
&lt;li&gt;A periodic event in an company parking lot or similar, where the event is coordinated by an office manager or other individuals who are not necessarily focused on mobile food vendors.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;All of these events are presumed to be recurring, though they may not be.&lt;/p&gt;

&lt;p&gt;We assume for events that the final decision as to which vendors are invited and will attend is not up to the vendor, but up to the vendor and the coordinator(s) of the event (and possibly not in that order).&lt;/p&gt;

&lt;h1&gt;What Then?&lt;/h1&gt;

&lt;p&gt;At the end of the day, the goal is to make sure mobile customers (even if they&amp;#8217;re at work, at some point they get to stand up and venture forth to locate and patronize mobile food vendors) can find their favorites as well as vendors in the area, and sometimes those vendors are serving lunch or dinner at a periodic company parking lot location, other times at a mid-day promotional event for recreational vehicles, other times at a formally-organized lunch or dinner gathering in a nearby (or not-so-nearby) venue.&lt;/p&gt;

&lt;p&gt;As long as the events are accessible to the public (not private, and ideally not requiring paid admission, though we&amp;#8217;re making that a 3-way distinction), they should appear right along side individual schedule items, and that&amp;#8217;s are approach.&lt;/p&gt;

&lt;p&gt;One of interesting things to note here, though&amp;#8230; except for the first case, where there is a formal, organized effort to coordinate and oversee gatherings (surely there are some near you, in my case we have MVBL Feast, Edgewood Eats, Off the Grid, Eat StreEat, and others), these events are sometimes under-represented in media and online in general because often there is no website setup as a landing spot for them.&lt;/p&gt;

&lt;p&gt;The typical approach seems to be to place mentions on Facebook pages, have the participating trucks do the same, have them tweet, and then hope for the best.&lt;/p&gt;

&lt;p&gt;One of the goals, then, is to make that work better, while enabling ad-hoc and more formalized events to be coordinated and promoted by those who may not have the time, the inclination (office managers, we love you, but you&amp;#8217;re not focused on promoting the vendors&amp;#8230;), or perhaps any idea what to do.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s on the list&amp;#8230;&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/21418214162</link><guid>http://foodtruckyp.tumblr.com/post/21418214162</guid><pubDate>Thu, 19 Apr 2012 19:58:58 -0700</pubDate></item><item><title>Almost.  No, really</title><description>&lt;p&gt;The past few days have seen development accelerating, which is sort of exciting.  And tiring.&lt;/p&gt;

&lt;h2&gt;Location location location&lt;/h2&gt;

&lt;p&gt;I&amp;#8217;ve mentioned this before, all mobile food vendors already know this, there is one simple fact in this arena: Your customers must know where you are and when.  That&amp;#8217;s the core business we&amp;#8217;re pursuing here.&lt;/p&gt;

&lt;p&gt;So yesterday, when I walked over to Raytheon in Sunnyvale where one of my personal favorite food trucks was to be, it was not parked in its usual spot.  A spot that is visible from the street and from a nearby major intersection, in fact.  Luckily, I had heard that the people working at Raytheon had asked food trucks to park closer to their building, which means parking away from the intersection, tucked behind another building.  Hidden from view!&lt;/p&gt;

&lt;p&gt;Had I not known that this might be the case, I may have turned on my heels and wandered to a food establishment more firmly fixed to the ground.  But things hadn&amp;#8217;t gotten that bad&amp;#8230;&lt;/p&gt;

&lt;p&gt;I also took some time to visit a weekly high school fundraiser event in Union City, following the imprecise directions given me by one of the vendors.  Those directions got me close, and since this was a large high school campus (Logan High School in Union City, CA) I had some looking to do . Turns out, the event is visible from one major street, but not the street that runs through the campus area&amp;#8230; had I not been 100% certain that the event was taking place, I may have become frustrated, I may even have made a left turn instead of a right turn and missed the event completely as I reached the main thoroughfare that leads back to the freeway.&lt;/p&gt;

&lt;p&gt;These and many other examples of imprecise address and verbal directions to where mobile food vendors are conducting their business!  Add to this the number of times incomplete addresses are posted on Twitter for &amp;#8220;locals&amp;#8221; to guess with implied detail, the number of times an address isn&amp;#8217;t actually known&amp;#8230; with more and more customers carrying GPS-enabled mobile devices on their persons or in their cars (or both), there&amp;#8217;s no reason to not have a precise location available that leads your customers to &lt;em&gt;you&lt;/em&gt; where you are open for business.&lt;/p&gt;

&lt;p&gt;Clearly I&amp;#8217;m speaking to vendors in that paragraph, but customers, you should be able to find these trucks and carts without having to hunt around.  Hide and Seek  is a fine game, but not for lunch.  Not for most.&lt;/p&gt;

&lt;p&gt;Now that there is a UI in place to enable vendors to add places and parking locations, so that not only can I find your venue using normal mapping tools (by searching for a location address), but I can also see on a map (or within Twitter or elsewhere) precisely where you will be parked.  This could also work at a large, multi-vendor event where you may want to indicate to your customers that you&amp;#8217;re around the corner or on the south side or next to a building&amp;#8230; again, we have these devices in our pockets, we can take advantage of them!&lt;/p&gt;

&lt;h2&gt;Quality Assurance&lt;/h2&gt;

&lt;p&gt;We&amp;#8217;re about to start some QA on some new features and roll out the soft launch so that others can play.  The YPFoodTruck will start wandering around in cyberspace very very soon (famous last words again) so you&amp;#8217;ll be able to see how this works out.  Then we&amp;#8217;ll get going on the Facebook app&amp;#8230;&lt;/p&gt;

&lt;p&gt;Thanks for following this development cycle, this is going to be a cool service, definitely looking forward to seeing it help our mobile food vendors and their customers find each other on a regular basis!&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/21336645976</link><guid>http://foodtruckyp.tumblr.com/post/21336645976</guid><pubDate>Wed, 18 Apr 2012 12:52:29 -0700</pubDate></item><item><title>Two Weeks Late, What's Up?</title><description>&lt;p&gt;Tomorrow will mark 2 full weeks since the line-in-the-sand release date of April 2, 2012 for FoodTruckYP.com.&lt;/p&gt;

&lt;p&gt;What has that gotten us?&lt;/p&gt;

&lt;h2&gt;More Realistic Scheduling&lt;/h2&gt;

&lt;p&gt;As mention in two previous posts, there are some things about publishing the schedule of a moving target, for the consumption of mobile consumers, that can be a challenge.  The &amp;#8220;Edgewood Eats&amp;#8221; scenario was a good one to learn from, it reversed my thinking on how far out to publish schedule items.  This, unfortunately, will be something to look at closely in the early days to make sure I&amp;#8217;ve re-thought this through.  On the surface it&amp;#8217;s not a huge departure from the initial design, but marking those future, changed instances when the base schedule entity changes is important, it needs to work intuitively (just because it works &amp;#8220;correctly&amp;#8221; doesn&amp;#8217;t mean it makes sense to the users of this site&amp;#8230;)&lt;/p&gt;

&lt;h2&gt;Maps maps maps&lt;/h2&gt;

&lt;p&gt;The ability to place the nearly-exact location of a mobile food vendor&amp;#8217;s spot of deployment onto a map is important.  I&amp;#8217;ve mentioned it before, there can be buildings in the way, there can be a large, expansive campus or other obstructions that obscure a location, or it may be that the vendor just isn&amp;#8217;t there for the scheduled time&amp;#8230; how do you find something that isn&amp;#8217;t there when you aren&amp;#8217;t sure where to look?&lt;/p&gt;

&lt;p&gt;There will still be a couple of geo-related things to look at.  The vendor record we store includes a service radius, we&amp;#8217;ll need to make sure that some searches properly include vendors where the search and service radii overlap sufficiently.   That likely means a little bit of slack.  The finer point is the problem of county and city permits and licenses and other such things that aren&amp;#8217;t so easily captured in a single radius parameter, but we&amp;#8217;ll get there if that is needed.&lt;/p&gt;

&lt;p&gt;Finally, there&amp;#8217;s the street view feature&amp;#8230; let&amp;#8217;s just say that sometimes it&amp;#8217;s useful, or interesting, or maybe fun, to see your favorite truck or cart in Google&amp;#8217;s Street View.  Well, that sorta works&amp;#8230;&lt;/p&gt;

&lt;h2&gt;Under the Hood&lt;/h2&gt;

&lt;p&gt;A couple of design decisions were re-thought as far as how some data is stored, all of the data that can be updated by more than one person has a simple locking mechanism in place so that, say, two different people aren&amp;#8217;t trying to modify the status of a particular vendor when they&amp;#8217;re running late or just opening.&lt;/p&gt;

&lt;p&gt;There is also a history log in place, so that when a user makes a change (and in this case, we&amp;#8217;re calling signed-in vendors and their employees &lt;em&gt;users&lt;/em&gt; while in the future users will be anyone) the change is tied to that user id, timestamped, and a before-and-after record is captured so that the change could be rolled back, or shown explicitly.  The rollback feature hasn&amp;#8217;t been implemented yet, that will be soon (you want this to get launched, right?).&lt;/p&gt;

&lt;h2&gt;Twitter Connection&lt;/h2&gt;

&lt;p&gt;This shouldn&amp;#8217;t have taken as long as it did, but connecting a vendor account to their Twitter account seems to work as expected.  What was the pain?  On the backend, example code is written assuming a continuous, statefull set of OAuth 1.0a transactions, and only very subtly is it mentioned that some information from the original request may need to be saved in a stateless http transaction flow.  In other words, I was scratching my head for a couple of hours one day thinking that both of the server-side wrappers I was trying were doing something wrong, turns out I wasn&amp;#8217;t saving some state.&lt;/p&gt;

&lt;h2&gt;Subscription Model&lt;/h2&gt;

&lt;p&gt;My original thinking was this, that the early-adopters of FoodTruckYP.com&amp;#8217;s services would always get the best price on a monthly or annual subscription basis, including same or more-slowly-increasing pricing if subscription prices do need to go up in the future.&lt;/p&gt;

&lt;p&gt;Then I had a discussion with a very-well-known truck owner at the &lt;a href="http://sjtaco.com"&gt;San Jose Taco Festival of Innovation&lt;/a&gt; on April 14, 2012, and while I thought I was going super-cheap for the early adopters, the &amp;#8220;free&amp;#8221; question came up.&lt;/p&gt;

&lt;p&gt;Hmmm.&lt;/p&gt;

&lt;p&gt;My initial early adopter pricing was going to be $10/month, $100/year.&lt;/p&gt;

&lt;p&gt;After a few people have asked the question about a free version of the service, and after yesterday, I&amp;#8217;ve given it a lot of thought.  My guess is, this is so weird an application that I&amp;#8217;ve been developing in the context of what&amp;#8217;s available now, and I have such unusual plans for the use of the data (this is not ad-driven, I want anyone to have access to all of this data, even &lt;em&gt;competitors&lt;/em&gt;), maybe setting a price is too unnerving.&lt;/p&gt;

&lt;p&gt;On the other hand, some people have been excited at how low the price is.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve reached this conclusion: During the roll-out period, those who want to contribute to the founding of this new service as early adopters may do so.  They will be marked as such in the database, in perpetuity.  Those early adopters will &lt;em&gt;always&lt;/em&gt; get the best services available, including access to new features, best support, etc.&lt;/p&gt;

&lt;p&gt;However, there will be no compulsory subscription fees during the early days of FoodTruckYP.com.  Free users will have access to all of the roll-out services and will not be penalized for not contributing financially as early adopters.&lt;/p&gt;

&lt;p&gt;Crazy?  Maybe.  I guess we&amp;#8217;ll find out together!&lt;/p&gt;</description><link>http://foodtruckyp.tumblr.com/post/21188570467</link><guid>http://foodtruckyp.tumblr.com/post/21188570467</guid><pubDate>Sun, 15 Apr 2012 19:06:00 -0700</pubDate></item></channel></rss>
