MOSS Has Got Game - Glu Mobile’s Website (www.glu.com) - How We Did It - Part 1 of 3
Allin Consulting, a Microsoft Gold Certified Partner in the U.S., recently implemented Glu Mobile’s website at www.glu.com. Glu Mobile is a leading publisher of mobile games and entertainment. Allin has been developing solutions around SharePoint and .NET since version “1.0” of both platforms. This is Part 1 in a three part series in which the Allin team (Shawn Parker, Robert Sweeney, Eric Hansen, Stefan Nilsson, and Karl Kuhnhausen) will describe how they architected and developed the glu.com website.
<Lawrence />
Overview
Shortly after the Glu Mobile website (www.glu.com) went live in late April, it attracted quite a bit of attention in the SharePoint community and at Microsoft. Microsoft invited us (the team at Allin Consulting) to write a “How We Did It” series of blog entries to provide some insights into how you can leverage MOSS 2007 to build a really cool looking, fast, and dynamic Internet facing website. Some people still don’t believe that we could develop such a rich, interactive user experience on SharePoint, so we kept the standard blue and orange “Site Actions” menu (for users who are logged in and have sufficient permissions) just to prove that it is indeed SharePoint underneath!
Our series of blog entries will have the following three parts:
- Part 1: Overview of the Solution - A survey of the solution with a focus on content targeting and multi-language capabilities
- Part 2: Master Pages and User Controls – How we provide the rich user experience with our master pages and custom web parts
- Part 3: Performance – Cache is King – How we optimized various features to get the site to perform to the expectations of a web audience
Business Needs and Solution
Glu needed to redesign and relaunch their website to drive increased revenue globally and to coincide with their upcoming IPO (talk about business criticality!). The previous site provided some marketing of their products, but they had limited ability to easily manage content and target and sell products to their growing community of customers. The previous site (screenshot below) was built in PHP and required developer intervention to publish content.
Glu looked to our team at Allin Consulting to develop their next generation “Glu 2.0” website as a dynamic, richly branded, commerce-enabled solution with efficient web content management. Their business model was to make available very quickly a targeted list of games that a user’s mobile phone carrier and device will support, encourage them to try the games online, and then easily buy and download any game to their device. Key features of the site included:
- User profile management and personalization with targeted content and promotions in multiple languages
- Modular components – content published as a set of functional modules; e.g. hot games, my games, new games, promotions, ad rotations
- Search – enable users to quickly find popular games with full text search
- SMS integration to quickly enable the sales and download of games
- Distributed content management and publishing – non-technical regional content owners can manage their own content
- User analytics for tracking browsing and purchasing behavior
Technical Approach
Our design philosophy from the start was to integrate the best of ASP.NET 2.0 and MOSS 2007 to implement a highly functional, manageable, and scalable site within a short amount of time. We were competing against open source LAMP-based (that would be Linux, Apache, MySQL, PHP/Perl/Python) CMS solutions in the bidding stage of the project, and MOSS 2007’s Web Content Management (WCM) and platform capabilities gave us a solid foundation to build upon. The entire solution took about 16 weeks to develop in time for the initial launch of the site.
All text and graphical content (except for the Flash-based trailers and game emulators – these are better streamed from media servers) are stored and managed in SharePoint lists and dynamically rendered via a set of 11 common pages with custom web parts. Management of the content is facilitated by the “Glu Content Manager,” which leverages SharePoint’s out-of-the-box WCM features. Without having to develop any custom WCM features, we were able to focus our efforts on functionality and user experience in the master pages, web parts, and a light custom framework to meet Glu’s business requirements. Here's a screenshot of the Game Genre Navigation Graphics in the Genre List.
Public vs. Publish
There are two sides of glu.com, each with a completely different purpose and user audience. The first is the public site with the rich graphics, streaming video game trailers, demo games, and SMS integration with mobile carriers for purchasing and downloading games. This site can serve hundreds of thousands of users around the world in multiple languages, and finding, trying and, buying games are the use cases. You can browse the games list and try any of the available games for a predefined time limit in an emulator to get a sense of the game play experience. Personalization is also critical for this audience. Based upon a user’s preferences of region, language, mobile carrier, and mobile device as well as a product’s popularity, the site automatically promotes relevant mobile games, ring-tones, or wallpaper. Since we are Allin (“all in”), this is our favorite game to play. :-)
The other side of glu.com is a secure environment that supports internal Glu employees, who are primarily content publishers. They manage all of the content, graphics and language variations of games, wallpapers, ring-tones, and product reviews as well as corporate information like press releases and job postings. What is most important to these users is efficient management and publishing of digital assets. The users manage and update all of the web content in this environment, and the changes are then pushed out to the public site.
Authentication
In order for the site to support both the public Internet users and the content publishers, we used two separate authentication providers. For internal content publishers, the standard Active Directory membership provider worked just fine, but we didn’t want to store any of the external users in AD, so we created our own custom authentication provider built on the ASP.NET 2.0 provider model, which MOSS, by way of WSS 3.0, readily supports. In fact, all external users remain anonymous as far as IIS and MOSS is concerned, even when they appear “logged-in” the site. This was adequate for our solution because external users did not require any standard MOSS membership features since we were providing a set of custom controls for personalization and content targeting.
Content Targeting
One of the most important aspects of the public view of the site was the ability to tailor the content on the pages to the individual user. To accomplish this, we allow each user to create a player profile with a username and password along with some basic information like mobile phone number, which is needed in order to purchase products over the website. In order to prevent spammer bots from auto-registering on the site, a CAPTCHA control was added as part of the user registration page (shown below).
As the user navigates through the site, product clicks are logged and used to display content for similar products back to the user. Even for those users who are not “logged-in,” their clicks are also tracked and are associated with a proxy profile that will be replaced with an actual profile if/when the user eventually registers. This helps to encourage users to register as the site focuses more and more on the types of products they have shown interest. The user will also be presented with teasers for new games, coming soon titles, and related titles as well as top games and hot games in the genre where they spend most of their time. All click tracking data is stored in an SQL Server 2005 database.
The entire public site was broken up into logical components that were built as custom ASP.NET 2.0 web part modules and then placed on SharePoint pages. We consciously did not develop SharePoint web parts as we did not need their added functionality (and weight) over the custom functionality we could build with the standard ASP.NET 2.0 web parts. Each module was coded to render SharePoint list content based on the type of page and on the country and region the user resides. If a web part is placed on a home page and the user logged in is in the United States, it will only display content that applies to U.S. customers sorted in the order of most popular games. That same web part placed on a genre (Casual, Classic, Sports, etc.) or product page will filter the content further to only show content of the active genre or genre of the product detailed in the product page. For example, Cricket and Football (Soccer) games are highlighted in the Sports genre if you select the U.K. as your preferred country (shown below).
Multi-Language Support
Glu had a critical business requirement for the website to support 10 languages used in 64 countries. Using MOSS’s variations feature where each variation site is based on the country code and the language code for the 11 common publishing pages we had built would have resulted in over 7,000 pages to support (e.g. 64 countries x 10 languages x 11 pages = 7040 total pages). This conflicted with our goal of providing the lowest possible number of common pages that would dynamically render content.
In order to reduce the number of total pages, we came up with a replacement site variation feature that supports geographic regions (North America, EMEA, etc.) and takes language completely out of the equation. By consolidating the 64 countries into 5 regions resulted in the reduction of total pages to just 55, which greatly simplified the localization effort and ongoing maintenance. Our custom variation engine gave us much more flexibility to pair any language with any country and then dynamically render the appropriate page. We still detect the browser’s country and language and redirect to the correct region site that covers the respective country, but through the user profile, the user is able to select any combination of the 64 countries and 10 languages.
Here's a screenshot of a localized page on which all of the content and controls have been localized.

The user can select the preferred language in the control, whose close-up view is shown below.
Summary
Since MOSS 2007 is built on top of WSS 3.0, which is built on top of ASP.NET 2.0, it provided us with the flexibility to create the custom solution that Glu needed to differentiate themselves in the marketplace. At the same time, we were able to rely on MOSS to provide all of the web content management capabilities that would have taken us months to develop. In Part 2 of this blog series, we will drill down on how we developed the rich user experience with master pages and custom web parts. If you have any questions at this point, please leave a comment here or e-mail us at glu-team@allincal.com.
The Glu.com Team at Allin Consulting
- Shawn L. Parker - Solutions Architect
- Robert Sweeney - Sr. Consultant
- Eric Hansen - Project Manager
- Stefan Nilsson – Practice Manager
- Karl Kuhnhausen – Practice Director