It is known that Server is extremely critical in web application.  Imagine you are a huge business and your server down all of the sudden because of increasing number of users, you are very likely to lose huge money as well as your reputation. Server is becoming a very difficult issue when it comes to social media sites, because these sites are more likely to have a burst of increasing user due to sound viral loop in very short time.

 

Amazon Elastic Compute Cloud (Amazon EC2) turns out to be a good solution since it is elastic. It allows us to quickly scale capacity, both up and down, as your computing requirements change.

There are some good parts that I find:

1)       Elastic, we can increase or decrease capacity within minutes.

2)       It works in conjunction with Amazon Simple Storage Service (Amazon S3), Amazon Relational Database Service (Amazon RDS), Amazon SimpleDB and Amazon Simple Queue Service (Amazon SQS). It can also use Amazon web services.

3)       It is to some extent secure since it is protected by Amazon firewall

4)       It is not hard to run Drupal or WordPress on EC2.

Drupal :  http://tag1consulting.com/Drupal_and_Amazon_EC2_Quick_Start

WordPress: http://articles.sitepoint.com/article/wordpress-in-the-cloud-with-ec2-and-wpi

5)       Price is good.

 

 

Thomas(Xianglai) Kong

Advertisements

During our first meeting with Gina, she asked us: “What are you guys focused on, building a technological solution, or building a community?”

In our minds, we were focused on building a technological solution. We believed that if we developed a better commenting platform (one with real identities, insight points, multiple conversations, individual profiles, etc.), the community would come.

This is why we discounted Gina’s recommendation: “Why don’t you guys forget about the features and focus on building a community using Ning. Attracting the right community doesn’t require fancy features.”

We ignored Gina’s advice because we were excited about the platform we had in mind (and Ning would not allow us to develop that platform). We believed that if we built the platform, users would come. However, we were wrong.

I believe we should have focused on attracting the right community first (individuals interested in having high-level conversations). We should have picked a specific news topic, and built the “right” community around that news topic. Then we could have focused on the right technology, based on what that community wanted.

Then we could have built other communities around other news topics, and expanded from there.

I believe this project was a tremendous learning experience, one that will likely save me a lot of wasted energy on future ventures.

-Dan

I believe we were focusing on the wrong things this quarter. Two weeks into class, our team had a basic agreement on our minimum viable product (MVP)

  • Users use real identities
  • Users can share news articles
  • Users can discuss news articles on a comment page
  • Users can invite friends into these discussions

We looked at several technologies that could be used to build the MVP

  • Ning: (-) Didn’t support our feature for sharing news articles. (-) It also didn’t allow us to customize the registration process.
  • WordPress: (+) Allowed us to easily build the features for the MVP. (-) Locked us in for future customization
  • Drupal: (+) Had significant experience using Drupal (+) More customizable (-) Takes longer to get to MVP
  • Ruby on Rails: (-) Had little experience (+) More customizable (-) Takes way too long to realize MVP

We picked Drupal, obviously with some bias due to our experiences. From a technology perspective, Drupal was a good choice. However, we were stuck on our MVP. As we agreed from the start, we wanted to provide a platform for having intelligent conversations about news. The features we picked for our MVP were just one way to accomplish these goals.

Our goal should have been to focus on testing the community, not the features we thought were needed for building a community. The features provided by WordPress, Ning, and many other systems were good enough for commenting. The real problem was that the community wasn’t.

If I were to work on this project again, I would have done the following things differently:

  • Install a base installation of WordPress and install the Facebook plugin.
  • Install analytics.
  • Brainstorm different potential niches within news consumers based on topic and persona. Examples could have included suburban parents interested in education, journalists looking to discuss current events, or bloggers who blog about global events.
  • Try to run experiments on these different niches and see which niches gain traction.
  • Talk to these users to get feedback.
  • Iterate!

To summarize what I learned.

  • Don’t obsess over features. Usually, the existing technology is good enough to get the job done.
  • Obsess over your users. Who are they? How can we keep them engaged? You can’t answer these questions with features.

 

