As we can see from the rise of social networking sites like Facebook, LinkedIn, MySpace, the Yahoo! Application Platform (YAP), and hundreds of others around the world, there’s a major shift taking place in how humans interact with the Web and how the Web in turn interacts with them. The static web is an artifact of the past, having been replaced by the idea that sites or applications should, as a standard practice, provide their users with an experience customized to their preferences. The Internet has quickly become a vast community of people who find relevance in their online social experiences and interactions. Just as with our real lives, our online lives contain different communication buckets, such as interacting with friends or networking with other professionals. Humans instinctively build these categories of social engagement, deriving value from the people with whom they choose to interact in a particular space.
This is where application development on the social web comes in. Social application developers can help drive the relevance of the interaction that a user chooses to have on the Web. Traditionally, developers have had to build their product, launch it, and then try to adopt users. The social web has given developers the ability to increase the adoption rates of their applications by starting in a space that already has a rich social graph and user base. This space is the social application container.
In this chapter, we will explore a number of topics and attempt to answer the following questions:
What are social application containers and their features?
What are the differences between open and proprietary standards?
What are the different types of application development environments, and what are the security issues to be aware of?
What does the user interface of an application consist of?
What are application permissions, and what are they used for?
What are some real-world examples of mistakes you should avoid making when building your applications?
What are some real-world application models that have worked in the past?
What are some quick tips that you can use to get started?
This book includes numerous sample gadgets, applications, and programs. For your convenience, I’ve added all the major code examples to the following Github repository so that you can easily integrate and deploy them: https://github.com/jcleblanc/programming-social-applications.