Park Fast
Launch Site

ParkFast is a website that's managed by owners of parking garages in three major US cities. The site is really just a way for them to provide customers an easy way to find parking near where you're going and compare prices with other nearby garages that they manage. This build would involve integrating a complete redesign of their site which sorely needed it and implementation in Sitecore.

Most of the site is focused on a Google Map integration which meant there would be a lot of Javascript to write. You would be essentially searching on a cache of stored data about the parking stations in Sitecore. From that you'd be either selecting a points of interest icons on the map, searching for events with a predictive search or just entering an address. The postback would be done through ajax and would zoom the map to focus on the location. You would then be given a list of parking locations nearby. The form on the left nav would also move to the next step where you could define the date ranges you'd need parking and it would estimate the cost across several locations. You'd be left with the option to get contact information from a location. Up to this point I had gone from no experience with Google Maps to weeks of time with it. I really spent a lot of time making smooth animated transitions and quick and clean ajax calls. I took advantage of a jquery plugin called prettyLoader. It just attaches a loading icon to the mouse on AJAX calls so the user gets a little feedback on the event. I'd used prettyPhoto before and really like the presentation of it and finally had an opportunity to use prettyLoader.

When it came to the highlight columns they wanted to be able to switch which side of the page it was on. I've done this before and decided to add a drop down on the page that allowed editors to choose which side of the page a highlight column would appear. The actual mechanics involved changing a wrapping class of the page columns which changed the float property from either left or right making the order of the two switch. In my opinion, controlling display with css in a simple manner is the best approach. Another interesting challenge was within the highlight column there were a number of modules that were supported and there could be any number of them in any order. I decided to use Sitecore's reflection API to create instances of server controls for each module based on the template name of the current item. This solved many issues including keeping the sort order of the items and managing the display in discrete files concerned only with their own display of content. I've battled internally with having html rendered from within Server Controls because it's not a true environment for HTML development but in this case it was the simplest way to centrally separate by concerns and minimize code reuse.

With this build we would also be supporting mobile layouts for a few of the page. After some research I found Sitecore's shared source mobile device detection. I'd never used this but I love learning new technologies so I dove right in. There's first a caveat that you need to be running on .NET 4 for this to work. I also needed to be able to provide a link to the regular site for mobile users in case they wanted to view that. I knew that sitecore supports changing the device through querystring values so I knew this would be how to switch it back but I noticed that after navigating to another page the querystring was no longer attached and the mobile layout returned. After some quick research I found the original article for the mobile device detection where the author detailed the answer. By appending "?sc_device=default&persisted=true" Sitecore knows to set the device change to in the session.

I really found this site to be a real learning experience. It challenged me to curate a number of technologies and really hone my skill with each one. Sadly, to this day I don't believe the new design actually launched. Who knows what happened but the technology was spot-on and the design was fantastic. It could have been a great site.

1 parkfast