I am new to look at the activity standard. When i search on google, I quickly find there has the http://activitystrea.ms/ and in the first page, it said: The Activity Streams format has already been adopted by BBC, Gnip, Google Buzz Gowalla, IBM, MySpace, Opera, Socialcast, Superfeedr, TypePad, Windows Live, YIID, and many others.
I am not quite sure if it is still live and any other activity standard that much more popular in industry?
macf
Over at Fashiolista we've opensourced our approach to building feed systems.
https://github.com/tschellenbach/Feedly
We also use the activity stream standard and we're quite happy with it. As far as I know there are no other standards which have become mainstream. I do think that most companies slightly deviate from the standards.
In addition have a look at this high scalability post were we explain some of the design decisions involved:
http://highscalability.com/blog/2013/10/28/design-decisions-for-scaling-your-high-traffic-feeds.html
This tutorial will help you setup a system like Pinterest's feed using Redis. It's quite easy to get started with.
To learn more about feed design I highly recommend reading some of the articles which we based Feedly on:
Yahoo Research Paper
Twitter 2013 Redis based, with fallback
Cassandra at Instagram
Etsy feed scaling
Facebook history
Django project, with good naming conventions. (But database only)
http://activitystrea.ms/specs/atom/1.0/ (actor, verb, object, target)
Quora post on best practises
Quora scaling a social network feed
Redis ruby example
FriendFeed approach
Thoonk setup
Twitter's Approach
Related
I'm a front-end designer/developer whose weapon of choice for the back-end is WordPress. Up to this point all of my projects involving WordPress were fairly basic and it has handled everything beautifully. I just landed a new client that wants some extra functionality built into his next project and I'm hoping some of you WordPress wizards can give me some good advice while I'm putting together the quote.
I'm trying to limit the need for any subcontracting for the back-end functionality, so my question is whether or not WordPress can handle the following (via plugins or light custom manipulation):
The idea behind the site is to be a community calendar based on location that Health Care providers can log in and post their events to, as well as participate in discussions, blogs and all the other WordPress goodness. The specific functionalities that I'm unsure of the best way to accomplish are:
Full featured calendar that members with access can add their own events to - must be searchable by date/type of event/location etc
Event generator module for members that integrates with calendar - includes upload field for images and forms for details event info
Interactive map to filter both of the above by location (I'm assuming this will need to be flash, but I'd rather find another solution if possible)
I know there are other solutions out there that may be more suited to this than WordPress (Drupal, custom build, etc) but if it's at all possible to tackle this as a one man show then I'm going to charge it head-on!
Stack Overflowers and fellow WordPress fans...your insight would be much appreciated. Thanks in advance for your time.
This graph grants your experience with your weapon of choice, but the results are still clear. You can still tackle this as a 1 man show, it will just take a bit of a learning curve to conquer the fundamentals of a CMS more suited to the task at hand. I'm sure plenty of WordPress affecionados will come along and strangle my reputation, but I've worked with both and have found that in terms of flexibility, WordPress is not king, and for the custom coding you are going to have to do (hope you have some PHP?), I feel that you will find it easier to integrate with another platform. This task will be difficult if not impossible to accomplish without writing code, even if there is a set of plugins that appear on the face to match your needs perfectly.
But anyway, since you probably don't really care that much about my opinion, for WordPress, your plugin options look like..
Calendar - Events Calendar
http://wordpress.org/extend/plugins/events-calendar/
The screenshots don't look terribly promising though.
Most plugins I have found are geared toward being administered from the admin panel, it may be difficult to provide a user interface to such plugins, and it does not look like the event calendar is an exception. An experienced developer should be able to hook into the event publishing code with relative ease, but it could be a frustrating experience for the inexperienced.
For interactive maps, the Google Maps API is very feature rich, and you should be able to adapt it to your suit your mapping needs, regardless of platform.
If you want all of your providers to have their own blog, etc, what was once the WordPress MU plugin, but is now core-bundled WordPress MS (multisite) is what you need.
This again may also prove rigid, and you may encounter difficulty trying to bend the iron of WordPress enabling all your multisite users to be able to post to a common community site. I've only built 2 platforms with MU, so I'm not positive about this.
To unapologetically reiterate my first point, what would be light custom code may turn impossibly frustrating using WordPress.
I like WordPress, and choose it often for my clients. I have never extended it to suit a larger project.
If you do decide to use it, I look forward to hopefully helping you with any questions you may have along the way, feel free to ask.
I am really curious to know how Google Buzz and Facebook implement their comment feature which is being updated instantly. is it similar to Google wave technology? are there any resources to learn that technology and implement it to our website?
Thanks !!
I work on the Google Buzz team, so hopefully I can give you a good answer for our side of the equation. I obviously won't go into any of the confidential backend stuff, but I'm happy to address the open standards we use and the open source projects involved.
Starting in the UI space, we use technologies like Closure and GWT to build rich, responsive user interfaces. We use a technology vaguely similar to what you see in the Google App Engine Channel API to push real-time updates to the users. GAE is a really good choice for real-time web applications right now.
On the API side of things, we try to use open standards wherever possible. We use the Atom syndication format to enable feed readers to consume Buzz content, and Pubsubhubbub to enable real-time pushes of the content. In fact, we use Pubsubhubbub for our activity firehose — it's possible to subscribe to the entire real-time stream of all updates that happen in Buzz. Needless to say, this sends a massive amount of traffic to your application. On the JSON side of the equation, we use Activity Streams, and we're actively working with the community to refine and improve that specification. Our Atom feeds include Activity Streams as well, but the focus there is on syndication. All our secured API endpoints for Buzz use the OAuth standard for authorization.
On the backend, I think the only thing we're willing to say publicly is that Protocol Buffers are pretty awesome.
The technology is called Real-time web (http://en.wikipedia.org/wiki/Real-time_web). You have many application models to achieve real-time and one of them is Comet (http://en.wikipedia.org/wiki/Comet_%28programming%29). Good server to use it in your implementation is APE (http://www.ape-project.org/). It supports many common javascript frameworks. More you can check in provided links.
Increasingly, I have noticed the number of Content Management Systems in use. I have some familiarity with SiteCore. I have read some literature on Umbraco. I only just got wind of Orchard the other day. I have only heard positive feedback about EPiServer. I am soon to move into a role that uses it.
Do these differ vastly in features and price? What has led you to choose one (or several) over the others?
EDIT
I did a brief review of so-called free CMSs here: On Free Microsoft Compatible Content Management Systems
Reasons I ditched Orchard when developing a 50k page website:
The Orchard CMS import tool is simply too slow. It would only accept
small batches at a time. Initially, it took eight minutes to import
1000 records. So, working on that principle I expected that it could
take seven hours to import all the records. Unfortunately, I started
to receive performance issues as more records were inserted into the
database. I even started to reduce the batch size, which helped only
temporarily in the early stages. (See Saying no to Orchard)
I can only comment mainly on Sitecore and a bit on Umbraco from my knowledge of others using it:
Sitecore is an enterprise level web CMS with an "enterprise price tag." It's very extensible, has a lot of developer/community support, and is very developer friendly. The structure of content is based on a tree of nodes with parent-children relationships. Sitecore is well known in the WCM community as a leader in content management and is rated very well by companies sch as Forrester Research, etc.
Based on my previous research and conversations with friends, Umbraco is very similar to Sitecore. It has a lower price compared to Sitecore but its not a complete rip off. Umbraco is also built on ASP.NET like Sitecore.
Here's a three-part series on Sitecore vs. Umbraco from a developer.
Of the ones you mention above, I have only used Umbraco and Sitecore to build with and am certified in both. I like the way they allow me to build systems that really work well for my customers. They both have a feel that they simply give you building blocks to create your masterpiece instead of "modules" of functionality plugged in that give you a blog, forum, etc. They make it really easy to share content throughout the site and create really nice admin experiences.
Umbraco's community is really great. They both struggle a little on the documentation side IMO, but Umbraco's videos really help and the community is quick to help. Also, if you're talking cost then its free (Umbraco) vs. quite expensive (Sitecore).
But the reality is that each developer has their own taste and the style of CMS they like to work with. Ultimately, its the team that has to build the site that really matters most when it comes to how each CMS performs for the end user.
In addition to the links above, here are a couple blog posts that may help you get a feel for the different systems:
Orchard & Umbraco - Introduction (part 1 of 4) - Aaron Powell
Sitecore vs. Umbraco Terminology
Good luck!
I mostly work with EPiServer and Sitecore, and I can tell you the difference in short:
Sitecore has broader architecture and more powerfull UI. CMS is deeply configurable and highly extensible, it has clever publishing and caching system, powerful search and page editor. But it doesn't provide much out of box and UI is pretty old, slow and hard to learn. So this will be a long journey until you understand it good and make a good support of all its features for editors.
EPiServer is easy, friendly to users and developers. It provides an essential bunch of features out of box, has easy UI and page editor, good drag-and-drop experience, easy personalization. It is code-first, distributed with NuGet, provides dependency injection for its services, out of box MVC support. But it's not so extensible and configurable, has pure search (without expensive EPiFind module) and generally lower-featured comparing to Sitecore. So it's good for small/middle websites, but can be an obstacle in complex solutions.
Both have similar tree-item concept, rich documentation, pure public module system and hard UI customization. Both expensive and not open source.
As I know, Umbraco is pretty similar to EPiServer and Sitecore, but free and open source. Of course you get less features, more bugs, not much docs and no free support.
Orchard is really different comparing to other three CMS. It is module-based like Wordpress: you use standard or public modules and themes, instead of writing the whole website from scratch. You create your own themes and modules to customize the website and CMS. So entire CMS is highly extensible and provides a lot of free community modules. But in the same time you lose control and learning curve is much longer. Orchard is free and open-source, entirely MVC-based, UI and API are well done, but it can be hard for both developers and editors to understand it.
Wordpress vs Episerver:
http://tedgustaf.com/blog/2011/2/comparison-of-episerver-and-wordpress/
OK so the guy who wrote that is an Episerver consultant but it's interesting and balanced.
All the different web content management systems have different strengths. So which one is best for you depends a lot on what kind of sites you create, what kind of budget you have and what you think matters the most in a CMS.
For example, Orchard and SiteCore are VERY different systems.
I'm a bit biased as I work there, but I believe that Webnodes CMS have several important advantages over the systems you mention.
Keywords: Relations between content, actual classes for the different content types, custom LINQ provider for all data access, expose all content as an OData endpoint etc.
Microsoft used our CMS to demonstrate OData at Mix11. Video from Mix 11
What are the messaging systems available?
I want to build a messaging system like twitter.How to proceed towards it?
Voicemail is a very popular messaging system. You could setup a web app that allows you to record your voice and send it to all of your followers.
Email is another very popular messaging system. Though I am not sure that it has staying power... its probably just some web2.0 craze.
Here's a Webinar tutorial: Building Twitter with Grails in 40 Minutes
Status.net is a good one. Also Yammer (more aimed at corporate environment). I think Salesforce just came up with one (http://www.salesforce.com/chatter/)
They all do the same as Twitter, just a little differently:
Status.Net is open source (or hosted) so you can run your own twitter.
Yammer is a paid for version that only people in your company can access.
Chatter is tied in with Salesforce.
If you're going to go down this route, you need to find that niche in the microblogging market that will give you an edge. I disagree with Matt Ellen in that I don't think this niche has been filled yet. Look at Facebook. It came into a world where MySpace was king. Its niche was exclusivity - you had to be a member of a college to join in the very beginning.
So, like with any new idea that is there to take on some well-established entity, find what makes it different and build on it.
I'm looking for a presentation, PDF, blog post, or whitepaper discussing the technical details of how to filter down and display massive amounts of information for individual users in an intelligent (possibly machine learning) kind of way. I've had coworkers hear presentations on the Facebook news feed but I can't find anything published anywhere that goes into the dirty details. Searches seem to just turn up the controversy of the system. Maybe I'm not searching for the right keywords...
#AlexCuse I'm trying to build something similar to Facebook's system. I have large amounts of data and I need to filter it down to something manageable to present to the user. I cannot use another website due to the scale of what I've got to work at. Also I just want a technical discussion of how to implement it, not examples of people who have an implementation.
Are you looking for something along the lines of distributed pub/sub with content based filtering? If so, you may want to look into Siena and some of the associated papers such as Design and Evaluation of a Wide-Area Event Notification Service