Screenshot_2014-04-09-09-29-12

Posted by & filed under Android.

There’s been a lot of changes to Tweetings for Android in recent months so we thought we’d share some of them with you

New default theme

When we first launched the Holo themed version of Tweetings for Android with version 2.0, the default theme color scheme was dark, with an optional light theme with a dark action bar.  We then later on added a light theme with light action bar.

In recent months this was then activated as the default theme

Light theme on Android

 

New navigation

The navigation since version 2.0 had always been tabs across the top. Many users had been asking for a while to be able to use the new Google Drawer style navigation.

We changed the default navigation to a drawer style, but left a setting to be able to use tabs if you so desired.  You can open the navigation drawer by either clicking the drawer icon at the top left or swiping from the left hand edge of the screen.

Screenshot_2014-04-09-09-25-49

Card UI

Another design change that Google themselves have been pushing in recent months is the Google Now style card design. We held off this for a long time until we could make it work well for a Twitter client.

After all Twitter is all about, long feeds of Tweets and easy reading.

So we came up with two different designs for the Card UI, one has larger text and the other is more compact

Screenshot_2014-04-09-09-29-12 Screenshot_2014-04-09-09-25-38 Screenshot_2014-04-09-09-28-17

You can of course just switch back to the old list style too!

Screenshot_2014-04-09-09-28-46

Profile Banners

Twitter now lets you upload a banner photo to go at the top of your profile on their website on their apps. Tweetings supports this but now even better than before.

Screenshot_2014-04-09-09-26-29

 

Font styles

You can now choose from a number of different fonts. You can of course still use the default system font, but we now allow you to choose from Roboto light, Roboto thin, Roboto condensed and Roboto condensed light.

The availability of these fonts depends on your Android version.

The default font is now Roboto light, shown below

Screenshot_2014-04-09-10-19-19

Swipe Tweet view

There’s often a lot of additional information included with a Tweet itself. When you tap on a Tweet in the timeline you get sent to the Tweet view

Screenshot_2014-04-09-09-26-49This view shows you, how many times a Tweet has been retweeted, how many times it’s been favorited and if it’s a recent Tweet, you can also see how many replies there are to it.

It’ll also show you all images associated with a Tweet and allow you to quickly reply from the bottom of the screen.

You’ll also notice a small pager bar at the bottom of the screen. When this appears it means there is more content available when you swipe the screen from right to left.

Content that can appear here, includes

  • Conversations and replies
  • Web page previews
  • Tweet locations

You can turn off these additional content features individually from your settings. From the overflow menu button there’s lots of additional options such as sharing, copying the Tweet url, and muting users, keywords and entire apps!

Notification panel

If you have Tweetings push notifications enabled and Drawer style navigation, you can swipe from the right hand edge of the screen to view your recent notifications, including mentions, who retweeted you, favorited your tweet or followed you

Screenshot_2014-04-09-09-27-34

 

Streaming

For those that love streaming, that is to say, instant updates to your main timelines without the need to refresh yourself, we’ve added a load of new features

  • You can now stream over both WiFi and cellular network (although a word of warning, streaming over cellular networks can run up large data usage)
  • You can have a persistent notification in your notification area showing you when a stream is connected
  • Streams can now be constantly connected, even if the app is in the background
  • We now support streams for your Home timeline, Mentions, Direct Messages and now search results. So if you have a hash tag result open on the screen, it will stream and keep you automatically updated

Posted by & filed under Android, iPad, iPhone.

Many of us may take push notifications for granted but many don’t really know how they work, nor do they really know how they work.

On Android and iOS there are two types of notification.

Local notifications

These are generated by the installed app by itself and displayed by that app. On Android you might have a background service checking Twitter periodically to show you your latest mentions, etc

In the case of a Twitter client these may keep a connection open to Twitter or use your network every 5 mins or so to check for new Tweets. This can be a real battery drainer

Push notifications

These are handled by app developers remotely.

Apps will have a remote server performing the hard work for you instead of your device.

When the server has a notification for you, it generates a specially formatted message with a unique identifier to target your device and only your device.

