NowThis News

Challenge

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.

Solutions

  • 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.

Result

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.

Platforms

  • Android
  • iOS
  • Web

Languages

  • Apache
  • CSS3
  • Django
  • Google Cloud
  • HTML5
  • JavaScript
  • JQuery
  • Memcache
  • MySQL
  • Python
  • Redis

Links

Privacy Preference Center
Your Privacy

When you visit any web site, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.

Strictly Necessary Cookies Always Active

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.

You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.

Performance Cookies

These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site.

All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.

Cookies used

Google Analytics
Functional Cookies

When you visit any web site, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.

Cookies used

Test Second Test
Targeting Cookies

When you visit any web site, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.

More Information

When you visit any web site, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.