Client required a mobile application using client server platform that provides information about daily shopping deals in the city. Users should be able to see all the daily deals and offers via a web based or mobile interface. It will also be helpful to merchants as users can redeem their coupons while making purchases even from a remote location using mobile devices.
This application is both web based and iPhone based and works primarily on Coupons, Offers Redemption using Location Finder services. Application users should be able to create their own accounts and register. Users will require to download the mobile app to leverage from the convenient features from an iPhone. The application is divided into two basic variants:User Login and Merchant Login. Online shoppers can register and login with the “User Login” option, and Merchants can login using the “Merchant Login” feature which is specially designed for shop owners. Merchants can see the coupons redeemed by the users and also add new deals and offers to their product lists.
Registration is free for both shoppers as well as merchants. For registration, website must be used, while mobile application can be used to avail various features and services. The website also gives information on track records of coupon redemption activities and available listings. The Login screen also has a feature that allows user to login using their Facebook account.
IPAD Application: iPad application has a search bar that looks for offers nearby. Once you set a preferred location on your mobile device, the system automatically intimates you by highlighting the coupons that you have and are ready for redemption. The system also prompts you with an indicator with the number of coupons that are currently active for redemption. With the Coupon Main Section Module, all the daily coupons of a restaurant are displayed with images and locations.
Map view: A Map Option is provided on the same screen to enable users to view all coupons on one map with pins. For the places and stores to be shown on the map, latitude and longitude information was required.
Search: A search option is provided on the top of the screen for convenience of searching by category, zip code, distance etc.
Requirement: Keeping the category, distance and zip code etc. in mind, a database needed to be created.
Detail View: When a user taps on a particular coupon, it should display the detailed view of that coupon with relevant information.
Special feature: A search bar was needed to search nearby offers and where list of coupons listed in user’s account can be redeemed.
NearBy: User should have the ability to view results in two ways – Google Maps or Grid List to display coupons from nearby locations.
Settings (Preferences): Recent and most updated coupons available in the database directory should refresh within single tap for sync books. This should also include the nearby range feature, which is configured as per the user’s preferred locations.
Social Media Integration: Seamless integration with Facebook, Twitter and LinkedIn should be possible.
The team faced the following challenges:
- Ability of the site to handle millions of user connections without affecting speed.
- The users community networking experience should not be hampered – hence web usability principles needed to be incorporated.
- Simultaneous execution of all the features with harmony even at maximum load.
- Proper synchronization of web account, Database servers and mobile tablets with a large number of categories.
- Synchronization of the redeemed coupons with database, account transaction ID’s, web server, administrative records, etc. at runtime of each transaction.
- Location finder, traceability of coupon locator/dealer device notification, displaying of maps, grid views for users, all needed to be managed for usability and user experience.
|Xignite||For on-the-fly information retrieval|
|Stock Editor||To fetch stock-related information|
|Authoring Platform||To create stock experiences|
|Web services, in JSON format||For communication between iPad and the backend|
|IPAD||Objective C Programming|
|Tools||Flash and iOS SDK (Xcode 4.0.2 and Interface builder)|
|Libraries||Open Ears and Facebook connect|
|Quality Assurance Testers||1|
Keeping in mind the structure of the website and the challenges involved, a four-tier development approach was adopted, consisting of:
- The Database layer containing MySQL Server Database, Tables, stored procedures and so on.
- The Interface layer and Database Abstraction layer for converting data between incompatible type systems in databases and accessing data from the database respectively.
- The Business Logic layer consisting of all business logic procedures for modules like User Profiles, Invitations, Forums and Blogs etc.
- The User Interface Layer forms the Graphical User Interface of the website.
The online networking characteristic of the website called for the design approach to be built around PHP and MySQL Server. The PHP files consisted of all Business logics used for respective modules like Save (Add/Update), Delete, Get single object, get multiple objects for listing and were designed to be capable of handling many more logics which were not related to the database. In order to most effectively access the database in an object-oriented context, an interface translating the object logic to the relational logic was used to communicate with the relational databases in an object-oriented manner. An intermediary abstraction layer was created for accessing data from the database. Stored procedures were used only for complex retrieval of data from multiple tables and were entirely avoided with conditional syntax to ensure smooth performance of the website. The UI layer was kept free of any business logic. Sub-domains were used for the different areas of the website to guarantee scalability. Third party websites and prominent APIs were integrated to increase the functionality of the application.
The site was equipped with a robust architecture to offer centralized access to multiple users for creating and editing folios. Customizable viewing options were designed to enhance user experience and allow personalization. Extensive pre-development research was carried out in order to integrate the third-party websites for product search and adding products automatically into the application’s native database. The application was built according to the latest standards. The website was developed keeping the SEO-promoted architecture in mind. For timely delivery of this solution, we specifically used Symphony framework with RAD (Rapid Application Development) methodology. System makes extensive use of the APIs such as Facebook, REST, SOAP, LinkedIn, etc. to add interactivity to the website without the need of adding too much of code. The application was made compatible to run on iPad. Web usability guidelines were strictly followed during development and the interface was made easily navigable through judicious use of AJAX, CSS and HTML controls. The site was developed and fully functional within a span of 2 months.