The server connects to Apple or Google’s cloud infrastructure and sends it to them. They then take over the delivery of the message to your device. The best part is Apple and Google already deal with this in the least battery draining way possible as all push notification run through the same services.

For the most part both Apple and Google’s service work the same way.

How does Tweetings work

On both Android and iOS we use push notifications. Twitter tells our servers that you have notifications, we work out what the notification is, who it is for and we send it to Apple or Google to send to you.

On Android, Tweetings has a background service but that isn’t used by our push at all.

I’ve bought the app and I’m not getting push

On iOS you are asked if you want push on first load. This registers with our server and adds you to a registration queue. We process all waiting registrations hourly. Once your registration has been processed all your notifications will come though hourly.

On Android you must first turn on push from the settings AND tell us the types of notifications you wish to receive. Once you have done you’ll be added to the registration queue, the same way as iOS users.

So when you first enable notifications it can take up to 1 hour to get your first notification, usually it is much quicker though.

If you’ve previously used Tweetings but not done so for a few weeks you’ll have been deregistered automatically. Just by loading the app again will add you to the registration queue again. Be patient and the push will flow again!

Under iOS there is a diagnostic screen in the app telling you the last time our servers sent you a push notification and an option to send a test one right then.

Posted by & filed under iPad, iPhone.

A number of users have been contacting us telling us that since we deployed updates to Tweetings for iPad and iPhone that they’ve been getting random 404 error messages or the timeline not refreshing.

It also appears in those circumstances that closing the app from the multitasking tray and reloading solves the issue until the next refresh.

We’ve spent a lot of time trying to work out what the issue is as well as liasing with Twitter themselves as we can’t see what’s wrong.

However today we’ve had the news that there is a bug at Twitter’s end they are investigating

Since we last talked about this we’ve narrowed down the issue further… it’s still a cookie issue, but not necessarily due to cookies you yourself are sending. We’re working to resolve this – it’ll kind of randomly effect some users and not others until we have it resolved. If you want to temporarily mitigate, continue using v1′s statuses/home_timeline method for just a little longer.

Unfortunately as there’s only a few weeks left until the API 1.1 migration is complete, switching iPhone users back to API 1.0 (when it takes a week to get app updates through Apple’s approval) is not an option.

If you are experiencing this issue, some users are finding turning SSL in the settings to off fixes this problem. However please note you shouldn’t rely on this setting as the non-SSL versions of API 1.1 are only available in the short term and will be turned off eventually.

I’m sorry to those users that are experiencing issues but there isn’t much we can do at our end until the issue is resolved by Twitter.

Posted by & filed under Android, iPad, iPhone.

There are two types of conversation thread on Twitter.

We refer to them as the conversation view and the reply view

Conversation View

This takes the current tweet and if it was a reply to another tweet, it’ll load the tweet it was in reply to and any other tweet further down the chain.  This feature will remain unchanged in Tweetings for Android, iPhone, iPad, etc

Reply View

The reply view takes the current tweet and shows any replies made to that tweet after it was posted.  This is a feature on Tweetings for iPhone and iPad but not on Android. Why?

This uses a private API on Twitter called ‘related tweets’. However as you may be aware, Twitter is migrating all clients and apps to a new version of their API.

This feature IS NOT part of the new API. Basically the only people able to offer this feature with any sort of accuracy under API 1.1 are Twitter themselves.

This has been confirmed by Twitter themselves

Will the undocumented call related_results/show be added to the API 1.1 or will it be killed for third-party devs?

The undocumented/unsupported related_results/show method will not be making an appearance in API v1.1 at this time.

So unfortunately, now matter how many times we are requested to add this feature to Tweetings for Android or bad reviews are given because they want this feature…. we CANNOT add it.

As you can see from the discussion quote above, this has always been an unsupported and undocumented Twitter API so we’ve been very lucky and grateful to Twitter for the ability to use it up until now.

Posted by & filed under iPhone.

As you may be aware Twitter are transitioning all users from version 1.0 of their API to version 1.1. We are in final testing of migrating the iPhone version of Tweetings to API 1.1.

