Nouncer – Building Blocks for Real-Time Content Delivery

Nouncer LogoNouncer is getting ready for its alpha release this month. I have written before about what Nouncer was supposed to be, and how I started working on it. But like most early stage products, Nouncer has evolved and changed in order to offer a unique service and remain competitive. In the spirit of anti-stealth, this post aims to explain, as much as currently known, what Nouncer is and what it is about.

Nouncer bridges the gap between real-time delivery and information overload. While most services focus on building a messaging system, Nouncer offers a content delivery platform. Content: Real-time, quality, and as requested.

Nouncer is a web service enabling applications to offer real-time delivery of micro-content to their users. That content is textual and generally short, or links to other objects such as images and videos. Nouncer delivers content to users via email, IM, SMS, and other web services such as Twitter (via direct messages). It is not a replacement to services like Twitter or Pownce, as it focuses on content rather than conversation and interaction. Think of it as Google Groups meets Twitter meets Digg – served as an API.

To use Nouncer, developers make API calls to the Nouncer platform, which stores and delivers the content on their behalf. Content is delivered to users based on their subscription preferences. The platform does not offer any user interface. Instead, it counts on other developers to build applications that connect users to their data.

The platform allows developers to build applications with little to no need for any database access or heavy server load. Using the platform alone, developers can build fully-featured blogging sites, microblogs, event notification systems, and many other useful applications. In addition, Nouncer does not require developers to use all of its features, allowing them to pick and choose, and integrate it with their existing products and services.

What Nouncer will offers:

  • Channels – Content streams users subscribe to. Unlike other microblogging sites where each user has their default presence stream and some allow the creation of groups, Nouncer uses channels for both purposes. Each channel can have multiple owners and authors, with a flexible permissions system. The decision of how to partition content between multiple channels is up to the application developer. Channels store content items, and allow threaded comments on each item.
  • Users – Users are used to manage permissions and ownership of content items and channels. Each user has its own profile, containing its verified connections list (email address, IM, SMS, etc.). Users can subscribe to content based on filters, search criteria, or channels. Developers can choose to manage their own user base, or let Nouncer do the work. Nouncer allows developers to lock users to their own application, or free their data to be accessible by other Nouncer-enabled applications.
  • Quality Systems – An important part of the platform is the ability to rate users, channels, and individual content items. Similar to feedback on eBay and ratings on Digg, Nouncer offers methods to rate objects and use the quality information for other activities such as subscriptions. This opens the door for applications to offer notifications of content only when it reaches a certain quality level or initial distribution size.
  • Multi-Format Content – Different devices can handle different content formats. While email allows full text, SMS has a very short length limit. Nouncer allows publishers to publish once, and deliver different formats based on the capabilities of the delivery media. Publisher can manually create different lengths such as: headline, abstracts, and full text, or let Nouncer automatically generate the short versions.
  • Smart-Tags – Nouncer offers structured metadata. Each channel can define its own set of named attributes which operate similar to tags, but allow more accurate filters and subscriptions. For example, a channel with rental listings can define a zip code attribute or price range attribute. Developers can choose how much of this functionality to expose to their users and how much to implement internally.
  • Data Store – Nouncer allows developers to store custom, application-specific information per user or channel for their own internal usage. This allows new services to emerge without the need for any database or data store. By keeping the configuration information associated with the platform objects, they can be retrieved as part of regular API calls.
  • Connectivity Profile – Nouncer includes connectivity to most leading Instant Messaging vendors, Email, SMS, and web services. It allows users to manage their connectivity profile, add and confirm connections, and define a delivery profile based on their own needs. For example, users can choose how content will be delivered at different times of day, or based on the channel or type of content. Developers can use the connectivity profile to build services that require a unified messaging experience to deliver content to users regardless of where they are.

