Case Study for Mobile Development

Tool for managing soread betting, CFD and FOREX trading account

Tags: CFD trading app, spread betting app, iOS development, mobile development and QA

Customer

The customer is one of the leading providers of contracts for difference, FX and spread betting leading in spread betting and CFD trading.

Objective

The customer looked for experienced iPhone/iPad developers to join their distributed team and assist them in further implementation of a native iOS spread betting and CFD trading application. The challenge was to take up a very vague scheme of the future application and follow the development plan providing quality services. The solution was to meet the industry requirements of speedy data processing and performance as well as strict standards ensuring security of trading deals and transactions.

Solution

To pre-select vendors the client set up a test project - a small-size project to build iOS application enabling users to check quotations changes, fluctuations and trends on various financial markets and posting comments in twitter. Our company took part in a tender and implemented this trial project, and as a result we have been chosen to set up an iOS team with. The team started with 2 developers gradually growing and reaching the size of 6 iOS developers and 3 QA specialists (automation and manual) during the stages of the solution extensions to new markets.

When the library finds a beacon it sends a request to the server about its enter in so-called “beacon zone”, after that a request for the notification reflection and then exit from the “beacon zone”.Our dev team has been delivering the app for iPad and iPhone platforms providing the main app code as well as an array of new additional functionalities for trading, animation and a handy feature which allows, due to LightStream messaging, to refresh the data automatically without manual pushes. The application was also tuned to work efficiently in the environment of the latest iOS versions.

The dev team has been developing, enhancing and supporting the following functionality in the application: - instant checking of the latest prices and market movements, - opening and closing positions, - comprehensive live streaming charting package allowing to analyse historical data and identify price patterns and trends, with historical and live streaming prices, - publishing of the latest global investment news from Reuters News, - setting of stop and limit orders including if done and OCO (one cancels other), - creation of new or amending of existing orders, - viewing of pending, completed and cancelled orders, - monitoring of positions using a unique positions chart, - receiving push notifications on price changes for specific markets, - viewing and amending of multiple Watch Lists, - reviewing of trade and order history, - signing in via Touch ID, - trying out the application without signing up, - managing trading account. One of the most critical features in the application is its security since it deals with access to CFD trading account information and transactions.

Since the project has been developed for many years the core code base is written with Objective-C. However, all the new features and project modules use the latest version of Swift. We are proud of great progress in automating iOS routines such as code signing, continuous tests running, binary distribution and release delivery. Technologies, which help us with automation, are Faslane, TeamCity, Git Flow. Finally our QA team is working on native Xcode UI testing which allows to run manual test cases in CI systems and decrease time required for regression testing.

trading


In the project SCRUM methodology is broadly used, and the whole team is geographically very distributed, based in UK, US, Eastern Europe. SCRUM master is on the client's side and he communicates directly with team members. Project progress, requirements, activities and bugs/changes tracking and management are run via the customer's internal custom system. Dev and QA teams are closely communicating with other production teams such as back-end/front-end developers, BAs, designers, product owners. Production process is based on 2 weeks sprints. Every sprint contains implementing new features, regression testing and as a result new version release. Small and frequent release packs allow to reduce both regression and amount of bugs.

trading

Results

The dedicated team of iOS & QA specialists have been successfully operating for years. We have become an integral part of the customer's international team and bring value to the project with competency and innovative approach helping the product stay on top among the competitors. The solution covers significant amounts of digital trading deals: up to 26 000 from an iPhone and 5 000 from an iPad version per week (according to Google analytics currently we have about 10 000 trades from iPhone and 1500 trades from iPad daily), - and hopefully continues winning awards like in the short past: the Money AM 'Best Mobile Trading Platform', Financial Times and Investors Chronicle Award for 'Innovation of the Year (Mobile)', the Shares Magazine 'Best Online Trading Application' Award.

Technologies & Tools

Platform: iOS. Technologies: iOS 9-12, CocoaPods, Fastlane, Git flow, TeamCity, TestFlight, HockeyApp, Unit tests, Xcode UI tests, UIKit and CoreGraphic, for visualization, https://www.tradingview.com for graphs visualization, Lightstreamer, Widgets, Push Notifications, Touch ID, OCLint analysis tool.

Beacons detecting Mobile App

Customer

The customer is the leading Belgian proximity solution provider in out-of-home mobile entertainment.

Objective

The main aim of this project was to develop a mobile app that will provide users with some kind of promotional content of the information of their interest.

Solution

The team of our developers participated in creating a mobile application and data based library with beacons and content within a radius of 7 kilometers. Also there were inputted beacons identifiers within a radius of 100 kilometers. Then with the help of Bluetooth, the library detects beacons and checks their group affiliation. If beacon belongs to our group the app will show all available content, if there is no content we ask for information on the server side in the ID code.

When the library finds a beacon it sends a request to the server about its enter in so-called “beacon zone”, after that a request for the notification reflection and then exit from the “beacon zone”.

The content of our app includes a number of categories and all of them are interconnected. As far as content is concerned, it can be just a regular html page, a youtube video, a facebook page, etc. And admin part of our app is responsible for the necessary connection between the information and right beacon.

Technologies and tools

Android, iOS, Xamarin, Google play services, Ractive Java, location services, Google maps, Retrofit, Albteacon library, Bluetooth, crashlytics, android support library, OkHttp, Glide, Jackson, SQLite, Objective-C, JSON, Push notifications, CoreLocation, CoreBluetooth

IPhone Application for detecting snorning patterns

Customer

The information about the direct Customer cannot be disclosed due to the conditions of NDA agreement between the Development Team and the Customer.

Objective

The aim was to create an application that will help to monitor sleep quality by detecting and suppressing snoring.

Solution

We developed an application that will help people suffering from snoring to suppress it and enjoy better sleep. It monitors sleep quality and record the quantity of snoring sounds every night.

In response to snoring, the app randomly selects a sound file from the downloaded library of sound files and plays it back to disrupt the snoring pattern without waking the user up.

If the user wears a Bluetooth earpiece, its microphone and speaker are used as default. The app repeats the above sequence as required each time randomly selecting different sound file. The app displays three summaries and reports on the mobile phone as requested by user.

The user is able to share the data on social media and other websites if desired.

The application also supports localization and comes with the easy-to-use alarm clock, which allows saving up to five different alarms with their own ring tones.

Technologies and tools

Objective C, C++

Mobile Application for tracking vehicles geolocation

Customer

The Customer is a French IT company that specialized in the development of business applications in the sphere of management and geolocation.

Objective

To create an application supported on both iPhone and Android that provides the company with the information about the vehicle’s position tracking by GPS terminal hardware.

Solution

We developed the application that coordinates the fleet management of a given company vehicles.

The application launches when the connection with the server is established. The user gets access to the server by logging company’s name, user’s name and a password. The data could be saved in the system for the next logon.

The application demonstrates the current position/location of a vehicle on the map as well as in address location. Not only the driver's position is taken into the account, but items like state, events, measure for given vehicle in the context fields are also displayed.

Technologies and tools

iPhone/iPad, Android devices with HDPI, WEB service protocols HTTP / JSON, iOS SDK, Android SDK