KoodibooK is a United Kingdom–based startup company that provides a full-service solution for publishing high-quality photo albums. The company needed a scalable network infrastructure and storage resources so that customers could create their own personalized photo books in minutes instead of hours. KoodibooK chose to build its flagship book-building application on the Windows Azure platform to take advantage of the Window Azure Blob Storage and the Microsoft SQL Azure relational database services. The KoodibooK solution also uses the Windows Presentation Foundation programming model and the Microsoft Silverlight browser plug-in to provide its customers with a seamless and highly interactive publishing experience. By using the Windows Azure platform, KoodibooK now benefits from rapid, cost-effective development and the ability to scale its solution to meet global demand.
Situation
Based in Bath, England, KoodibooK provides an on-demand self-publishing service that customers can use to create high-quality photo albums easily and quickly. The company, which emerged as a startup in 2010, has attracted the interest and enthusiasm of a growing number of loyal customers in more than 50 countries.
KoodibooK gives customers the option to print bound copies of their personalized albums—a service handled through one of the company’s contract print vendors—or to publish their photo collections on the web. After purchasing the albums through the company’s online store, customers can share them across practically any platform or computing device.
 |
Windows Azure gives us massive scalability to meet potential spikes in demand worldwide, so we’ll be able to make the most of growth opportunities while maximizing our cash flow as we expand." |
 |
|
Richard Godfrey
CEO and Cofounder, KoodibooK |
|
|
“We saw KoodibooK as an opportunity to bring together traditional print, online, and mobile media with the popular pastime of creating a photo album for a special event,” says Richard Godfrey, CEO and Cofounder of KoodibooK. To differentiate the brand, the company wanted to make it easy for customers to use photos from multiple digital image sources—from local drives and search engines to web-based galleries on social media sites like Facebook and Flickr. It also aimed to provide a uniquely immersive and intuitive book-building experience, giving the customer the ability to easily manipulate photo sizes and layouts and view a three-dimensional rendering of the album before publishing.
But the company’s primary mission was to ensure that KoodibooK provided the fastest way for customers to design, build, and publish their own premium-quality photo albums. “We knew that we could improve on other self-publishing tools already in the market by greatly reducing the time it takes to create a custom book,” says Godfrey. “We wanted to give our customers the chance to build and start enjoying their books in as little as 10 minutes.”
Godfrey and business partners Paul Cross and Keith Walker concluded that the best way to minimize the production time for each book was to limit the need to upload content to a web-based system. “Especially now that most digital cameras render very high-resolution images, it can be extremely time-consuming to try to upload locally stored image files,” says Godfrey.
The KoodibooK team conceived of a ‘ClickOnce’ downloadable application, complete with all the tools and templates necessary to create a personalized album in minutes. Because the application would run locally on the customer’s computer, it would eliminate the need to maintain a steady Internet connection. This, in turn, would allow users to use the application anywhere. “We wanted to make the best use of the compute power of the PC to drive the process of interacting with content to create a book,” says Godfrey. “But we also needed a way to enable rapid publishing of the finished content to the web, along with rich, browser-based tools for viewing completed books online.”
To ensure high availability of its book-design application and provide customers with the ability to rapidly publish their finished albums online, the company recognized the critical need for scalable, reliable network infrastructure. However, as a startup company, KoodibooK needed to minimize capital expenditures and focus its limited staffing resources on business development, marketing, and other key functions. “We didn’t have the discretionary time or capital to devote to building and managing our own infrastructure, particularly because we didn’t know just how big KoodibooK was going to be,” says Godfrey.
Solution
The KoodibooK team began evaluating the technologies best suited to its design goals with its development partner, iPrinciples, which specializes in Rich Client, Rich Internet Application (RIA), and cloud-based development. The company decided to use a number of different Microsoft technologies to build its publishing solution, including the Windows Azure platform. The Windows Azure platform offers developers on-demand compute and storage to host, scale, and manage web applications on the Internet through Microsoft data centers. “The seamless interoperability between the Windows Azure platform and other Microsoft development technologies meant that we could choose from a rich set of tools to optimize each part of the book-building process,” says Godfrey.
 |
Setting up and configuring services to run in Windows Azure is so straightforward. |
 |
