Announcing App.net Broadcast

broadcast-pressIt’s a noisy world out there. Important news posted to social networks is only seen by a small percentage of the folks who want to receive it. It’s an unfortunate situation for both publishers and subscribers.

Push notifications are a powerful tool for sending and receiving important messages, but the high costs of developing and distributing an application make it beyond the reach of most.

That’s why we are releasing a new feature: Broadcast. Broadcast makes it easy for anyone to publish and subscribe to push notification “Broadcast Channels” for free.

What is a “Broadcast”?

2013-11-12 17.11.49

A Broadcast is a new type of message that is always received as a push notification. A user only receives a Broadcast when they have explicitly subscribed to a Broadcast Channel. No “promoted content”, no black box algorithms, just a simple way to subscribe to valuable information that might otherwise get missed in a busy feed or overloaded inbox.

A Broadcast is more expressive than just a simple push notification: when a subscriber opens a Broadcast, they will see content that is determined by the publisher. Broadcasts can be composed with a photo, an animated GIF, additional text/links, geographic information, as well as a “Read More” link that takes the user to a URL of the publisher’s choosing.

Subscribing to Broadcasts is not the same as following a feed. A publisher first needs to create a new Broadcast Channel (a single App.net account can create multiple Channels). Once the Broadcast Channel is created, the publisher can share it with their audience, as well as embed a subscribe button anywhere on the web. Anyone who wants to subscribe will receive real-time push notifications each time the publisher sends a Broadcast.

A good Broadcast Channel will send at most 1-2 Broadcasts per day, and most likely even fewer. A successful Broadcast publisher will only publish the most important and high value messages to their subscribers. Just like an email list, subscribers can easily unsubscribe and will have a very low tolerance for noise. Hooking up a high volume RSS feed, or replicating the same content from a Twitter or Facebook page is far too noisy for anyone to want to receive in the form of push notifications.

Who is Broadcast good for?

  • Bands letting fans know about tickets on sale, album releases, surprise shows, etc.2013-11-12 17.05.35
  • Public safety messages, severe weather, etc.
  • Podcasters letting their audience know when they are recording live, and when new episodes are available
  • Internet publishers who publish on a low-volume, sporadic schedule. For instance internet comics, part-time bloggers, analysts, etc.
  • App developers letting folks know when new versions are released (which may be missed due to new auto-update features)
  • Anyone running a crowdfunding or grassroots campaign who needs a realtime way to mobilize their supporters
  • Companies running mission critical services that want to let folks know about scheduled or unscheduled downtime
  • Coordinating a large group of people for parties, meetups, festivals, conferences. Imagine if you had a last minute change of schedule or venue; you’d want to make sure people on their way don’t miss the message.

The advantage of Broadcast is that the publisher knows their subscribers will see their message as a push notification and can take action in real time.

How do I use Broadcast?

There are several ways to publish Broadcasts:

To receive Broadcasts, a subscriber needs only to download the free App.net app for iOS or Android.

There is a directory of Broadcast Channels available. This is meant to aid in discovery and give subscribers an idea of how frequently each Channel sends Broadcasts.  Subscribe and unsubscribe will always be one simple tap, so that you are never stuck receiving push notifications you no longer want to see.

Broadcast and the goals of App.net

broadcast-icon-largeAt the heart of our company values is the principle that that our users are our customers, and everything we do must put them first. With Broadcast, users are completely in control: a person will receive exactly what they subscribed to, no more and no less. App.net is functioning as the “pipes” connecting publishers with subscribers.

In terms of business model, all of the Broadcast features released today are free and will remain that way. Our goal is for the benefits of Broadcast to be available to everyone. We plan on offering additional Broadcast features for paid accounts, including advanced analytics and publishing tools.

We look forward to the developer ecosystem integrating Broadcast features into existing and new apps. Broadcast is a great example of a novel experience created with the App.net platform, as well as a crisp and simple reason for the average person to want an App.net account.