On the technology side:

  • An HTTP-REST API with support for XML, JSON, and other representation formats.
  • OpenID 2.0 as the identity verification interface, both public and private. Nouncer uses OpenID to delegate the identity management component off to other services. Developers can choose to allow public OpenID providers, or limit access to their own identity infrastructure (via a private OpenID interface).
  • OAuth Core 1.0 with upcoming discovery and token attributes.
  • Custom C++ web platform optimized for scaling of content distribution.
  • MySQL with custom object-based elastic cache system for performance.

A few ideas of what can be done with Nouncer:

  • Sites with events can allow users to request reminders via SMS or IM, without having to implement the required connectivity.
  • Bloggers can offer users to subscribe to their blog via other means than just RSS, and get notified in real-time as they update their content. In the future, blog readers will be able to comment on new blog posts from their mobile devices.
  • Developers can build new blogging services with very little backend work, focusing on the user experience and design of their site.

Many people ask how is Nouncer different from Twitter as they both offer an API and deliver content in real-time. There are many differences, and Nouncer does not aim to replace or compete with Twitter, but provide a layer above. It actually offers Twitter as a great delivery option and it’s expected to be a very popular choice for many users. Here are some ways in which the two services differ:

  • Content Focused – Nouncer is focused on content rather than status and social interaction. While Twitter can be used for any content that can fit in 140 characters, at its core it is a messaging system between people. Twitter doesn’t offer multi-content formats or metadata. Everything has to be part of the actual message which works very well for mobile devices. Nouncer offers tools specifically designed to increase the quality of content being delivered. It allows ways to partition content, categorize it, and set specific rules on how it will be delivered.
  • White Label – Nouncer does not require sites to send their users elsewhere in order to receive real-time updates. By focusing on the API alone, Nouncer’s only customers are developers, and the platform aims to remain in the back, even anonymously, and enable functionality that would otherwise be very expensive for sites to offer. Users don’t need to go and sign up for another account on another service.
  • From a technology standpoint, Nouncer was designed to be easy to deploy and require minimal maintenance. This will allow sites to have their own deployment of the platform, and even integrate it with other services that cannot depend on hosted internet services. At the enterprise level, building solutions based on Twitter will face potential compliance issues, as the data will be stored by a third entity. However, Nouncer will allow companies to keep their own distribution platform, while still allowing employees to receive content via their internet services, such as Twitter.

As for the business plan, it is too soon to tell. Much has been said about Twitter’s business plan and any other service in the space will immediately raise the same question. Nouncer has many options, for example:

  • Giving some API calls for free while other API calls for a fee. This is something that is much more practical for a service like Nouncer, given that Nouncer works with a much smaller customer base of professional developers offering their own services.
  • Offer a free hosted service while charging a licensing fee for the platform in a self-managed deployment. This is a unique capability of Nouncer. It has the technology to scale and the small footprint to save operating costs. Nouncer would be an ideal fit for developing micro-content and new messaging solutions for the enterprise environment.
  • Open Source the Nouncer platform and sell customization services and support. This is not a very viable option at this point, mostly because the system has to mature significantly before it becomes attractive in its source-code form.
  • And of course there is always the exit strategy of Nouncer being acquired by another company for its scalable delivery platform. Much of the internal complexity of the system is attributed to its ability to scale. Every server component can run multiple instances using a dynamic registration system, and data management is handled using an elastic architecture that grows with need.

So what’s next? January will be spent getting the system deployed and running with as much functionality as possible. The goal is to find a few willing developers to play with the platform and try it out.

Like any early stage technology, things are expected to break, but early adopters will have the benefit of helping to shape the service to their needs, get a very personal (and grateful) treatment, and will have access to future releases and features ahead of everyone else. We will also be working on a few demo projects to show how Nouncer can be used, and get some early users to put load on it.

If any of this is of interest to you, I am still looking to hire a developer, and am looking for people to start using it. Just drop me a note and I’ll gladly answer any questions you might have and how you might benefit from working with Nouncer.