Twloc, Twitter location based social networking Case study
Twloc, Twitter location based social networking
TwLoc.com is twitter based Web 2.0 website. Users may create new locations and mark when they have visited the location and would visit the location. New locations and users’ visits are tweeted to twitter.com
Website Name: Twloc, Twitter location based social networking
URL: http://www.twloc.com
URL: http://
Client Name,Company: Alistair Milne, -NA-
Country: England
Technologies: LAMP (Linux, Apache, MySQL, PHP) stack,Twitter API
Framework: CakePHP
Resources: One Project Manager,Two Developers and One CSS Developer
Development Time: 45
Completed: July 2009
Engagement Model: Fixed
Vertical / Industry: Location Mapping
Application Tags: Twitter API,Maps,Location Mapping
Overview:
TwLoc.com is twitter based Web 2.0 website. Users may create new locations and mark when they have visited the location and would visit the location. New locations and users’ visits are tweeted to twitter.com
Services Involved: Web Development
Business Need:
Location based social networking through twitter.com. For example, user visiting particular café at given time would like to see other twitterers visiting the place and may initiate networking. TwLoc.com aimed to provide a platform for them.
Key Project Challenges:
- Wiki like versioning for location pages—so that users can revert and manage other users’ contributions
- Higher access control for set of users/moderators who may only edit locations when admin decides so
- Shorter URL for all location pages
- Multiple upload UI for location photos
Solutions:
Software: LAMP (Linux, Apache, MySQL, PHP) stack
Server side framework: CakePHP
Client side framework: jQuery
Map service: Google Maps
Case Study:
Process
The project kicked off by compiling business requirements and basic plans. Some quick prototypes are created to check with the client that we’re in the same direction. Alpha releases were frequently released to client for showing the progress. Beta releases were released to get close feedback about the functionalities. Every release is also reviewed by our QA team for functionality testing, web standards testing (Tidy validation, Accessibility check, browser compatibility check) and security audit (XSS, SQL injection).
Requirements
Client’s business plans are translated into requirement drafts:
In user side,
- Users can login using their twitter username and password.
- Users can share about any location and photos of that location in this site.
- System will find the latitude and longitude of the location using address, city, state and country entered by the users.
- Using the details we have show a Google map in location view page. Also users can edit their location in Google map in location edit page.
- System will automatically create one short URL for each location.
- Also system will automatically tweet it in twitter site with short URL of that location.
- Other users can also edit the location information.
- User can’t able to edit the location information of locked locations.
In admin side,
- Admin can lock or unlock a location.
- Admin can add more number of moderators for each location.
- Admin can manage the location categories.
- Admin can deactivate users in admin side.
- Admin can change common site settings.
Architectural plan
Being it’s a Web 2.0 site LAMP stack was chosen as we’re familiar with LAMP and LAMP scales up very well for this kind of application. Since, Ruby on Rails like MVC pattern would ideally suite for this application, we have chosen CakePHP. For being lightweight in design and would suite for all the Ajax works needed in the application, we have chosen jQuery.
Since the site needed Wiki like approach for location page contribution, we have referred Wikipedia.org for its revision workflow and moderation flow; we then translated that into MVC approach. As we’re familiar with Google map, we have chosen Google maps for mapping solution.
As it’s a web solution aimed at twitterers, the login through Twitter basic authentication was decided to attract them and provide better user experience.







