Publishers Clearing House and iComponent approached Karman wanting to expand their existing Frontpage website into a standalone iPhone and Android application. Like the website, Frontpage mobile needed to support a variety of content types from lottery, weather, and horoscopes, to articles and even videos. In addition to traditional news content, PCH wanted to add bonus games that the user would be able to unlock. Finally, PCH’s product managers would be putting a lot of work into the app post launch so they wanted to be able to control a significant amount of functionality from their end, without the need for developer help.
On the technical side of things this meant that we needed to build an application that was both efficient at showing large amounts of content and easy to add games to in the future. This combination of requirements meant we had to make sure we chose the right core tech from the start. Most importantly, the application needed to be fast and pack a great user experience. Luckily, we were starting this project from scratch so we had the ability to focus on performance from day one.
What We Delivered
After some deliberation, we decided to build the app in Unity. While Unity didn’t necessarily excel at showing large amounts of content out of the box, it did provide a great starting point for the games and provided the flexibility for us to optimize the render pipeline where needed. That said, we still had to build out content caching, off thread image decoding, and new UI shaders...We were essentially building a simplified web browser in Unity.
Throughout development, there were a number of performance issues that we had to solve. For example, to keep news content browsing highly responsive we had the app cache images and articles like a web browser. In some cases we even preemptively load data based on what we think the user will view next.
While building and testing we noticed that battery performance drained faster than normal while using the app. Given that this app (unlike most games), was intended to be used for long periods of time, the battery performance was a big concern. Through investigation we discovered that there were optimizations that could be made to Unity’s UI shader. We also paid close attention to where the app was “overdrawing” elements when rendering each frame. These fixes, as well as a number of other minor optimizations, improved render performance by ~400% which brought the battery performance to reasonable levels.
For PCH’s product managers, we integrated with a CMS that iComponent developed which would allow PCH to customize a lot of the application through a backend admin console. Every section of the application was broken down into smaller components. This gave PCH the ability to rearrange the presentation of a given screen without pushing an app update or needing a developer.
Finally, our friends at Hyperflow Studios delivered a beautiful and intuitive user interface. We worked closely with their designers to make sure their designs were integrated as expected and could be rendered efficiently.
Today, PCH Frontpage is live on Android and iOS for any US resident to download. PCH has been happy with the app we created and already has a few more updates planned for the near future.