The App.net team has enjoyed creating and testing out Broadcast, and we hope you enjoy it too!

Dalton

We are just getting started

cakeIt’s now the one year anniversary of App.net. Over the past year we have been making a transition from getting the basics of a social API up and running to supporting a vibrant community of 3rd party applications. So far, so good.

We are proud of the progress that we have made thus far, but we are just scratching the surface of our goals for the platform. In year two, as our focus expands from simply trying to deliver basic “1.0″ versions of our API, our overall mission remains the same: building a social platform with better aligned incentives with both users and developers.

A few highlights from the past year:

Looking forward

As part of this expansion in scope, and in light of overall progress we have made, we have raised ~$2.5MM of additional capital. The money has come from our existing investors, who have been partners in the business from the beginning. We raised money under good terms, from people that we trust, and that have been on our team from the very beginning.

Why did we choose to raise this money? We are just starting to realize the potential of what App.net can be, and we want our developer and member community to be confident that App.net is on strong financial ground and here to stay. This financing gives us an additional cushion and resources to manage and support the infrastructure and staff that run App.net. Our team, including our investors, are 100% committed to App.net’s services-based business model where our customers are our users, not advertisers.

A small preview of what’s to come:

  • Continue to build a strong foundation what we do best. For developers, we will continue to ship new APIs and broaden our social graph to provide you the best tools for innovation; for users, we will make it easier to create an account, find your friends, and discover new apps. The potential kinds of apps that can be built are just beginning to be realized, so expect to see new interesting apps and more users having novel interactions and experiences.
  • Expect updates to Passport for iOS with some often-requested features and the first release of Passport for Android.
  • As we quietly announced a few days ago, we’re responding to feedback on the Messages API and raising the character limit for PMs and Patter rooms from 256 to 2048.
  • We’ll be expanding the reach of the search API by allowing more things to be searched, like PMs, chats and files.
  • We will support developers as they build apps for iOS 7 and Patter, integrate with Ohai, and release the first App.net game.
  • And of course, we’ve got some exciting new APIs and lots of enhancements to our existing APIs on the way.

Thanks,

-Dalton

Response to Brennan Novak, part II

On August 10, 2012, I published a blogpost entitled “A response to Brennan Novak”. In that post, I stated that App.net would support a number of interoperable web technologies.

As the one-year anniversary of my blogpost approaches, I’d like to highlight how App.net supports those technologies.

Line-by-line discussion of what was promised:

  • “Activitystrea.ms Atom & JSON feeds, as well as RSS feeds, of public posts for individual users, hashtags, etc.”

RSS feeds for public posts on user accounts & hashtags have been available for quite some time.

Activitystrea.ms support for JSON feeds was just released. This is what the output looks like. Our webfinger API returns a link to the appropriate Activitystream. (In the year that has passed it appears that community support for Atom activity streams has waned).

  • “Pubsubhubbub (PuSH) support (as a publisher, initially)”

You can view our PuSH publishing support in action here.

Consumption of PuSH was natively supported once we launched PourOver, an open source syndication tool.

  • “Exposing user identities with Webfinger”

Webfinger support was just added. Here is an example of Webfinger in action.

  • “Commitment to coordinate between internal and external parties to create and support open-source ‘lightweight’ clients in as many flavors as we can, ala Stripe”

There are open source libraries available in a wide variety of languages, for example: Objective-CJavaScriptScalaPython, Ruby, Erlang, GoPHP, Clojure. There are several more open source libraries available, this is just a sample.

  • “Commit to enabling and supporting users in building inbound and outbound syndication to and from App.net”

3rd-party syndication apps such as IFTTT, Buffer, Zapier, Twitterfeed and more have been available and working for quite some time. Additionally, we have built and open sourced the aforementioned first-party syndication tool, PourOver.

I am happy to say that we now have fully supported all of the promised technologies. We have also added a few additional standards that were not mentioned in the original blogpost:

Looking Forward

