Author Archives: Callum

Facebook Pages

You asked, we delivered. Facebook Pages were the number 1 requested new service. The code is live, you can now post to Facebook Pages from Composer.

Quick word of warning, you’ll need to reauth your Facebook account because we added the “manage pages” Facebook permission. Until you do that, you won’t see any pages on your account because Composer doesn’t have permission to ask them. Click here to reauth now.

To add a Facebook Page, go to the services page, then next to any of your Facebook accounts click the “add pages” link. The link only appears next to Facebook accounts, not next to other Facebook pages. You can post to multiple Facebook accounts and multiple pages within each of those accounts. It’s Facebook page posting galore!

Any questions, issues, or feedback, fire a comment below.

Updated internals, faster posting

If you were posting on a mobile connection or to many services, you might have noticed that after clicking “Submit Post” you sometimes had to wait quite a long time for the next page to load. This has been holding us back from adding extra networks and features.

Today, we’ve deployed a new architecture which should fix this. Now posts are pushed into a queue and then published from the queue. It’s all a behind the scenes change, but the bottom line is, it should result in much faster posting.

We’re also tracking how long each part of the process takes, so we can monitor and optimise those delivery times. Data galore.

If you notice any issues over the next couple of days, please let us know in the comments.

VK.com

An enthusiastic user sent us a very nice email, amongst other things, asking for Composer to support VK.com. As it was such a nice email, I thought I’d have a look and see if we could add support for VK.com. There is an API, so that’s the first step. I started off trying to write to the API directly, but there were a few issues. So then I decided to use a VK wrapper. Then I got a strange error message:

Permission to perform this action is denied for non-standalone applications: you should request token using blank.html page

I couldn’t make sense of it. I tried changing various things, spent a few hours tinker with it. Finally, I figured it out. The key is on this page. Bottom line, the VK.com API only allows “desktop or standalone” applications to post content. In other words, because we’re a web based application, we’re forbidden from posting content.

There is a hack to get around this. The hack requires the user to copy and paste a code from a page which says “Пожалуйста, не копируйте данные из адресной строки для сторонних сайтов. Таким образом Вы можете потерять доступ к Вашему аккаунту.” I know, right! Google helpfully translated this as “Please do not copy the data from the address bar to third-party sites. So you may lose access to your account.”

So, by copying and pasting my token I was able to get the API working, but it’s explicitly forbidden. Unfortunately, for Composer, that means as far as I can see, there’s no way for us to support VK.com. Which is a shame, there are 100m users on VK.com.

Maybe when Composer is bigger, when we hit the outrageous Twitter 100k limit, then we can open channels with VK.com and perhaps negotiate access to their API to let users post content to their service more easily. If you know anyone at VK.com and can work this angle on our behalf, please do so. We’ve got all the code ready, all we need is for VK.com to actually let us post.

Publish to LinkedIn

We just added support for our seventh service, LinkedIn.

LinkedIn is like Facebook, you need to renew your tokens every 60 days. We just launched a new feature today, so when your Facebook or LinkedIn tokens are near expiring, we’ll tell you and ask you to renew them. It should just be one click. Please let us know if you have any issues. Click here to connect to LinkedIn now.

LinkedIn messages are limited to 1,000 characters, if you go over that, we’ll automatically post a shortened version to LinkedIn and include a link to the full version.

If you want to see a service added, be sure to vote in the poll…

The Composer bookmarklet

Update: Now there are multiple bookmarklets here.

By popular request, Composer has a bookmarklet. Heavily inspired by the WordPress “Press This” feature, it uses the same javascript. You’ll find it on the compose screen under the Submit button.

It works in the usual way. Add it to your bookmarks then click it on any page. If you select some text on the page before you click it, that text will also be copied into the compose screen for you.

Tech

With this change, the compose screen supports 4 new url arguments: body, s = text selection, t = page title, and u = page url, on the new target url http://composer.io/posts/add/b.

The bookmarklet runs its javascript magic and constructs a url that looks like this (all values are url encoded):
http://composer.io/posts/add/b?s=foo&t=bar&u=http://foo.bar/

The body argument was added so you can roll your own bookmarklet and combine whatever javascript variables you want in your own order. The body argument is used first, then the others are combined in the usual way and appended.

For example, this url will load a compose screen like:

I'm the awesome body
This is the text I selected
Title of Awesome http://awesome.tld/

If you do roll your own, please let us know in the comments below. 🙂

Auto shortening for twitter, etc

More goodness from the composer HQ today! If you type a message over 140 characters and send it to Twitter, Plurk or Identica, we’ll automatically shorten it, post it on a URL, generate a short link, and then post the beginning of your message along with a short link to the full message. It’s live now, no configuration necessary.

Shoot over any feedback in a comment… 🙂

Composer speaks Tumblr

Just deployed Tumblr support. My last tumble was in July, so it’s great to be back on the platform. Took me a while to figure this one out, but it turned out to be pretty easy. It’s all based on oauth and a simple API. Using the existing oauth library, everything was provided for me. All I needed was to find the url forthe API call, the parameters, and bolt together the oauth authorization scheme. Easy peasy.

Do you tumble? Click here to add a Tumblr account to Composer now. Quick word of warning, right now, we only post to the first blog in your account. If you want to post to multiple blogs within the same account, shoot over an encouraging comment and I’ll see what I can do…

As with WordPress, Tumblr posts are appended with a little “Posted via Composer” link.

WordPress links

As part of the same deploy that introduced plurk, I also snuck in an update to the WordPress service. If you post a url in a message, it will now automatically be converted to a link before being posted to WordPress.

Also, all posts to WordPress are appended with a small “Posted by Composer” link. Eventually premium users will have the option to disable this, but right now that’s not a feature I’ve built! If you’re passionate about this issue, and don’t have the coding skills to remote it on the WordPress end, shoot over a comment and offer me a $50 Amazon gift voucher, then I’ll build it just for you!

Composer speaks plurk

Fergus put a survey together asking folks what services they’d like to see supported. Google Plus was the front runner, but their api is read only, so that’s not an option. I scanned the list for other votes, and figured I’d take a bash at plurk.

Took a couple of attempts, first I tried the plurkoauth library, as recommended by plurk themselves, but that required pecl_http, which was a PITA to install. After a bit more searching I found EternalPlurk. It threw up a few fatal errors and a bunch more warnings. But after a few quick bugfixes, it seems to do the job. Thanks to the author.

The code is now live on production, and I’ve successfully linked my plurk account and posted a plurk. One thing, we automatically use the plurk verb “says”, there’s currently no option to change that, either per message or per account. If it’s something you feel passionately about, shoot a comment and I’ll what I can do.

Plurkers, welcome to the Composer family… 🙂