Case Study Mobile-based App for Stock Analysis and Stock Experiences
www.brainvire.com | Š 2013 Brainvire Infotech Pvt. Ltd
Page 1 of 1
Client Requirement This is a stock-based mobile application. The application helps Interactive Stock Experiences to be broadcasted on website and Mobile/Tablet devices. It is a unique reporting tool which signifies the bunch of data sets along with the graphical representation and enhances various templates of data display. Application controls are focused on a variety of sections such as finance, business, expert analysis, financial and quarter reports, balance sheet, income statement, cash statement etc. The application involves expert’s feedback, analyst’s review/ratings/comments and can be purchased from the application’s web section. Client expected a user friendly application. He wanted a custom set of animations and templates to be included that should change during the application run time for increased usability. The objective behind developing this application is to provide a concrete platform of stock-related facts to the users and investors. Depending on the financial material and literature available major corporate giants must be able to play with stocks. Registration is FREE for all the Guest Users (the application may be charged at the later stage). To view all the stock-related details and information, user needs to register himself with application’s web section. Set of details has been defined in segregated formats depending on the verticals of businesses: Basic Materials, Conglomerates, Consumer Goods, Financials, Healthcare, Industrial Goods, Services, Technology, Utilities etc. The application also includes a feature wherein users can have their own analyst groups, followers, experts, market researchers, stock experiences, peer analysts etc. This Mobile App is categorized in different vertical formats such as Products, Financials, Executives and Peer Analysts. Experts can upload videos and images to support their stock experiences which can be controlled during the runtime selection. The important modules of the project are as follows: •
Editor Admin Control Panel: The application has its own Editor Admin Control Panel specifically designed for the owner of the website—the Administrator.
•
Manage Stock Experiences: Admin can view the entire lists of Stock Experiences in an alphabetical order with pagination provided for sorting the stocks.
•
Manage Stock Experiences Edit: User gets a separate interface with the facility to edit the selected stock from the list and to customize the view. This section provides the facilities such as categorizing stock experiences; Cover Page can be created; individual Stock Experiences available with that user’s account can be modified or removed; Delete Tab option; Change Template; Xignite Content for content modulations etc. Once Admin completes the customization procedure, they can publish the submission and those can be directly displayed in the respective user’s account with all the recent updated or newly created templates.
•
Admin Section: This section also has the Research and Analysts interfaces. Both work functionality is similar to Managing Stock Experiences. It allows admin to re-format whenever the contents or stock records are updated.
•
Research and Analysts section: This section will show the latest update in the user’s account and user can view the same with different animation effects in his/her web or mobile tablet accounts. www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd
Page 2 of 2
Project
Challenges
Team faced the following challenges: •
Allowing the site to handle millions of users at the same time without slowing down.
•
Incorporating web usability principles while developing numerous features designed for enhancing the users’ community networking experience.
•
Harmonizing the simultaneous execution of various integrated features and options while maintaining consistent load balance.
•
Speeding up at all the interfaces and instances to fetch as much distinguished data sets from the server.
•
Synchronization with Web Account, Database Servers and Mobile Tablet.
•
List of various animations effects had to be drawn on each selection or tap of the data. Mobile App animations acquired effects such as: Cube, Flip, Push, Curl, Doors Opening Transition, Flip and Turn, Pinch In and Out, Twitch, Freeze, Expand or Collapse functions to embed with the application without affecting the data, columns and graphics of each Stock Related Experiences.
•
Generic Code Development was implied due to high level of security requirement.
Technologies Used Operating System & Server Management
Development Tools & Environments Database
iOS, Multi-Server Architecture with Staging & Production Environment through Version Controlling releases, Server Optimization, Security & SSL Implementation, Scheduler for Back-ups, Alert Monitoring System Integration, Server Performance Tuning at regular intervals, Software Firewall Configuration & Maintenance PHP5, Xignite, Stock Editor, JSON, Java Script, Objective C, Flash, iOS SDK, Xcode 4.0.2, Open Ears & Facebook Connect Libraries etc. MYSQL Database Server, DB Clustering, DB Optimization, Master Slave Replication, Query Optimization, Scheduler for Backups
www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd
Page 3 of 3
Manpower Project Leader
1
Developers
4
Designers
2
Quality Assurance Testers
2
Planning
The following development approach was adopted to equip the site with numerous features and functionality mentioned below: •
Introduces high level of server and data fetching technology to be implemented.
•
Research and analysis were scheduled in respect to get the actual level of output of data which are in a form of different verticals and business logics.
•
Development: High Level Coding Standards were followed pertaining to the images, graphics and row, columns, simultaneously synchronization with the server for recent updates.
•
Precisely concentrated on sync among images, background, effects with the actual sets of data and similarly commenting, analysis feedback and reports.
•
The User Interface Layer performed as a Graphical User Interface of the website and Mobile Application.
•
Animation effects were challenging as it provides a numerous effects that play with the same set of data and finally represent the desired output.
Architecture •
& Block Diagram
Application Life Cycle
The application life cycle constitutes the sequence of events that occurs between the launch and termination of your application. In iPhone/iPad OS, the user launches the application by tapping www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd
Page 4 of 4
its icon on the Home screen. Shortly after the tap occurs, occurs, the system displays some transitional graphics and proceeds to launch your application by calling its main function. From this point on, the bulk of the initialization work is handed over to UIKit which loads the application’s user interface and readies its event loop. During the event loop, UIKit coordinates the delivery of events to your custom objects and responds to commands issued by your application. When the user performs an action ction that would cause your application to quit, UIKit notifies your application and begins the termination process. The following figure depicts the simplified life cycle of an iPhone application. This diagram shows the sequence of events that occur from the time the application starts up to the time it quits. At initialization and termination, UIKit sends specific messages to the application’s delegate object to let it know what is happening. During the event loop, UIKit dispatches events to your application’s custom event handlers. Figure: Application life cycle
•
Event Handling Cycle After the UI Application main function initializes the application, it starts the infrastructure needed to manage the application’s event and drawing cycle which is depicted in the following figure. As the user interacts with a device, iPhone/iPad OS detects detects touch events and places them in the application’s event queue. The event-handling event handling infrastructure of the UI Application object takes each event off the top of this queue and delivers it to the object that best suited to handle it. For example, a touch event ent occurring in a button would be delivered to the corresponding button object. Events can also be delivered to controller objects and other objects indirectly responsible for handling touch events in the application.
www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd
Page 5 of 5
Figure: The event and drawing cycle
Touch event model, touch data is encapsulated in a single event object In the iPhone OS Multi-Touch (UI Event). ). To track individual touches, the event object contains touch objects object (UI Touch) one for each finger that is touching the screen. As the user places fingers on the screen, scr moves them around and finally removes them from the screen, the system reports the changes for each finger in the corresponding touch object. When it launches an application, the system creates both a process and a single thread for that application. This initial thread becomes the application’s main thread and is where the UI Application object sets up the main run loop and configures the application’s event-handling event code. Figure 1-.2.2 .2.2 shows the relationship of the event-handling event handling code to the main run r loop. Touch events sent by the system are queued until they can be processed by the application’s main run loop. Figure: Processing events in the main run loop
www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd
Page 6 of 6