Our site is running Google Analytics and is integrated with CrazyEgg, our mentor’s analytics product. We know where users are coming from, where they are clicking, and generally what they are doing. We also know who is inviting who to the site.

Unfortunately, our viral loop is not working. We posted links and invited our friends to the discussion. Each time, only a couple people would join the discussion to post a comment. The conversations seemed one way. People would post a comment and leave. Furthermore, only a few people decided to invite friends into a conversation. Basically, friends joined the conversation but friends of friends didn’t. We have a few theories for why this didn’t happen:

  • Empty-room effect: Users didn’t feel compelled to come back because the conversations didn’t seem active.
  • Facebook notifications are not noticeable: Facebook notifications show up as a small red badge at the top of your Facebook page. Most users didn’t notice this and many didn’t even know notifications existed in Facebook.
  • Invite friends doesn’t target enough users: The invite friends feature allowed users to single out friends that they wanted to share an article to.

To solve the hard-to-notice Facebook notifications issue, I added a post to wall feature that lets users post their voci.us comment to their wall. To combat the empty room effect, we will try to create conversations that appear active.

Over a week ago, we had a minimum viable product. You could share articles, create discussions, and invite friends into these discussions. You could use your Facebook identity. Users stumbled through the site not sure what to do. No one invited his friends into a conversation. There were some issues with Facebook connect and not all users were able to properly login. Some people didn’t notice the comment link. Even more didn’t notice the link for replying to comments. I had put all my efforts into creating the features and no thought into the usability.

We tried to test virality but got caught on usability. In order for a website to be viral, it has to be very simple to use. It should flow from one step to the next and users should know what to do. This is why we have been focusing on usability this past week. We polished the interface and prompt users to perform the next step. Prior to this usability overhaul, some users weren’t even able to create a discussion, post a comment, or invite friends–even when asked to.

This week we will actually be able to test virality. When a user doesn’t invite friends to join a conversation, we will be more certain that it’s because he doesn’t care to, not because he doesn’t know how; or even because he doesn’t know about the feature.

-Venkat

Today we met with Zach Zimmerman, the editor-in-chief of the Stanford Daily. He seemed very excited about the product we are developing.

Here are some points he made:

-The Stanford Daily has been planning on getting rid of anonymity of comments. Anonymity definitely reduces the quality of comments.

-He believes the viral elements on our site will increase eyeballs to the Daily. “Stanford students would definitely invite their friends to join a conversation.”

Voci.us have 2 key viral elements:
1) When someone starts or joins a conversation, they can invite their friends. And those friends can invite their friends.
2) When someone makes a comment, they have the option of including that comment on their facebook wall.

He pointed out that not all users who arrive at a comment page through viral means would necessarily visit the Daily article before
commenting. So he made the following suggestion: “Whenever someone is prompted to enter a comment page (through viral means), the
corresponding news article page should open up simultaneously with the comment page. This will increase the chance that the article is
read, and will also require less effort by the user.” This was a great piece of advice.

-He said that although the Daily has a good sense of the age of their users (since most are college students), he would love to get more specific demographic data.

-Shared ad revenue was like icing on the cake for him. I made it clear that we want to share a significant portion of ad revenue with our news partners. When I emphasized ‘significant’ (I always emphasize the word so that news partners don’t think I’m taking about 5 percent. I want them to know we mean business), his response was “I don’t even think you need to give away that much. 15-20 percent would be plenty.”

-Towards the end of the meeting he asked me, “Would this cost anything for news sites?”, to which I responded that it would be 100 percent free. He said The Daily would like to be involved once our product was completely developed, and asked me to keep him updated.

-I also asked him how the paper was funded. They have 3 main funding sources:
1) Stanford gives them some money
2) Significant revenue comes from print advertising. Unlike the rest of news industry, print ads remain strong (due to students reading them on campus).
3) Small portion of revenue comes from web ads. They are looking for ways to expand this.