We are looking forward to seeing developer adoption of these technologies.

Also, we believe that the work we have done on PourOver so far will be beneficial on a long-term basis. For example, if a new syndication format is released in the future, PourOver can be modified by us or the community to consume the new format without much difficulty. The fact PourOver is open source, is real-time (because it natively consumes PuSH), and can process a wide variety of inbound formats makes it quite a useful building block for future development.

Thanks,

-Dalton Caldwell

 

PourOver for App.net is now available

Hello Daring Fireball readers! If you don’t yet have an App.net account, use this link to create a free account which will follow @DaringFireball

 

By popular demand, the App.net team has been working on a new syndication tool called PourOver.

 

Why would I want to use PourOver?

PourOver makes it dead simple to publish an RSS feed to an App.net account.

Once you authorize PourOver, simply paste in your RSS URL, preview what your posts will look like, then click “Save Feed.” That’s all there is to it.

 

PourOver Features:

  • PuSH support: if your RSS feed has Pubsubhubbub support, PourOver will update your feed in realtime.
  • Link entity support: PourOver will publish your feed using App.net link entities.
  • Flow control: PourOver has built-in flow control. The default setting is one post every minute.
  • Open source: Feel free to see how PourOver works, submit a pull request, or run it on your own. The source to PourOver is available on Github.

Screen Shot 2013-07-15 at 12.03.58 PM Screen Shot 2013-07-15 at 12.03.42 PM

If you know someone who hasn’t had a chance to setup an App.net account for their blog, you should let them know about PourOver. They can be up and running in moments.

Thanks

The App.net Team

Improvements to the App.net invitation system

Over the past few months, the team at App.net has been working hard on improving our out-of-the box experience. As part of that effort, we’d like to highlight some new features that are now generally available.

Changes to the App.net invitation system

Screen Shot 2013-07-11 at 12.09.03 PMAll App.net accounts now have access to invitations. Each account has a unique invitation code that can be shared via email, sms, etc. If someone signs up via your invitation code they will automatically follow the account that invited them. You may access your unique invitation code here.

Changes to App.net follow buttons

Screen Shot 2013-07-11 at 12.36.45 PMA few weeks ago, we released follow buttons. Starting now, if someone clicks on a follow button, and they are not already logged in to App.net, the person will be brought to a signup or login screen. If the person chooses to signup after clicking on your follow button it is effectively the same as if he/she clicked on your invitation link (i.e. automatic follow of the inviting account). This is an added benefit to using App.net follow buttons, which are available here.

Improved login/signup tools for developers

There are a number of interesting usecases that developers have wanted to build which have been limited by the friction involved in creating an App.net account. For iOS developers we have shipped App.net Passport, which makes it far easier for new users to quickly create an App.net account from a 3rd party iOS application.

For web developers, we have made changes to the way oAuth flow works. To illustrate these changes, let’s talk about a hypothetical application, “Banana Stand”:

Screen Shot 2013-07-11 at 11.12.13 AM

  • A person named Michael goes to the Banana Stand website, and wants to try this amazing new product out. So, Michael clicks the “Authorize with App.net” button.
  • Michael now sees a Signup or Login screen. If Michael already has an App.net account he may click Login, and will see the standard oAuth permissions screen for Banana Stand.
  • If Michael does not already have an App.net account he is able to signup for a free-tier account, right on the initial authorize page. Michael will then complete the process for creating a standard free-tier account. On the last step, Michael is shown the normal oAuth screen for Banana Stand. Once Michael clicks “Accept” he is automatically redirected back into the Banana Stand application. That was easy.

The benefit of this approach is that the developer of Banana Stand does not have to worry about potential users of her application either not knowing how/where to create an App.net account, or getting distracted or confused about what to do after creating a new account.

Interested developers should take a look at our new Web Flow Integration Guide for more information about this new functionality.

Thanks

Dalton & The App.net Team

App.net Passport for iOS is now available

