Article page in Samsung news app
All Samsung phones come with a pre-installed news app. I created the system to display news articles in this app.
In the app, the template for all the articles are designed by each publication. Tribune delivers over 80 media sources to Samsung. To provide a consistent user experience, I designed the article pages to be lightweight and consistent. The reader is definitely a priority with the clean layout.
The backend system is a WordPress site. I highly customized this WordPress install to perform the needs of a highly-used app.
Ingest RSS and JSON
Set up RSS and JSON ingester in WordPress to automatically import approximately 140 articles daily from XML and JSON feeds into custom fields in WordPress.
Custom WordPress plugin for automated error checks and to clean up the articles
To clean up the content from the inbound feeds, I programmed a custom WordPress plugin from scratch. The plugin
- It makes all the publication names consistent.
- The inbound feed has the author name and publication name in the same RSS element. The plugin separates the author byline from the publication, then puts them into two separate fields. (Not only does this help with the design template, but it also allows us to do better reporting for each publication in Google Analytics)
- It assigns the Twitter handle of the author to the article (used in the auto-tweeting PHP that I wrote)
- Makes sure every article has an image (a requirement). If the article doesn’t have an image, the article is set as a draft with a custom tag that identifies this particular error.
- The article also goes through several checks. If it fails any check, a custom tag is assigned to the article. (e.g., if the article is embargoed, or is in Spanish, or has an empty body, etc.)
- Samsung has 12 categories. Some sources have hundreds of categories. This plugin looks at the categories on the article and assigns it one of the 12 correct Samsung categories.
Samsung wanted to take the articles via an API feed. I said no problem. Using WordPress’ built-in API, I enhanced the feature base to meet Samsung’s needs.
By default, WordPress’ API does not include custom fields. I wrote custom PHP functions to enable the custom fields to appear in the WordPress API output.
Also by default, the API of any WordPress site is open to the public to query. Since our core business model with this site is delivering reliable and desired content to Samsung (and ultimately to users of Samsung phones), we didn’t want anyone sniffing around the open API. I closed off the API by creating an additional security layer by implementing a JSON web token for access to the site’s API. Only Samsung would have access to the JSON web token.
Tutorials & documentation
When the site was built, I created tutorials for Samsung on how to use the customized API. I wrote an 85-page internal documentation about backend and frontend setup.
The 80 publications must be regularly paid for their content that goes to Samsung. Our finance team needs regular reports on how all the publications are performing. I created
custom reports in Google Analytics to provide the data on each publication’s content.
Internally, we needed to know how many articles ran, so I wrote SQL queries that connected with Google Sheets to run article count audits.
To help with the site loading speed, I facilitated the move onto Akamai CDN services.
Traffic increases through UI/UX improvements
I was given the task of increasing page views on the site. Since these article pages are delivered directly to Samsung phones, we couldn’t gain additional traffic through standard marketing techniques like promoting via social media or email newsletters. The content on this site is contained within the app.
I focused on UI/UX angles to increase traffic. One way was to keep the readers hopping from article to article. Through several changes to the site, I was able to increase the clicks on additional articles by 170% in two months.
Two methods achieved this increase:
1) I programmed a ‘continue reading’ button after x-number of characters.
2) I changed the number of related articles from 10 articles to 20 articles.