However there are numerous changes and in some cases features that have been removed by Twitter.  All applications that talk to the Twitter API have to perform this migration before 5 March 2013 or they’ll cease to work, so whilst unfortunately some of these feature changes will be unpopular, we have to do this work and perform it now.

Version 5.7.0 of Tweetings for iPhone will be the first version to be fully compatible with API 1.1 and below are the main changes that’ll affect features in the app:

  1. Rate limits have dramatically changed. Rate limits are a way of Twitter limiting abuse of their system and you can only access certain resources a specific number of times in a given time period. See Twitter’s API 1.1 documentation and also our blog post on it
  2. Weekly and daily trends APIs no longer exist and so they have been removed from Tweetings
  3. Retweets to me and tweets you have retweeted APIs are not part of API 1.1
  4. Some media providers do not yet support oAuth Echo over API 1.1 yet, they have temporarily been disabled in Tweetings until they do support it. oAuth Echo is the mechanism used to upload your pictures to their service and know who you are via our app.
  5. Twitter’s media timeline that we used to show a user’s recent photos was never an officially supported API. This has been disabled in API 1.1 and is not currently available to third party clients. We have an alternative mechanism, so the feature is still there, it’s just won’t show as many photos as before unfortunately.
  6. Auto refresh of the main timelines after a period of inactivity when switching tabs has been disabled by default, see rate limiting above. Refresh on resume from background and pull to refresh is still enabled.
  7. Related tweets, otherwise known as replies to tweets was an unsupported API. Twitter have confirmed that this will not be part of API 1.1 and so with great sadness this feature has been removed. You can still view the conversation of a tweet for older tweets
  8. Related users was also an unsupported API and has also been removed by Twitter in API 1.1 and therefore Tweetings

However the plus side the migration to API 1.1 have allowed us to fix a few long time bugs, such as the occasional blank user avatar on the compose screen. We’ve also fixed TwitVid video uploading too.

Posted by & filed under Android, Chrome, General, iPad, iPhone, Mac.

What’s changing?

As you may be aware Twitter are transitioning all users from version 1.0 of their API to version 1.1. For most users this doesn’t mean anything nor will they be aware of this except in one specific change which may cause a lot of pain for both client developers and users alike…. Rate Limits.

What are Rate limits

Rate limits are quite simply the number of times you can access certain features on Twitter within a given time.

Rate limiting in version 1.0 of the Twitter API was quite simple, you had a bucket of 350 requests you could make in any given hour period and if you went over it, Twitter blocked you until that period had passed and all started working again. 350 was usually more than adequate for the majority of users.

However with version 1.1 of the Twitter API this has all changed. Rate limits in version 1.1 are now divided into 15 minute intervals. These rate limits are now divided into different types of request.

So for example, timeline requests will now only allow 15 calls in any 15 minute period.

How does this affect me?

With only the ability to refresh that timeline 15 times in 15 minutes you are much more likely to find yourself getting rate limit errors in any app using API 1.1.

For example lets say you use a client that does the following, allow timeline gap filling, refreshes your timeline after sending a tweet and also refreshes the timeline when you first open it.

Now let’s say you do the following.

  1. Open the app (1 API call to refresh)
  2. You’ve missed a few hours worth of tweets (1 API call per gap filling request for  a few hours you’ve probably filled 3 gaps)
  3. Compose and send a tweet (1 API call refreshing the timeline after sending)

You can see that within the matter of less than a minute we’ve probably used up 5 API calls… we’ve now only got 14 minutes left and only the ability to call 10 more refreshes.

Each individual timeline should have it’s own 15 call rate limit so refreshes to home timeline shouldn’t affect your mentions timeline rate limit and vice versa.

Tweetings and the migration to API 1.1

Android: We have already implemented API 1.1 in Tweetings for Android and so you’ll see rate limiting errors if you go over your 15 minute limits

iPhone and iPad: We have tested API 1.1 in Tweetings for iOS but have not yet implemented it for a number of reasons. The longer history of the iOS version means we are using certain features that Twitter has decided not to port over to 1.1 so they will be removed from Tweetings. We are therefore holding off on that transition until it can no longer be avoided.

