Integrating Drupal and Native Applications: The Story of the Elle Décor Lookbook AppJames HeiseSenior Director, Business Jim MacInnesDevelopment Technology ManagerJuly 2012 July 2012
Agenda• Appnovation Overview• What was the project?• What Technologies were used• Project Architecture• Cool Features of the App• Demo of the Application• Managing Content with Drupal 7• Solving Performance Issues• Questions
Appnovation isone of the World’sleading OpenSource SolutionProviders.
Who we are We Deliver Open Source Solutions• Founded in 2007 by Arnold Leung, CEO as a Drupal development shop• Privately held with ~55 employees in Vancouver, BC, Atlanta, GA and London, UK• Broad base of customers across Canada, United States and the UK• Focused on delivering Consulting Services and Application Development• Hand selected, highly skilled, and 100% on-shore delivery team• Recognized as a leading edge Open Source Solution Provider• Extremely competitive billing rates
What we doAppnovation provides unparalleled expertise in creating Consumer Facing and B2B Websites Mobile Web and Integrated Apps Cross Platform HTML5 Solutions Enterprise Document Management eLearning Platforms Corporate Intranets
What we useWe specialize in the use of leading open-source technologies
Who we work withAppnovation is the only company in the world that is anAcquia Enterprise Select Partner and a AlfrescoPlatinum Partner. We are also the lead supporter, andtop provider of Sproutcore HTML5 developmentservices worldwide.We work with media and publishing, consumer brands,government organizations, technology companies,advertising agencies, and non-profits.
Development ProcessTraditional Waterfall Agile MethodologyDiscovery Iterative DevelopmentTechnical Planning Velocity TrackingInformation Architecture Product OwnersDesign Scrum MastersTheming Daily ScrumsBackend Development Short SprintsQuality Assurance Sprint DemosDocumentation and Training Test Driven DevelopmentMaintenance and Support Quality Assurance
Project• Appnovation and Acquia’s customer Elle Décor had decided they wanted to develop and iPad app for their extremely popular resource the “Elle Décor Lookbook”• The Lookbook allows users to browse hundreds of images from their archives organized by room and style• Users are also able to save their images to share easily with other friends and colleagues even if they don’t have the application• Users also can also access editor curated Lookbooks and a selection of best advice from ElleDecor.com
Technologies• When the project was first discussed we looked at building a multiplatform app using HTML5 technologies and wrapping to android and iOS• It was decided to focus on the iPad market exclusively due to the iPad tablet market share and existing relationships with Apple• We decided to use an iOS and Drupal integration that allowed Elle Décor to take advantage of iOS native capabilities and performance as well as taking advantage of the content management capabilities of Drupal
Technologies• This type of integration would allow for several key Features: -Elle Décor would be able to manage content in the application without having to resubmit the app to the app store -We also used to Drupal to allow for dynamic web sharing of Lookbooks while not requiring any type of user logins -We decided to engage Acquia to provide the hosting and support platform for the Drupal piece of the application.
Architecture• Application is a pure iOS app built in ObjectiveC• It communicates with Drupal using JSON REST interface• JSON REST API was provided by a custom module• Assets can be edited/managed on Drupal using the Drupal Web admin UI• For Elle Decor, no authentication was required for end users (simplifies the custom REST API)
Cool Features• Extremely responsive photo galleries• Ability to Create and share your own design files (Lookbooks) with others that might not even have the app• Sponsored Lookbooks with hotspots on the images to learn more at the sponsor’s website about the product in the image• Ability to add notes and information to images saved in my design files• Great selection of articles from Elle Décor with some sponsored content
Drupal as a JSON Server• There are several ways that you can use Drupal as a JSON Server • Using the Views Module • Using the Services Module • Developing a Custom Module
Why Drupal• Very Flexible in providing a JSON Rest Interface• REST interface can be linked to Drupal’s existing Node System• Provides a great out of the box backend admin tool for content management• Provides a web based interface for legacy browsers
Performance• Initially performance was an issue with the Application• Solved issues through code re-organization (reduced the amount of database lookups)• Improved Speed using a Varnish Caching Server• Deployed the Drupal instance on the Acquia cloud• Appnovation also Engaged Acquia PS for a full performance review of the App• Apple Approval went very smoothly and the app now resides in the app store with a 4+ rating and great reviews
Questions?James Heise Iain MacNeilSenior Director, Business Vice President of SalesDevelopment firstname.lastname@example.org@appnovation.com +1.778.862.5162+1.604.833.1486
James Heise Iain MacNeilSenior Director, Business Vice President of SalesDevelopmentjames@appnovation.com email@example.com+1.604.833.1486 m +1.778.862.5162