|
Richard Godfrey
CEO and Cofounder, KoodibooK |
|
|
Scalable Publishing Infrastructure
To handle the upload of images and data, the KoodibooK solution uses Windows Azure platform storage components, including Windows Azure
Blob Storage and
Microsoft SQL Azure, a cloud-based relational database service built on SQL Server technologies. The KoodibooK application parses images into 64-kilobyte sized fragments, which are then uploaded to Blob Storage and then automatically reassembled. This infrastructure model serves to not only enhance the performance of the application, but also helps ensure high availability of data, so that KoodibooK can continuously relay upload status information to the customer for a more satisfying experience.
As the images are written to Blob Storage, all reference data about individual publishing projects is simultaneously stored in SQL Azure databases. By offloading this data to the cloud, KoodibooK can strengthen data availability and gain disaster recovery protection without the need to manage its own relational database infrastructure.
“The simplicity of the architecture model of Windows Azure made it extremely easy to develop services to handle the publishing workflow,” says Godfrey. Using installed templates in Microsoft Visual Studio, the team configured Web roles for uploading content and writing images to Blob Storage. Similarly, the developers created Worker roles to define the background processes for managing output specifications against server loads. “Based on server load variables, we can quickly deploy a new instance of one of the roles we’ve created to instantly scale capacity,” says Godfrey.
Interactive Design Tools
The photo book design component of the solution functions as a Windows client application. The company wanted to take advantage of the
Windows Presentation Foundation programming model for rich client applications, which provides support for 3-D graphics and a multitude of hardware-accelerated graphics effects. The KoodibooK design application makes application programming interface (API) calls to services hosted in the Windows Azure operating system, but it is architected to rely heavily on the individual user’s computer to execute most of its functionality.
Visitors to the KoodibooK website can download the application and use its drag-and-drop interface to quickly select and arrange images in preconfigured templates. And, when finished with their design, customers can view an amazing 3-D image of their albums. “Windows Presentation Foundation gave us a lot of control in terms of creating the core layout and design functionality, rendering and scaling graphics, and animating effects,” says Godfrey. “This enables us to deliver a uniquely rich and highly interactive visual experience throughout the design process.”
Compelling Web Presentation
KoodibooK customers can view high-fidelity versions of their finished books on the company’s website through an interface enabled by Microsoft Silverlight, a browser plug-in and development platform for creating rich Internet applications. Viewers can engage intuitive controls to flip through pages and view images at full-screen resolution. They also can easily share their work with friends and family through popular social media outlets, blogs, mobile applications, and other media channels.
Benefits
 |
The seamless interoperability between the Windows Azure platform and other Microsoft development technologies meant that we could choose from a rich set of tools to optimize each part of the book-building process. |
 |
|
Richard Godfrey
CEO and Cofounder, KoodibooK |
|
|
By using the Windows Azure platform, together with Windows Presentation Foundation and Microsoft Silverlight, KoodibooK has successfully launched a unique book-publishing solution, which continues to enjoy enthusiastic adoption worldwide. Now, KoodibooK is well-positioned to cost-effectively scale its infrastructure to handle spikes in demand while only paying for the resources it needs at any given time. Moreover, the company can capitalize on its investment in familiar, interoperable technology to rapidly innovate its flagship product for the future.
Rapid, Cost-Effective Development
KoodibooK found that the architecture model of Windows Azure was ideally suited to its limited resources. “As a startup with just a handful of employees, we simply couldn’t allocate a lot of time or budget to building and managing the infrastructure for the solution ourselves,” says Godfrey. “Setting up and configuring services to run in Windows Azure is so straightforward.”
Success-Based, Borderless Scalability
Even the most thorough market analysis and sales modeling cannot always predict the evolution of a new product’s success. “As with any new service that taps into the world of social media, there’s no telling when or in what geographic regions our product might skyrocket in popularity,” says Godfrey. “Windows Azure gives us massive scalability to meet potential spikes in demand worldwide, so we’ll be able to make the most of growth opportunities, while maximizing our cash flow as we expand.”
Agility to Pursue Continuous Innovation
The KoodibooK application relies on interoperability between the Windows Azure platform and other Microsoft technologies, including Windows Presentation Foundation and Microsoft Silverlight. “We’ve been able to reuse code from the client application to optimize server-side components,” says Godfrey. “This means we can quickly develop and deploy new functionality that works throughout all of the different parts of the solution. We’ve been able to roll out product improvements on a consistent basis, which is a critical part of our growth strategy.”
Windows Azure Platform
The Windows Azure platform provides an excellent foundation for expanding online product and service offerings. The main components include:
Windows Azure. Windows Azure is the development, service hosting, and service management environment for the Windows Azure platform. It provides developers with on-demand compute, storage, and bandwidth, and a content distribution network to host, scale, and manage web applications through Microsoft data centers.
Microsoft SQL Azure. Microsoft SQL Azure offers the first cloud-based relational and self-managed database service built on Microsoft SQL Server 2008 technologies.
Windows Azure AppFabric. With Windows Azure AppFabric, developers can build and manage applications more easily both on-premises and in the cloud.
AppFabric Service Bus connects services and applications across network boundaries to help developers build distributed applications.
AppFabric Access Control provides federated, claims-based access control for REST web services.
Microsoft "Dallas." Developers and information workers can use the new service code-named Dallas to easily discover, purchase, and manage premium data subscriptions in the Windows Azure platform.
To learn more about the Windows Azure platform, visit:
www.windowsazure.com
For More Information
For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. Customers in the United States and Canada who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to:
www.microsoft.com
For more information about iPrinciples products and services, call (44) 1225 436192 or visit the website at:
www.iprinciples.com
For more information about KoodibooK products and services, call (44) 1225 436260 or visit the website at:
www.koodibook.com
Additional Resources:
Training: Channel9 Windows Azure Training Course
Download: Windows Azure Training Kit
Download: Windows Azure SDK
White paper: Security Best Practices for Developing on the Windows Azure Platform