Fishing Reports system finished
// May 19th, 2010 // Web Development
After quite a bit of work, my Fishing Reports system is finally live on FellowFishermen.com. The reports are based around a Locations system, where each Location can be linked to reports, catches, users, groups and clubs (planned), nearby locations and more. Anglers can also sign up for free text message or email notifications sent out immediately when new reports are added for any Location on their “My Locations” list, so no matter where you are you can know when and where the fish are biting.
Another new feature is the King system. Much like Mayors in Foursquare, each fishing Location on FellowFishermen.com can have one King, the angler who has added the most fishing reports and catches. The King of each Location can change at any time, and he is challenged every time a new catch or report is added there.
The Fishing Reports system uses Google Maps to display locations and catches visually, just like the rest of the website is already doing. Another new feature here is a list of Nearby Locations, ordered by the last reported rating of each Location, so anglers can see other nearby places that have good fishing at the moment.
I designed the database to “loosely associate” the Reports and Locations. A user can type in any Location Name they wish when creating a new Report. The Location Name will autocomplete with the existing Locations for the user, but they are not required to click on an existing Location. Then on the backend I can quickly view report location names that haven’t been associated with a Location, and either associate it with a Location or create a new Location with that name. This “Loose Association” keeps the entire system very flexible and user-friendly and allows users to create new Locations without me having to do much work, while still giving me complete control over every report and Location. It also allows me to connect Catches and any other object containing a Location Name to each Location, giving much more power and flexibility to the entire website. It also gives the Fishing Reports system a slight SEO advantage because I list all of the Location name aliases on the Location page and link to the Location with the different alias names, targeting any related search result for each Location.
My backend system to manage these Locations is pretty slick. I can view all the existing Locations, Location Connections, and Unconnected Location Names. When creating or editing an actual Location, I use Google Maps to pinpoint the exact layout and zoom level I want displayed on the public-facing map. I also use reverse geocoding to grab the country, state, county, city and postal code data automatically, and this will come into use in the near future when I create a new subsystem to let users browse locations by country, state and county (or equivalent).
The biggest hurdle building a site for anglers (other than getting people onto the website in the first place) is usability. I’m catering to an audience that doesn’t generally spend much time on the internet. All of the “Web 2.0″ features that web savvy users are used to are completely foreign to most of the visitors on FellowFishermen.com, so creating a site that is easy to navigate is tough to do. After I’ve finished a few more features I’ll create a series of YouTube videos showing people exactly what the site is capable of and how to do everything.
The Fishing Reports system has been fun to design and implement, and it’s only gonna get cooler when the FellowFishermen iPhone App is complete. Keep your eyes peeled for that!