Mac: We have not yet implemented the 1.1 API but we will have to do so.

What can I do to get around the rate limit

Unfortunately very little. It is against Twitter’s Terms of Service to find ways around rate limiting.  However there are certain things you can do to prevent yourself getting rate limited in the first place.

  1. Turn on Streaming over WiFi. Streaming over WiFi keeps a constant connection open to Twitter and therefore for the main timelines you do not need to manually refresh
  2. Turn off refresh after sending a tweet, where available
  3. Only refresh when you are expecting new tweets

There is a temporary solution in Tweetings for Android, which is already using API 1.1, and thats to go to Settings, Other and switch to using the 1.0 API for those features.

Unfortunately ALL apps will have to make the switch to API 1.1 by March 2013 or they will simply cease to work, so switching to API 1.0 in Tweetings for Android feature will only work until that time.

For more information about rate limits and how many calls you can make see Twitter’s web site

Posted by & filed under Mac.

There is an unfortunate error that slipped into Tweetings for Mac 2.1.0 update which can cause timelines to be empty for ‘some’ users. If Tweetings is downloading new Tweets as normal you do not need to do anything

We have submitted an urgent update request to Apple but you can fix this yourself if you are familiar with OS X Terminal.

On your Mac go to Applications -> Utilities -> Terminal

From Terminal type the following commands in bold EXACTLY

sqlite3 ~/Library/Caches/com.dwdesign.tweetingsmac/StatusCache.db

press <enter> key

ALTER TABLE StatusUpdates ADD COLUMN textOriginal text; ALTER TABLE DirectMessages ADD COLUMN textOriginal text;

press <enter> key. Don’t worry if you get an error for duplicate column here, it depends on which version you had of Tweetings previously or if you had a new install, etc

ALTER TABLE StatusUpdates ADD COLUMN media text; ALTER TABLE DirectMessages ADD COLUMN media text;

press <enter> key

.quit

press <enter> key

You’re done, load Tweetings as normal

Posted by & filed under Chrome, iPad, iPhone, Mac, Windows.

Yesterday Twitter announced some changes to their authentication and permissions process. On the face of it the changes are actually a good thing, but unfortunately it will require some action by user’s of 3rd Party Twitter Clients.

Background

For sometime now Twitter has offered 3rd Party Clients two ways of authenticating your details against their system.

The first way is called xAuth which just requires you to enter your user name and password into the app and in return we do some magic in the background to exchange that for unique tokens which in turn logs you in, but the app doesn’t keep your password.

The second way is called OAuth. OAuth requires you to visit Twitter’s web site in a web browser, which shows you a list of permissions the app will have to your account and then you’ll be redirected back to your app.

Whilst xAuth is a much neater and elegant system we’ve never been happy with it as it still requires you entering your password to a client who you are simply trusting not to abuse it.

What’s Changing?

In Mid June, Twitter are going to now require apps that wish to have access to a user’s Direct Messages to firstly use the OAuth process only and secondly re-authenticate users.

How this affects Tweetings

With regards to requiring OAuth only, if you are using Tweetings for iPhone, iPad and Chrome then we don’t need to make any code changes at all as we already use OAuth authentication.

Tweetings for Mac does use xAuth and will require us to push an update to the Mac App Store before the mid-June deadline so that you can keep access to your Direct Messages.

The good news is that we are in final testing of migrating Tweetings for Mac from xAuth to OAuth and we should be good to go soon.

The second part of the changes is where you come in. Unfortunately because of the permission changes Twitter is making, they are requiring all apps that need Direct Message access to re-authenticate all users. We can’t do this ourselves.

This requires you to re-login all of your accounts between now and the mid-June deadline in order to keep your Direct Messages and Direct Message push notifications.

What happens if I don’t re-login?

From our understanding pretty much everything will work just fine EXCEPT you won’t be able to make use of Direct Messages until you do relogin.

How do I do this in Tweetings

Tweetings for iPhone and iPad

  • If you have more than one account then this is pretty straight forward. Simply go to the accounts screen (by tapping your screen name at the top of the main timeline).
  • Swipe to delete an account you aren’t currently logged into
  • Tap ‘Add Account’ and re-log back into that same account
  • Switch to that account and then do the same for the next account

