What Is Night Owl?
Night Owl is the only accessible Twitter client for the Mac, or at least the most popular among VoiceOver users. With it, you can retweets, manage lists, send direct messages, save searches, and much more. While most of the app is relatively simple, some parts can be a bit confusing, and there are some undocumented shortcuts and features. This guide will walk you through the basics of the app, and explained most of the features. If audio is your thing, AppleVis has has a Night Owl podcast.
This tutorial assumes that you have a basic level of familiarity with VoiceOver. You don't need to know any advanced commands, but the basics--navigating the screen, activating buttons and pop-up menu's, interacting, and so on--are required. Of course, you will also need to already have a Twitter Account activated–you need to know that accounts user name and password in order to login. If you don't yet have an account, creating one is simple and free. To learn more about twitter, and to create your own account, visit the Twitter website.
When you first launch Night Owl, you will be prompted to sign into your Twitter account. If you are not, or if you are already signed into one account but want to sign into a different one, open Night Owl's preferences with command-comma, choose the accounts button from the toolbar, then find and activate the "Ad" button. You will be taken to a webpage where you enter your Twitter username and password, and Then press enter to sign in. Assuming your credentials were correct, you will be asked to grant Night Owl access to your Twitter account; do so, and you will be returned to the main window. Now that you have successfully signed in, it's time to see how this app works.
the Main Window
This is where you read and manage tweets, compose new tweets, find users, and more. There are several important things here, and we'll examine them one at a time. To make things easy, we'll go from the top of the window and use vo-right to move from item to item. Press vo-shift-home (vo-shift-fn-left on Apple keyboards with no Home key) to get to the top, and you'll land on a text label telling you the current tab (which is probably Timeline) and the name of the account you're using. Press vo-right to get to….
The first important thing you'll find is a toolbar. Interact with it and you'll see buttons for viewing a user's timeline or the conversation, marking a tweet as read, and more. While you can certainly use all these buttons if you like, all of them also have keyboard shortcuts which you will probably find much more convenient. Stop interacting with this toolbar once you've reviewed it, and press vo-right. You'll next come to…
Once you land on this item, which VoiceOver identifies simply as "Drawer", interact with it to explore the contents. The Drawer is where information and management tools for the author of the focused tweet will appear. For example, you can follow/unfollow, block, or report the user; you can view their profile, location, and picture; you can see how many followers they have, how many people follow them, and how may tweets they've posted; and you can see details on the tweet in focus over in the list.
The one item in here with which you can actually interact is the "User Action Menu". Once you activate this menu, you have several options, all of which are self-explanatory--Reply, Retweet, Direct Message, etc. The "Following Status" submenu is where you go to follow, un-follow, or block a user, and it also shows you if the user is following you (you'll need to vo-up arrow to see that last one; plain old arrow keys will skip over it as it is dimmed). Once you're done, stop interacting with the Drawer, vo-right, and land on…
There are three items associated with writing tweets, and they start just after the Drawer. Note that you may see an item called just "image" first; I have no idea what this is, and it has no label or help tag. Anyway, the first item we're interested in is an edit field, where you type your tweet. If you are retweeting with a comment, direct messaging, or replying to a tweet, text will appear in this field with your cursor at the start or end, as necessary for the action you're performing. Note that this field is not automatically emptied; if you first try to DM someone, but don't send that message and later reply, the text for direct messaging will appear in the field in addition to the reply text.
After the text field is the "Action Menu Button". Activating this will show you a list of actions to take on the tweet you are writing, but you will rarely need them. Shortening URLs, for instance, does not appear to do anything, nor does Stick Hashtags. The rest of the items can be found in the Tweet menu (vo-m, then find and activate the menu) along with a wider set of options than what is available in this popup menu. Plus, nearly all of them have hotkeys assigned, making this menu redundant.
Finally, you have the character counter. This is a label that tells you how many characters appear in the text field, so you can check to see who many you have left. If you exceed Twitter's 140 character limit, the counter will be negative. Text with 145 characters in it, for example, will cause the counter to show -5. Note that your punctuation level may cause VoiceOver to not read the hyphen in front of the number, indicating that you've exceeded the limit. The last thing in the main window, to the right of the counter, is…
This table has no label, but it is the only table in the window. It shows the tweets for the currently selected tab--more on that in a moment. You can review tweets by moving to the table and pressing up or down arrow, but be very sure Quick Nav is off. You can also use J and K if you like. Note that you do not need to interact with the table, only be focused on it. You can jump to the start or end with option-up or option-down.
By default, you're viewing your Timeline Tab, which is tweets from all the accounts you follow as well as any mentions you get from any accounts. However, you can choose to view mentions, DMs, saved searches, and so on if you like. Each one of these is called a "tab". To change tabs, you can either:
- use command-left or command-right. As you do, the tab changes, but VoiceOver doesn't say what the new tab is. Use vo-f2 if you need to check, as this speaks the window title and thus the newly focused tab.
- use control-1 through control-0. Control-1 is your Home tab, control-2 is mentions, control-3 is DMs. After that it depends on your preferences, but you'll quickly get to know which numbers go to which tabs if you use this method a lot.
As you read tweets, you can do a lot of things. Nearly all of these are in the dropdown menus--accessed with vo-m--and I encourage you to review those menus to see just what is available. Here are some common actions to get you started:
- reply: enter. This replies to the sender, and does not include anyone else mentioned in the tweet.
- Reply all: shift-enter. This replies to the tweet, mentioning every username that is in the original.
- D: send direct message to the sender of the focused tweet. This is allowed no matter what, but if you try to send a DM and Twitter won't accept it, you'll see an error. Note that hitting enter in your DMs tab will automatically reply with a DM, not a standard reply. Thus, in that tab, enter and D do the same thing.
- F: favorite current tweet, or un-favorite it if you already favorited it.
- Cmd-shift-v: retweet. This posts the retweet straight away, with no confirmation (depending on your preferences).
- cmd-option-v: retweet with comment. This places the original tweet, along with "RT @username: ", in the tweet text field. Your cursor is positioned at the start of the field, letting you type your comment. Note that no space is inserted before the RT, so remember to put one in.
- L: open links in tweet. This will open any links found in the current tweet as new tabs in Safari, and will switch you to Safari as it does so. If you like, you can have Safari do this in the background instead; look in Preferences > Advanced. Image links will not be opened, so if you hit L on a tweet you know had a link and get an error sound, the cause is most likely that the link is to an image.
- cmd-t: translate tweet to target language. You can set what language tweets are translated into in Preferences > Services.
- cmd-e: send all links in the current tweet to your read later service (configured in Night Owl's preferences).
- exclamation mark (shift-1): mark the tweet as spam, and report the user to Twitter. This will also remove the tweet from your timeline.
- cmd-c: copy tweet text to your clipboard.
- cmd-2: view most recent 100 tweets sent by the sender of the current tweet
- cmd-3: view all tweets in the conversation of which the current tweet is a part
- cmd-1: return to normal view if in user timeline or conversation views
The next question people usually have is: how do you locate new people to follow, or look at someone's timeline?
As mentioned, pressing cmd-2 on a tweet will show you the most recent tweets that user sent, but that doesn't help if you have no tweets from the user you're looking for. In that case, press cmd-u, type in the username, and press enter. You will be taken to the user's public timeline, from where you can use the "User Action Menu" in the drawer to follow or un-follow them. You can also reply to or retweet a tweet in this view without having to follow the user.
Note: as of the time of this writing, there is a bug in Night Owl. Through the place where you type in a username after pressing cmd-u is a combo box, meaning that you should be able to type a few characters and down arrow to review possible matches, you can't. When you try, Night Owl goes busy for a while, and you eventually have to press escape to close the window. The feature works perfectly if you type the full username without trying to arrow in the combo box, though.
Searching Your Tabs
You can search for words in the current tab, perfect for locating a tweet you partly remember or quickly looking at tweets containing a hashtag. Please remember, though, that this searches only the currently selected tab; full searches will be discussed in the next section.
To start a search, move to the tab you want to search and press cmd-f. you will be placed in a text field; type the word or phrase you want to find, and press enter. You can now tab or vo-right to the table of tweets, which will hold only those tweets that contain whatever you just typed. As you'd expect, you can use all the usual tweet commands here. When you are finished with the search, find the "Done" button and activate it. You will be returned to the timeline from where you launched the search.
The next step up from a local search is to search all of Twitter. Night Owl lets you find tweets not just by hashtags, but by usernames or even regular expressions as well. To get started, go to the Tools menu and choose "Configure Custom Tabs…" or press cmd-p. This is called "custom tabs" because any search you do will be stored in its own tab, letting you save the search if you want to.
When you first see this search dialog, you will probably land on an empty table. Find and activate the "Add" button, which will add a new custom tab and bring up its options.
First, you will find a text field into which to type the tabs name. This is what will be used for the window title when this tab is active, so a meaningful name--like "#AppleVis global search"--is a good idea.
The second thing to do is choose the kind of tab you want, using the four radio buttons. Your choices are:
- Filter Tab: this searches your timeline for usernames, keywords, or regular expressions. This is not a global Twitter search, but rather a search of the tweets already in your timeline.
- Twitter Search: this does search all of Twitter. You can look for words only, and this is the usual way of looking up and/or tracking a hashtag.
- Advanced Twitter Search: this, too, searches all of Twitter. The "advanced" means that you can use search terms to find tweets from a given date range, geographical location, and more. Once you create a tab of this type, you will find a button that takes you to Twitter's Advanced search page, explaining just how to use the feature.
- Twitter List: this is how you'd add a list as a tab. You can also create new lists, and modify lists that are already created.
The specific steps for each tab type are a bit different, but everything is labeled and self explanatory. All tabs have an "Options" button, where you can configure options such as alerting when new tweets arrive in the tab, whether to count unread tweets toward Night Owl's badge, and more. When you've set up your new tab the way you want, find and activate the "Apply" button, then the "OK" button. The configuration dialog will close, and you will be placed in your new tab. Now, if you go back into the Custom Tabs dialog, you'll see your new tab in the table; you can add a new one, use the options to configure the one selected in the table, or delete the tab using the Remove button (warning: this button removes the tab immediately, with no confirmation).
Muting Users or Hashtags
Sometimes, you want to follow someone so you can DM them, but you don't want to have their tweets appear in your timeline. Or, there's a hashtag you really don't care about, so you want have any tweet with that term not appear. Fortunately, Night Owl has a powerful muting system. Please note that this does not tie into Twitter's own mute rules, so anything you set up in Night Owl will not apply to other Twitter clients or the Twitter website.
Press cmd-b to open the Mute Rules dialog, or choose it from the Tools menu. You will land on the first of four radio buttons, each letting you mute by a different criterium: keyword, username, regular expression, or application. No matter which you choose, the process is the same: select the type of muting you want to do, vo-right to the text field, type what you want muted, activate the Apply button, and then hit the OK button. Night Owl will apply the mute rule(s) you just set up, and your timeline should get less cluttered immediately. If you don't see your rule(s) taking effect, hit cmd-ctrl-t to re-filter.
I won't go through all of Night Owl's preferences here, as they are all labeled and obvious; anything you find that lacks a label, in my experience, does nothing at all and can be ignored. I will, however, tell you about the settings you should look at, especially as a VoiceOver user. The following lists the tab where the preference is found, then the name of the preference itself.
- Accounts > General > Unread management items: all the checkboxes dealing with unread management affect how Night Owl's badge (the number spoken after the name) is managed. For example, if you uncheck "manage unread tweets in Timeline Tab", and you get a mention which you read in your timeline instead of mentions tab, you will find the badge does not change. If you check it, and read that mention in your timeline, the badge will change.
- Accounts > General > Use Tweet Marker to sync scroll position: in theory, this should sync your position on your timeline with other apps (such as Twitterrific or Tweetings on iOS)which also support Tweet Marker. Unfortunately, I have not worked out a way to get VoiceOver to move to the position Tweet Marker indicates, making this feature effectively useless for reading tweets in Night Owl. If you figure out how to make this work, please leave a comment. However, enabling this will let other apps that properly scroll to Tweet Marker's position function; in other words, other apps will move to where you last left off in Night Owl, but Night Owl will not move to where you left off in other apps.
- Text Input > Show candidates automatically Autocomplete: uncheck it. This setting causes Night Owl to offer suggestions as you type usernames or hashtags, and sometimes it works. More often, though, it does nothing and causes you to lose typing feedback.
- Appearance: despite the name, some settings are worth looking at in here. You can set whether tweet times are relative or absolute, if screen names or usernames are used, and more. Many of the settings don't appear to have an affect--show one-sided follow, enable hyperlinks in tweets, etc--but some are important.
- Tab > Move between tabs when jumping to unread Tweet Unread: the spacebar moves you to the first unread DM or mention. This setting will control whether that command lets you move from your current tab to the tab where the unread item is. Note that I've found it to sometimes not work correctly.
- Colors: all these settings let you control the color of different types of tweets, as well as the backgrounds. This could be extremely useful for low vision people, so if you have some sight, it's worth looking in here and setting the colors that work best for you.
Night Owl lets you have as many accounts as you like. Simply go to Preferences > Accounts, choose the Add button, and sign into your account to add it. As you'll see in the Accounts tab of Preferences, you can customize each account's sound settings, notifications, and more independently of the other accounts.
Once added, you can switch between accounts from any tab with option-cmd-up or option-cmd-down. Accounts are sorted by the order in which they are added, with the newest at the bottom. I can't find a way to sort them manually.
That's all there is to Night Owl, though I didn't cover everything possible with this app. I encourage you to explore the dropdown menus, especially the Tools, Tweet, and Timeline menus. If you have questions, if I missed something important, or if I didn't make something here as clear as I needed to, please leave a comment.