Client required a stock based mobile application that helps interactive stock experiences to be broadcasted on websites or tablets and mobile devices. This application is a unique reporting tool with a unique graphical representation.
The application focuses on 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 also includes expert’s feedback, analyst’s review/ratings/comments.
Client required a user friendly app that had a creative interface with customized animations and templates that could change when the application runs.This application was supposed to be a robust platform for stock related facts that will prove useful for investors. The aim is to enable major financial giants to invest in and play with stocks.
The application should have free registration for guest users. Charges might be added at a later stage. A registration process must be enabled for users to take advantage of special features for stock information. 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 should also include features like analyst groups, followers, experts, market researches, stock experiences, peer analysts, etc. Experts should be able to share their stock experiences.
The project consisted of a few important modules
- Editor Admin Control Panel: This is designed for the administrator of the website.
- Manage Stock Experiences: Stock experiences can be listed by administrator with pagination and in alphabetical order.
- Manage Stock Experiences Edit: User interface is separate and use can edit the selected stock from the list and customize the view. The other facilities that this interface provides are ategorizing 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 the customization procedure is complete, they can publish the submission and those can be directly displayed in the respective user’s account with all recent updated or newly created template.
- Admin Section: Research and analysis interfaces are included in the admin section. Functionality is similar to Managing stock experiences. Admins can re-format whenever the content or stock records are updated.
- Research and Analysts section: User can view this in their mobile interfaces. This section shows the latest update.
The team faced the following challenges:
- The site should be able to handle millions of user connections without slowing down.
- For enhancing user expeience, web usability principles had to be followed to incorporate the various features.
- Consistant load balance had to be maintained during the simultaneous execution of various features.
- Speeding up at all interfaces and instances to fetch as much distinguished data sets from the server.
- Web account, database servers and mobiles had to be perfectly synchronized.
- 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.
|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)|
|Quality Assurance Testers||2|
- In order to accomodate the numerous features for this site, the following development approach was used.
- Advanced server data fetching technology was used
- Different business verticals had different business logic to follow and the output data was different too. Research and analysis was required to accomodate for all this.
- To manage the images, graphics and row, columns, simultaneously synchronization with server for recent updates high level of coding standards had to be followed.
- Precisely concentrated on sync among images, background, effects with the actual sets of data and similarly commenting, analysis feedback and Reports.
- Animation requirements required research to provide a number of effects with the same set of data to finally represent the output.
- User Interface needed to be meticulously designed for the customer.
Architecture and Block Diagram
The application lifecycle consists of a sequence of events that occur when you launch the application and until you close or terminate it. On the iPhone or iPAD, a user taps on the application icon on the home screen to launch it. During this process, the application shows some transitional graphics before actual launch and the calling of the main function. The UIKit then handles the bulk of the initialization work. And finally loads the user interface. While this loop is executing, the UIKit coordinates the delivery of events to custom objects and responds to commands issued to it by the application. Wheneverthe application received a quit command from user, the UIKit notifies the app and the termination process begins.
The life cycle of an iPhone application is shown below:
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.
Event Handling CycleAfter the UI Application main function initializes the application, the infrastructure needed to manage the events and drawing cycle are started. With user interaction with the device, iPhone/iPad OS detects all the touch events and places them in a queue. The event handling infrastructure is responsible to deliver it to the object that is best suited to handle it. In the iPhone Multi-Touch event model touch data is included in a single event object. To track individual touches, the event object contains touch objects. As the user places fingers on the screen, moves them around and finally removes them from the screen, the system reports the changes for each finger in the corresponding touch object.
When an application is launched, the system creates a process and a single thread for the app. This becomes the main thread and the UI application object sets up the main run loop and the application’s event handling code is configured. The events are queued until they can be processed by the application’s main run loop.