If you only have one account you have two options

  • You’ll either have to delete Tweetings and re-install it from the App Store. Don’t worry this is free because you’ve already purchased it before.
  • You can alternatively create a temporary second account on Twitter so that you can delete your primary account without deleting the app.

Note: if you try to authenticate two accounts quickly after one another, when presented with the login page on Twitter’s website you may still be logged into the last account. Tap your icon at the top right of the screen and then logout.

Tweetings for Chrome

  • Tap the logout X button at the top right of the popup window
  • Then tap the Tweetings icon and re-login again

Tweetings for Mac

  • Do not perform the delete/relogin process unless you have the forthcoming version 2.0.4 from the Mac App Store
  • If you have 2.0.4 then go to the ‘Tweetings’ menu at the top left of the main menu bar
  • Select ‘Accounts’
  • Delete any accounts you wish to by selecting them and pressing the ‘-’ button
  • Click the ‘+’ button and a window will open and authenticates you with Twitter over OAuth

tl;dr if you don’t re-log in to your accounts in Tweetings before mid-June you’ll loose access to Direct Messages and Direct Message push notifications

Update: Tweetings for Mac 2.0.4 is now available from the Mac App Store with oAuth authentication.

Update 2: Twitter’s cut off for moving to oAuth is now the end of June

Posted by & filed under iPad, iPhone.

Ever since version 1.0 of Tweetings for iPhone we’ve offered a push notification service at no extra cost, other than the original cost to download the App.

This has previously been delivered by us regularly polling your accounts and notifying you of new mentions and direct messages. Because that polling is scheduled, we have lots of accounts to monitor and it all takes a lot of server resources, bandwidth and money we’ve always had a short delay on being able to deliver messages. Sometimes as short as 30 seconds, sometimes 5 mins or more (which is less than ideal).

Twitter offers a number of Streaming solutions, one of which is still a beta product, called Site Streams. So long as you have authorised Tweetings we can monitor your mentions and direct messages and send you a push notification the very instant they arrive!

This is a huge change to our service and one we hope you’ll love.

I’m not getting the push notifications?

If you are an existing user you’ll be migrated into the new system automatically the next time you download a new mention INSIDE Tweetings, that means you have to load Tweetings and check your mentions! Then once an hour we will know you’re registered for instant push and add you to the service.

If you are a new user, the first time you load Tweetings and download your tweets, you may have to wait up to an hour to get your first push notification. After that they will be instant.

Posted by & filed under iPad, iPhone.

Since version 2.0 of Tweetings for Mac, users have been enjoying the addition of User Streams.

However coming very soon to both Tweetings for iPhone and Tweetings HD for iPad, we are very pleased to announce the support of User Streams for BOTH these devices!

Pull down refresh is so 2010… 2011 is all about streams! This great feature will be available in Tweetings for iPhone v4.0 and Tweetings HD v3.0. Just connect to a WiFi network and the tweets start streaming. New tweets will show up instantly, no need to ever refresh again.

Your home timeline, mentions and direct messages will all automatically update so long as you are connected over WiFi. Don’t worry if you leave the house and/or your WiFi connection drops, we’ll simply disconnect from the stream automatically and you can carry on as usual so you don’t waste your cell data limits.

When?

Well both updates have already been submitted to Apple for approval, we’ve been testing it with a great team of beta testers who’ve been pulling it apart for the past few weeks and it should be with everyone else in a week or two!

How do I enable it?

By default Tweetings for iPhone and iPad will not have this enabled.  You can turn this on yourself in both apps by going to ‘Settings’ (in Tweetings for iPhone this is under the ‘More’ button at the bottom of the screen), then scroll to the second titled ‘Display’, then tap ‘Advanced’ and then turn on ‘Streaming over WiFi’.

You’ll then need to restart Tweetings, this means tapping the home button to go back to the Springboard, Double Tap the Home button to get to the multitasking tray, tap and hold the Tweetings icon until the icons shake, tap the red close icon.  Load Tweetings as normal.