To build a web portal for video news materials. Provide a smooth access to the website from any mobile device with a comfortable and convenient interface. In addition, to add new previously unavailable functionality for any browser with the following features:
- The event is marked on a map thus all users can see where it takes place (this feature did not make it to the release)
- A questionnaire after the video about the events that took place in it (removed from the application)
- The ability to save any video for playback without internet connection (this feature did not make it to the release)
Stable and fast performance are the essentials for news portals. Also, users should be able to receive notifications about recent events taking place when the app is not launched and without wasting any CPU or battery charge.
- The web portal is based on Django and MySQL.
- It is located on Amazon S3 servers where the database server and static files such as images, styles, and scripts are located as well.
- For a faster access to video news, video files are stored on Akamai servers that facilitate access to them from any part of the USA and Europe.
- jQuery is used to simplify editors’ work.
- RESTful and JSON architectures are used for integration with mobile devices.
- For sending notifications about new news posts to mobile devices such services as APNS and GCM, and later Urbanairship were used.
- For video reproduction, JWPlayer is used. The video is coded in various formats and in various quality for its optimized reproduction on mobile devices and with a poor Internet connection.
- A set of projection patterns was used for a mobile application’s projection. Singleton, MVP, and Observer have proven great in understanding the code and making changes to it.
- In order to receive data that is to be displayed in the application (playlists, video information, etc.) a get request from the NowThisNews server is used. Token name and value are placed in a request’s header. The answer comes in JSON and the application extracts required information from it.
- Google maps 2.0 are used to display events.
- Application’s stable workflow was achieved with great code quality and the fact it was tested by different developers and all the defects located by testers were provided with high-quality fixes before being placed inside the main development branch.
- Google Cloud Message service was used for notifications of new events taking place. This services usage makes the load on the device’s CPU and battery minimal and makes the app able to receive and display a notification.
- The application is also integrated with popular social networks.
The mobile application may be proud with approximate 1000.000 – 5000.000 downloads and a solid 4.0 grade on Google Play which is quite a proof of quality and stability regarding the application’s field of interest and competition. A web portal that is closely integrated with social networks like Twitter, Facebook, Instagram – is a promising solution for thousands of users. The integration is also maintained with news aggregators such as MSN, Buzzfeed, Hulu with a vast base of fans and subscribers.