-This meeting was very promising. Clearly The Stanford Daily is different in many ways from non-school based news sites. However, many of his points apply to the news industry as a whole.

-Dan

Several days ago we got in touch with Allen Funk, the President and Publisher of the Daily Herald. Here are some main takeaways and quotes from his email:

-Comments on news site generate additional page views and make site more sticky (keeps visitors on the site longer).

-Not all of the smaller news sites have commenting systems. This is due either to technical reasons or because the news sites do not want to review/monitor the comments.

-“I don’t think many of us are collecting much demographic data. Your ability to provide at least a partial view of that would be very helpful.”

-Social media is the next big area for news organizations in terms of getting the news out. “If you provided an improved method for viral distribution of stories, that might be really good for us.”

-“Shared ad revenue is obviously a nice benefit. That would be great to offer as an additional outcome of the partnership. Besides the dollars, it might go a long ways towards defusing suspicion of your efforts among news organization executives.”

-“In conclusion, if you are trying to create a nationwide clearinghouse for news discussion and comments, it could be a really good idea.”

Yesterday I emailed him back to give him a more elaborate description of the product we are developing (including attachments of the mockups), and we are looking forward to his response.

This past Saturday our team met with the editor-in-chief of the Stanford Review (we also met with the former editor-in-chief and the web development editor earlier in the week). The meetings went well, and they are currently evaluating the possibility of a partnership with us. We will know their decision on Tuesday.

This week we will also be meeting with the editor-in-chief and web development editor of the Stanford daily.

-Dan

Although we test out our site and get feedback from users based on our function of site, we are considering to do some design for the site. In fact, web design is critical for the usability of the site along the working flow of the user function. People will have the first impression of our site by web design in less than 5 seconds. Therefore, simple and clean design is needed.

I looked for design theming template for news site and selected four with which the design style may be suitable for our site. The usual key part of web design is always in details including color, fonts and layout.

Design 1 I chose with blue as background and black as menu fonts with the fonts looks not formal. This design is suitable to convey to idea of freedom, easy-communication and relax.

Design 2 with color system in blue ( dark blue, light blue changed in grey scale), with Serif font is suitable to convey the idea of professional and high quality.

Design 3 with black as main color is used to convey the idea of telling truth and being serious.

Design 4 with white as main color is used to convey the idea of wide range, intenational.

Therefore, more discussions are needed in the team to determine which information we’d like to convey to users through web design.

Xianglai Kong

I was new to Drupal when I came to the team and work at the programming part of the site with Venkat. And I learnt quite a lot of Drupal during the process.

We decided to use Drupal 7 because Drupal 6 will be stopped support from the community. However the Drupal 7 is quite new and not all modules are incorporated well with the core, in fact, quite a lot of troubles came out when dealing with facebook modules for Drupal.

Regarding quite a lot of social networking function of our site by Drupal, unlike Buddypress for WordPress and JomSocial for Joomla, it seems that we have to build many functions from many modules and develop them in Drupal.

Compared with WordPress , based on the “loop”, Drupal is quite complex with contents organized by “notes” and event function implemented by “hooks”. It took me sometime to understand this idea of hooks, with the name convention which triggers events. For example, if there is some events happening with the user, functions like XXXX_user() will be called from a lot of related modules.

Facebook module is quite important in the site and it helps us to integrate site with facebook platform in order to promote the site. For registration we think and survey that using facebook connect, we can make sure to some extent that the user in our site will have some information in order to guarantee our discussion quality. Also the people who discuss on our site can invite friends from facebook so that our site can be reached out to more people. On the contrary, some actions on our site may also be posted on the facebook wall. These are all done by facebook for drupal module through facebook api, fbml, fbjs.

Facebook for drupal module is quite incomplete with Drupal 7. A lot of troubleshooting was carried out during development like Undefined index, Facebook API exception Error validating access token and etc. Some part of the module hooks are also only integrated with Drupal 6.

Xianglai

Updated Business Canvas

 

-Dan