ASPNETWorld.com
Search this Site powered by Google
Home | About Us | Blog | Link to Us | Contact Us  Shop at Our ASP.NET Store!

Powered by ASP.NET

Book Review: ASP.NET 3.5 Social Networking

ASP.NET 3.5 Social Networking

The release of the book ASP.NET 3.5 Social Networking by Andrew Siemer comes at a time when social networking is fast gaining popularity and is gradually becoming a way of life. For the ambitious technopreneurs, there is the impulse to develop “the next Facebook” or at least a niche alternative to it. So how do we build one? Building a social networking site is not as trivial as it seems. Not only there are complex technical issues to contend with but there are also serious social and legal issues to consider. Nevertheless, the book tackles the technical side of things.

The 580-page book provides a reference solution in building an enterprise-grade real-world social networking site using ASP.NET 3.5. It comes in both paperback and e-book formats but I would recommend getting the paperback for better reading experience.

There are 13 chapters in the book. The appendices are not part of the actual book, but are available as separate PDF downloads from the publisher’s site. To comfortably survive through the chapters of this book, one needs experience in ASP.NET 3.5, C#, SQL Server 2005/2008, and Visual Studio 2008. Now, let’s see what each chapter of the book has to offer:

Chapter 1 gives a nice introduction to social networking; it discusses the common features that are required for a social networking site. It is here that the author introduces Fisharoo — a niche community site that will be the basis of discussion in the book.

Chapter 2 guides readers on creating an enterprise framework to handle the needs of most web applications. It discusses design patterns (e.g. Model-View-Presenter pattern, factory pattern using StructureMap, and repository pattern using LINQ to SQL), best practices, and certain tools to make things easier. It also covers error handling and logging.

Chapter 3 covers the common features that are related to user accounts—which includes user registration, authentication, permissions, and password security. There is also discussion on some basic tools like password reminders, account administration, and CAPTCHA. It should be noted that the book has chosen to explore a custom way to handle users rather that to use the built-in ASP.NET membership controls.

Chapter 4 covers the creation of a user’s profile and an avatar in a manner that is flexible enough for all systems to use. It also covers the implementation of privacy controls for user profile information. A custom approach is used in the implementation of user profiles as opposed to using the built-in ASP.NET profile APIs.

Chapter 5 discusses the implementation of friends, how to search for them, finding them in the site's listings, and importing contacts (e.g. from Outlook) into the site to find friends.

Chapter 6 covers the creation of an entire messaging system—much like Hotmail or Gmail. It also touches on how to implement the Xinha WYSIWYG editor in a way that can be re-used easily across the site for rich-text inputs.

Chapter 7 covers details on how to build a media gallery that will allow hosting of video, photos, resumes, or any number of physical files. It also addresses the issue of multi-file uploads—through the custom implementation of a Flash file uploader.

Chapter 8 discusses the creation of a blogging module and how to add friendly URLs to blog posts.

Chapter 9 discusses the creation of the core features of a message board—categories, forums, threads, and posts. In addition to these features, the chapter also implements friendly URLs to help make the content more SEO-friendly. It also covers integrating the message board section with an alert service.

Chapter 10 covers the concept of Groups. It deals with how groups can be used to bring many different systems (such as blogs, forums, and alerts) together in a way to start creation of sub-communities.

Chapter 11 focuses on building the tagging, rating and commenting controls to allow our users to express their opinions about various content areas of our site.

Chapter 12 focuses on Moderation—a means to manage community provided content using a very simple flagging tool. It also covers methods such as Gagging to deal with habitual rule breakers. Finally, it explores the issues of cross-site scripting (XSS) and measures that can be taken to address it.

Chapter 13 discusses some concepts for scaling up the application. Areas discussed include database optimization, web farming, caching using MemCached.NET, searching of indexed data using Lucene.NET, and email queuing concepts.

I like the fact that there are so many useful real-world techniques and best practices discussed in this book that some of the concepts learnt can be applied in other application domains. To cater to certain complex real-world requirements, the book makes no qualms in straying away from using standard .NET APIs; instead it opts for more flexible self-built APIs, and third-party open-source libraries and tools.

I also like the fact that the book approaches the subject of development in an end-to-end manner; apart from the architectural and coding aspects covered by the book chapters, there is even guidance on setting up version control, unit tests, and automating builds and testing processes—all of which can be found in the downloadable appendices.

Be forewarned though; this book is “heavy”. Depending on one’s prior development experience, some of the materials and source code may take time to step through or digest.

If you’re an ASP.NET and C# developer building an enterprise-grade social networking site, then this is the book for you!

Jason Ong
- February 2009

ASP.NET 3.5 Social Networking
Author: Andrew Siemer
Publisher: Packt Publishing
ISBN: 1847194788

Related Resources

Add FavoritesAdd to favorites | PrintPrintable page

Home | About Us | Link to Us | Contact Us
Privacy Statement © 2004-2010 ASPNETWorld.com