Project Summary:
This project was developed from scratch by Faichi Solutions Pvt. Ltd.
The idea of building a social network for senior citizens was conceptualized by our client, Zlife Systems Pvt. Ltd, and supported by one of the well-known construction groups of India, Paranjape Schemes Constructions Ltd. In India alone, there are currently 98 million people who are aged 60+, and that number is expected to rise to around 173 million by 2026, or 12.6% of the Indian population. With these numbers in mind, our client wanted to build a dedicated social networking platform that focuses on the holistic living needs of senior citizens.
Together with our client, we chose Drupal 7.23 as the open source technology to successfully build Sentizens.com.
We used:
• Drupal Commons 3 for prebuilt applications
• Drupal modules like Panels Ajax tabs to show events
• Drupal modules Memcache & XHPr and increased RAM to handle more requests
• Developed & contributed new Drupal modules for customized features.
We partnered with our client from conceptualization to deployment. We are currently scaling up the business model through phase wise development, ongoing support & Mobile App conceptualization.
We considered various other platforms like Wordpress and Jive. Because of the scalability, flexibility and time-to market required for the project, we chose Drupal 7.23 for this project. Drupal's great strength is in its powerful API ability to customize and overwrite anything. In addition to all this, the modules gave us the ability to build most (if not all of) the site in a very short time. We needed all social networking basic features like Wall, Events and Groups which made us more inclined not only towards Drupal but to use an out of the box solution (Distribution) build over Drupal, so we used Drupal Commons. Drupal Commons had most of the functionality required, though we built a number of custom functionalities and contributed some modules back to the community. That's the awesomeness of Drupal. We already knew that it would be a project in which we might need to add more and more new features, services etc. Thus, Drupal made an excellent choice considering its superb extensibility.
Goals:
There are currently 39 million people aged 55 and older using Facebook, Twitter, and Skype, making them the fastest growing age demographic on these sites. Unfortunately, none of the current social networking sites cater to specific needs of senior citizens. The major requirement was to develop a social platform for senior citizens where they can share, collaborate, learn and avail variety of one stop services with a focus on holistic living.
Requirements:
Sentizens.com is an eminent social networking platform for enabling communication between seniors. Our target audience was not today's super-techie youngsters, so instead we needed to build an easy to use product to fulfill the needs of those who have been hiding from world wide web, thinking about complexities of operating laptops and computers over web.
The idea was to get most of things useful for seniors citizens on one website and present it to them in an easy and intuitive way-- even for technically unsavvy seniors. We needed a flexible design to support various gadget, that we could quickly iterate through and modify in response to user feedback. We also needed to implement a highly simple and pluggable interface, a painstaking design, and well-tuned performance, and all while meeting strict deadlines.
Some of the user needs to be addressed through this platform:
• Social: Sharing memories, posts, photos & thoughts. Engage in Groups; connect with family members in India and abroad.
• Health: Articles & Classes on yoga & fitness. Contacts of doctors, specialists & emergency services
• Hobbies: Articles, Classes and Groups of user interest
• Travel: Articles & Services on Travel destinations. Reminders for travel dates & document information
• Finance: Articles & Services on financial services. Reminders for payments & documents
• Spiritual: Articles, Groups & Camps info on wellness program
Engagement Overview: Development
• Time to Market was of essence. In order to speed things up we used Drupal Commons 3 for pre-built applications and adopted Drupal modules like Panels Ajax tabs to show current and upcoming events
• Performance of the site was critical due to the anticipated huge traffic flow on the site. We used Drupal modules Memcache & XHPr and increased RAM to handle more requests. The Faichi team developed new Drupal modules for customized features like Advance clock to show clocks of different time zones & Multiple Skype plugin to display contacts and their user status
• Team Size: Faichi deployed a dedicated team of designers, developers, QA & Project manager
• We used Agile/Scrum Methodology for faster development, better collaboration and quick delivery
QA Systems and Processes
• Entire site development from conceptualization to deployment
• System Testing including customer facing defects
• Bug logging in Zilicus (project management tool)
• Bug verification of resolved defects
• Regression testing around the resolved threads
• Mobile testing, Load & Performance testing, Responsive Testing on various platforms & Browsers including IE9, 10, Chrome, FF on Windows7 & Mac Safari.
• Test cases creation, Test cases Execution, Issues Logs in Zilicus
• Load & Performance Testing: Using SOASTA (Load & Performance testing tool).
Project Management Approach
For this project, we applied lean project management techniques in combination with Agile software development methodology. The whole product was split into multiple modules / features to make it a multi-release project / product. At the end of every module / feature, a working demo of the product was scheduled with stakeholders including the client to ensure that there are no gaps in the requirements and the product being developed. This helped to avoid last minute surprises which could have caused major rework at later stage.
Features//Modules for Multi releases:
First major release
The client wanted us to get the registration system in-place with articles for new users to read and as a demonstration how the product was going to function. He wished to see users’ responses by demoing the project at a show he hosted for his building and architecture firm. The registration system consisted of a multi-step form used to gather information about the user. We used profiles2, panels, ctools plugins, and features to build these pages. We also added the services section which was used to give new user an overview of what website is about. In this phase the product was already early released with pending section of website as "coming soon".
Modules used:
• Features - We made extensive use of features for exporting database configurations to code. This was very helpful in coherent development and maintaining code flow (ex. from dev to test to stage servers) without database replacements.
• Ctools and Panels - We wrote various ctools plugins, and used extensively the exportable feature of panel pages. Configurable ctools plugins formed the backbone of the website. Ctools Page manager was invaluable when it came to quickly building complex layouts.
• Profiles 2 - We decided to go with an out-of-the-box module that could build user profiles with unique or custom fields.
Second major release
The second release focused on the addition of the user wall and posting features.
Modules used:
• Statuses (Social Micro blog) - This module provides status updates / micro blogs like Facebook's Wall.
• Facebook-style Micro publisher - To attach any kind of media (links, images, video, etc.) to statuses.
We also added events with this release, and included an Organic Groups Drupal module which we used to build the "Communities section."
Third major release
In the third release we implemented a community functionality that allows the users to interact with groups. We also added events, posts, photos and other sharing options to the project, making it a full-fledged social product.
Meanwhile, we received user input that led us to upgrade the posting mechanism for groups. To use a simplified "modal forms" we added modal windows functionality to our forms, making it easier for our users to choose between status posts, photo posts, and so on. The change also had a positive impact on the performance of the website. We also added "Memcache" and "APC" to enhance our site performance in this phase.
Modules used:
• Organic Groups - Module used form communities and all functionality provided by community.
• Panel Ajax Tabs - This was used in various sections of the website for example building today's, upcoming and city events tab by right side bar.
• Memcache API and Integration - Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load
We also created a staging server that the development team used to publish the latest features, changes, fixes for hands-on trials by the client after the sprint demo; this helped us to get early buy-in from the client on the product being developed. These techniques helped us a lot to control the potential rework, gaps in requirements and we could focus on value addition instead of rework and changes. For version control we used GIT and using GITHUB forking system hosted on Rackspace servers.
The Outcome
After an accelerated journey of requirement gathering, development, and testing, a highly interactive and user friendly social networking platform for senior citizens came to life.
It offers essential features of popular social websites including posting, sharing, liking and joining groups. Besides this, Sentizens offers several innovative features which are designed and developed exclusively for senior people like:
• Login using existing accounts like Facebook
• Option of increasing font size for the better readability.
• Clean uncluttered UI with space to enable larger font
• Event reminders as default setting at one hour before the event, if they forget to set reminders
• Skype integration to connect directly with their loved ones from the application itself.
• Clocks of different time zones worldwide
• My Wallet: To store important/emergency contacts as well as reminders for crucial document information like passport & bill payments
• Specially curated articles on health, finance, travel, hobbies and spirituality
• Services available in proximity to their society & their addresses & contacts stored in ‘My essentials’ list e.g. plumber, dairy, shopping malls, movie theaters, restaurants & much more
The website is Responsive for iPad. In the next phase we are working on Sentizens Mobile App for iOS & Android.
Technical specifications
We used Commons (commons-7.x-3.3) over Drupal 7.23 for its out of the box functionality for features like a Wall, Groups and Events. The Organic Groups(OG) enable users to create and manage their own groups. Adopted Panels Ajax tabs to show today’s and upcoming events and Advance clock to show clocks of different time zones.
Advance Clock
A module to provide advance functionality over Drupal's basic clock such as: Multiple clocks (with different time zones) per user, Digital/Analog clock, provides Block and Panel Plugin pane, various configurable options.
Patch in Address Field [Indian states list]
Client: Zlife Systems Pvt. Ltd.
Other Faichi team members:
Rahul Sudame: Head of Engineering
Kedar Aphale: Project Manager
Parul Ahuja: QA
Nupur Lohokare (Q.A.)
Comments
Hi great looking site
I'm looking at building something similar here in South Africa, but I'm concerned with Drupla handling the volumes. Can you tell me how many people are registered on the site at this point? And have you had any performance problems?
Thanks
Rick
Drupal was built with heavy
Drupal was built with heavy volumes in mind. However, as a rule of thumb, any script/application/CMS (even Drupal) will only run as fast as the hardware it's hosted on allows it to. If you have a dedicated server, there isn't much to worry about. And you can use memcached; to cut a long story story short, it substantially increases performance by reducing load on the database and ram. I have built intranets and social networking sites with D7 and have never had a problem given a decent dedicated server for the job.
Use right modules & appropriate server
There are PLENTY of high traffic sites built on Drupal. Drupal.org itself is built on drupal.
You need appropriate server, which can be a shared, VPS or Ded according to your needs of 'high' traffic - the server needs to have features necessary for drupal, and,on your side you can use certain 'cache' modules.
How your site does also depends on the number of modules and blocks you use. For Sentizens, performance of the site was critical due to the anticipated huge traffic flow on the site. We used Drupal modules Memcache & XHPr and increased RAM to handle more requests.
If your server is already optimized and you are fairly conversant,social networking sites can be built that gets huge traffic.
Though we cannot share the exact number of site users due to NDA signed, I can tell you the site is seeing huge traffic and handling it pretty smoothly.
Our company Faichi Solutions holds expertise in making Drupal sites that foresee huge customer volumes.
Performance
Great job with Drupal!
Can you give some info of the current user load / server configuration to support that load?
It would be nice to see a performance study done on your site to present the real world Drupal behavior.
Memcache & XHPr and increased RAM
As mentioned earlier, Use right modules & appropriate server, we used Drupal modules like Memcache & XHPr and increased RAM to handle more requests. We used Amazon EC2 for server configuration to make web-scale computing easier.
Thanks, nice case study write
Thanks, nice case study write up and project.
Good job, congratulations!
Good job, congratulations!
Just a curiosity: you said you used Drupal 7.23 and the modules "Statuses" and "Facebook-style Micropublisher" but fbsmp for D7 is still unstable and quite buggy, how did you manage the problem?
fbsmp is working fine
We are able to use fbsmp and Statuses successfully and its working fine. We followed the steps mentioned in the readme file for configuration.
So you use panels without any
So you use panels without any problem?
I thought it was not advised to use panels (or display suite + context) for sites with huge trafic?
panels does not affect adversely
Yes, we are able to use panels without any issue. In fact we have been using it for several clients who have multilingual sites and get huge traffic.
Nice Job!
Nice Job!
I'm curious have you implemented a 'retweet' or 'Like' type functionality into the site? How do you get other user's content posted to your own wall?
Thanks,
Content Type for Comment posts
We don't have retweet but Like functionality is implemented using Flags module. We create Content Type post and provide other user permission to add content on friend's wall. We also use OG model for group posting.
Great work
I would like to know how the profile sections are created and made visible as different tabs. For e.g. basic, personal, hobbies etc.
managing profile sections
We manage this profile tabs by using profiles2 module. We actually create three profiles types "basic, personal, hobbies" and manage them in tabs with proper user permissions.
Awesome
Hello Sanjay,
you've developed an awesome website.
Thanks for the interesting info about your project and
for sharing the concept about the right balance of software modules and server resources.
Regards
Not impressed, sorry
Although a nice read, this is a very poorly made site, I'm really sorry about this post, there's some cool stuff under the hood, but resize the browser on the frontpage.. Featured post? Really :/
Have you ever seen the first
Have you ever seen the first iterations of Twitter and Facebook?
If you are not embarrassed by the first version of your product, you’ve launched too late. - Reid Hoffman, LinkedIn founder
Love continuous improvement
Thank you for your feedback. We know there is always scope for improvement. For the phase 1 version launch, the site is running pretty smoothly, already has huge number of users and handling traffic without any issues. As the target audience is senior citizens, the brief was to keep it simple and not too jazzy which we have kept in mind. We are launching a Sentizens Mobile app very soon with many new and cool features! Will love to get more suggestion from community for improvements.
Improvements that can be made!!
Site is struggling to be responsive !!
I checked http://sentizens.com/legal, which just has single content to display in the whole page. And it takes me 5-6 seconds to load the page
There are lots of room for front end performance optimization and improvement.
Site has around 57 HTTP requests
Javascript and CSS files are not concatenated nor minified!!
These are just few to mention!!
Re:Improvements that can be made!!
Hi prabeen,
For Javascript and CSS files are concatenated or minified, We are working on same issue as we face some problem with font resize module and clock module. If compress or minified the css files for sentizen then font resize functionality will not work properly, It disturbed the design. For world clock module if we compress js files then its not working on IE 9.
Sorry but I dont Like your site
I was very happy to found a Site which is working in drupal with a lot of features like facebook, but now I am in your site and It is very very slow, late a lot of time to change page... and I dont find anything interesting, I dont understand how to run. I dont find people
Maybe I am wrong
mwah
The site feels sluggish and seems 'dead' to me. There is no social feeling to the site, if you know what I mean. I like the tabs on the left, but I would implement ajax for the center content. Plus CSS should be corrected here and there.