A News App for a Japanese Company
Partnering with clients from all over the globe, Ingenuity was able to develop an app for the Japanese market. Amber is a mobile app which pulls news feeds from different sources and consolidates them into one single app for the convenience of its Japanese users.
What is the Project About
Amber is a web service from a Japanese Marketing Company which delivers news to users by monitoring RSS feeds from different news sites registered in the database. It makes it easy for users to read articles from different news without having to manually go to their website and through the convenience of their mobile phones.
The project have to be developed for both the web service and the mobile counterparts. Each major component had its challenges to implement.
The web server at first leveraged NLTK for Python which turned out to execute too slowly. After which, we rolled our own very basic implementation of keyword mechanism based on the idea of Naive Bayes classification. The web server also had to be implemented such that it would support analysing multiple RSS feeds and then features could be pluggable. Ideally it could be set by end users for each news source but was not made possible due to difficulties in the article interpretation. The web server also made sure that scraping the RSS feeds happened in the background.
The main challenge with the mobile version was properly fetching articles from the web server and making “gaps” were closed. The mobile application had to make sure that there were no missed articles that came in late after the user had already previously fetched data. The app also focused on making sure that network bandwidth were not wasted so saving the data in internal storage had to be done to minimize data transfer to and from the server. The app also manages the amount of data saved by invalidating saved articles that have already spanned two weeks.
The project went for approximately 6 months but had gone past the deadline due to changes in scope and difficulties in implementation.
The said company needed a running web service that interprets articles served from RSS feeds and judges if it falls in the intended category. It should be able to “read and understand” the topic in the article automatically as accurately as possible. It should also take care to not repeatedly record existing articles and republish published articles.
Read and Understand
What We Learned
The importance of managing customer demand cannot be stressed enough. There was a gradual but ever increasing scope during the course of the project which made it harder for the team to finish the app. It is true that communication between members in the project is important, there is also a matter of communicating correctly.
Also worth noting is the choice of technologies to be used for a project plays a heavy role as well. Back then, the technology used (Titanium) at the time felt incomplete and limited which complicated things a lot.