blog-passportWe are excited to announce that App.net Passport for iOS is now available (download link). Passport is the easiest way for iPhone users to browse the App.net directory, find their friends, and to manage or create an App.net account.

Our mission has always been to support developers and to give members more choice. At its core, Passport is our directory app: an easy way for iPhone users to find and install other App.net iPhone apps, and for iOS developers to connect more directly with new users.

Here’s what you can do with Passport:

  • Create an App.net account
  • Find and follow other App.net members
  • Download and discover App.net iPhone apps
  • Update your bio, profile photo, and cover image

Notably (and quite intentionally), the Passport app does not have posting or messaging features. As always, we encourage App.net members to use 3rd-party apps. An additional benefit of the Passport app for 3rd-party developers is a new Authentication SDK which makes it easy to seamlessly integrate App.net login/signup functionality into any app.

 

image_2  image_3image_4  image_1 invite image

It’s also worth noting that anyone who downloads Passport will be able to create a free-tier App.net account. Like everything we do, this is an experiment, and we will be watching the data closely to see what we learn and its impact on the community. To set expectations: we may decide to turn off open signup via the app at any point.

Non-iPhone users: we haven’t forgotten about you. We plan on taking our learnings from the iOS Passport app and applying them to other platforms.

Thanks!

The App.net team 

Updates to the App.net Developer Incentive Program

The stated goal of the App.net Developer Incentive Program is to incentivize the creation of applications that people love. The program was introduced 5 months ago, and has been dispersing a total of $20,000 per month to participating developers. It’s been amazing to see the progress the App.net developer ecosystem has made during these few months.

We are making our first set of changes to the program.

First, a brief recap of the Developer Incentive Program:

  • App.net members will receive a monthly email asking them to give feedback on the apps they have used that month. App.net will use some basic algorithms to create defaults as a proxy for how useful that particular app may have been to them. Once the ratings are finished, the member will submit the results which will be added into the Developer Incentive system and used to generate a score for each app.
  • The monthly dollar amount will be allocated to participating developers based on their “scores” in relation to the total score among participating developers.
  • Developers must apply and be accepted into the Incentive Program if they wish to participate.
  • This program is entirely optional, and developers should feel no pressure to participate if they are unable or uninterested in doing so.
  • Developers are free to monetize their applications through their own mechanisms; this program should be thought of as a “bonus” for building software that App.net members use and love.
  • Developers who attempt to influence the Incentive Program by directly soliciting votes from their users will be suspended from the program.

Changes to the Developer Incentive Program, effective March 1:

  • The developer incentive pool will now be raised to $30,000 per month. This is a recognition of both the increased number of participating developers and the increased number of paid App.net accounts.
  • Free tier accounts will be asked to fill out feedback surveys, but that feedback will not be included in the Developer Incentive Program results. Feedback from users on the free tier will be integrated into an overall developer feedback system.
  • The default weighting algorithm will be modified in order to take into account usage of the App.net Messaging and File APIs (in addition to the Post API). It’s important to note that the scores submitted by a voting user will take precedence over default weightings.
  • We will be providing additional data to developers from the ratings process, including aggregate information about voting results.

In addition, we will be adding these additional requirements for Developer Incentive Program eligibility:

  • Every eligible app must have a privacy policy and terms of service. We have made some template terms of service available on Github (under a Creative Commons License) as a way to help developers meet this requirement.
  • Every eligible app must have at least 50 authorized tokens.
  • To be eligible for the Developer Incentive Program, the application must be publicly available and listed in the App.net Directory.

The enrollment form for the Developer Incentive program is available here.

We look forward to seeing additional progress in the developer ecosystem in the coming months, and will continue to modify the program as we learn more.

Reminder: attributes of a great app

Rather than having a large number of “one-size-fits all” apps, we want to encourage developers to think about new and customized experiences across a wide variety of categories.

A great app will be inventive, simple to use, focused, opinionated, and, above all, built with the needs of users in mind.

Thanks,

The App.net team