NEXAGE: Mobile SSP and Advertising Programmatic marketplace
Nexage is the leading premium mobile advertising exchange, creating a highly efficient and liquid market for advertising buyers and sellers alike. AOL acquired the company in 2015, and Nexage was rebranded into ONE by AOL Mobile.
Nexage Exchange provides a range of programmatic markets to enable buyers and publishers to accelerate their businesses by choosing how they want to buy and sell including public, private exchanges and programmatic markets – and supports an ever-growing volume of rich media and video ad units. Business controls, filters, real-time reporting, and data enrichment capabilities plus the ability to integrate advanced solutions through Nexage Connect give customers visibility, controls, and tools to accelerate their businesses. Nexage Connect delivers integrated 1st and 3rd party data, including behavioral, contextual, enriched location and privacy data to enhance targeting and retargeting.
Administrative application is the central component of Nexage system. It contains a number of internal and consumer-facing features, including setup and configuration, reporting, monitoring of ads flowing through the system, and more. The application is developed using Adobe Flex.
Nexage has partnered with Kanda to upgrade and modernize existing Flex-based Administrative Application to create a more scalable and tablet-friendly solution.
- Java Enterprise
- Frameworks: Spring Framework, MVC, Spring Web Flow
- Protocols: RESTful
- UI/UX: HTML5, Ajax, JQuery
- Server side: Apache HTTP server, Spring Source tc Server, Apache Maven
- Java Architecture for XML Binding (JAXB)
To successfully complete this project Kanda has separated development workflow in three phases:
- Transition – maintain and enhance existing solution while the new version is designed and coded
- Conversion – design, code, test, and rollout new Administration Application, replacing the existing one for all of Nexage’s clients and partners
- Maintenance and Support – maintain and enhance the new Admin
Kanda Software has utilized Agile Methodology with 2-week sprints. The first 4 sprints were focused on Administration Application analysis, finalizing technical architecture, creating a “clickable prototype” to Illustrate web UX concepts, gathering and specifying detailed requirements. All the other sprints were focused on design, coding, testing and delivery of the Nexage administration application features. Each sprint had its own delivery plan and goals.
Project Architecture and UI/UX requirements:
- New user interface has to support all the features offered by Nexage to its customers and partners at that time.
- The new UI implementation should not unduly burden the business logic, data repository, and downstream functionality dependent on the configurations accomplished in the administration application
- The implementation should be done rapidly and allow for rapid modifications/enhancements in the future
- Design of web interface should be easily extensible and maintainable, and based on modern web UI technologies
- The Application has to be lightweight and should not introduce and perform new business logic algorithms or calculations
- All necessary data sets will be retrieved from backend server
- Support for multiple user interface languages
- Security and Integration with backend server should occur only through secure exchange channels and protected by firewall to ensure safe operations with sensitive data
- Tools and technologies utilized should be industry standard with sufficiently wide pool of qualified developers and reputable providers of any third party library or component
- Development and Deployment best practices should be utilized to minimize time and resources spent on recurrent activities.
Nexage Administration application contains multiple important components used by both Nexage customers and internal Nexage staff to configure and monitor the ads flowing through the system and report on the supply and demand of mobile advertising, as well the metrics to measure their effectiveness. Nexage supports multiple models for ad trading as well as several sub-types of ad buyers and sellers.
Each combination of the model/seller/buyer requires in-depth configuration with several “moving parts” resulting in a system that is by necessity robust and complex, yet has to be scalable, pleasant and easy to use as well as support.
Administration Application provides all the parameters to Nexage Engine required make trading between Sellers and Buyers frictionless and efficient by creating a liquid and efficient market. Nexage, utilizing the Administration Application, provides the tools and capabilities for the developers and publishers to get to revenue quicker, while at the same time enabling very fine granularity of criteria to the Buyers to target their ads to a particular audience, specifying geography, target platform, content audience, etc.
The customer has the capability to screen the flow of ads and to allow or block particular ads from being run. The engine utilizes these and such additional parameters for real-time bidding as effective cost per thousand impressions, or eCPM (Automatic or Manual) and Revenue per Site and RTB fees. Mediation rules define where the ad is to be run – position, Buyer Tag and Tier. There are also capabilities to define Nexage’s revenue model parameters, for example Revenue percentage or flat fee, share of RTB fees, per site.
In addition to serving as a market platform, Nexage provides capabilities to Publishers to run ads on their own properties through a separate module Campaigns.
Taking into account Nexage technical and strategic requirements, Kanda team has developed a following architecture for Administration Application:
The system can be represented as four major components:
- User Experience – graphical representation of User Interface that are utilized both by internal Nexage staff and customers for configuration, reporting, and monitoring of ads flowing through the system.
- Wizards and Workflows – advanced user experience components that provide flexible workflow-based layouts and models. In essence the workflow-based interactions are used for user activities that require “State saving” before the actual data submission.
- External Communication – common communication component responsible for establishing connection with the backend server. For sharing the same communication language, this component performs processing of conversation format both ways (XML from / to Object).
- Data Export – additional business logic part that processes data from backend server presenting it as CSV files. Actual data stored in the file may be filtered / transformed using dynamic selection criteria.
The proposed technology choice for each component of Administration Application system was made based on Kanda’s experience with similar domain solutions. Kanda development team has considered the most frequent obstacles encountered during development and maintenance phase: time spent on infrastructure changes, extensibility of functional parts, security level required for user’s private data and long-term reliability during production phase. We recommend developing a Java-based system augmented with open source licensed components.
UX/UI DEVELOPMENT APPROACH
The original impetus for upgrading the interface was the lack of future support of Flex by Adobe. Nexage has also determined that a more user-friendly and interactive interface will be widely appreciated by existing clients. In the course of the UI development Kanda has proposed HTML5/Ajax as a main technology to meet the expectations of the users. Additionally, several design criteria were taken into account:
Kanda has preserved Nexage’s Administration application style while refreshing the overall look and making it more universal. A sample design is shown in the picture below:
Tablets are gaining ground as a wide spread work device. Nexage has determined that mobile audience represents a significant and growing portion of their user base. Taking into account client needs and requirements Kanda established that native mobile app development wasn’t the optimal choice for this project. Instead, HTML5 was used to deliver superior user experience and design to tablets and, potentially, mobile phone users.
Dynamically Displayed Pages
Kanda has identified several areas of Administration application user interactions that could have been simplified using dynamically displayed pages. Much of the power of AJAX and more recently HTML5 is contained in being able to display an uncluttered page that shows more information/details specifically directed at the user’s current needs.
Flex is a development environment that supported Client/Server style interface implementation within a browser. While there are advantages to the desktop-style approach, the overwhelming majority of Browser interfaces today are AJAX-based and users have certain expectations.
Feature-by-feature redeployment of Flex-based UI in HTML/AJAX would be unnecessarily costly and, additionally, was likely to reduce user acceptance rates.
Kanda recommended that the following “desktop-style” interactions would be replaced by more common web approaches:
- Multi-Tab Wizards
- Grids with Large Number of Records
- Very Long Lists – Companies, Clients, etc.
- Double lists drag-drop
Kanda software has successfully completed Administration Application modernization meeting and exceeding Nexage’s expectations. Kanda’s dedicated software development team continues to work with the company on maintenance and support of Administration Applications as well as other projects crucial for Nexage’s success.
The new Administration Application has proven to achieve required scalability and was highly praised and accepted by internal staff and Nexage customers for its design user-friendly design.
In 2014 Nexage, a mobile programmatic pioneer, was acquired by Millennial Media and became a core of MM’s Platform business. In 2015 Millennial Media was acquired by AOL.