9 things you may not know about Services in OS X

Services is a little-known system features of OS X that provides commands and shortcuts that you can access from a Services menu. Services allows you to quickly perform actions in other app without first launching and interacting with that app. It’s a shortcuts that saves you from taking more steps.

Where does services come from?

Services are generally provided by OS X applications and third party programs that you installed on your Mac. You can also write your own services.

Go to Finder app and right-click on an mp3 file. A contextual menu will appear. Select Services from the menu to list the available services. In this example as show below, the “Unarchive To…“ options are services provided by The Unachiver app, “Add to Evernote” is a services provided by Evernote app, and “Encode Selected Audio Files” is a services provided by iTunes app. By selecting from the Services menu, you can directly launch and run the commands in The Unarchiver, Evernote or iTunes from within the Finder app.

things you may not know about Services in OS X from Finder

Using Automator to create services

OS X provides the Automator tool that you can use to create your own services. Automator uses the AppleScript programming languages when creating services, allowing you the complete control to simplify and automate any tasks under OS X. Once a services is saved from within Automator, your services will appear as a selectable option in the Services menu.

To get started with writing Services with Automator, you need some understanding of working with AppleScript. We will be covering the basics of writing services using Automator in future posts.

Access Services menu in Finder

You access services via the Services menu. Services menu appears when you right-click on file or folder in Finder, as illustrated in the first example above. 

Access Services menu from app menu

Services menu is available under each Mac app’s menu under AppName > Services. The following shows the Services menu under TextEdit app. It contains “Capture Selection from Screen” services from Grab app, and “Import Image” services from Image Capture app.

things you may not know about Services in OS X app menu

Access Services menu under contextual menu

In OS X, right-click or control-click on an object will display a contextual menu if the object provided one. For example, when you right-click on a file object under Finder, a contextual menu is displayed, and Services menu is located at bottom of the menu.

The following shows the contextual menu when you select a block of text under TextEdit app. Services menu is located at bottom of the menu. The services available includes “Tweet” or message the text selection, and adding the selected text to Evernote app with “Add to Evernote”.

things you may not know about Services in OS X contextual menu

The following shows the contextual menu when selecting a block of text under Safari. When there are few services available, the list of services are displayed at the menu bottom instead of grouping within a Services sub-menu. 

things you may not know about Services in OS X using Safari

For the case of Safari, you now have a “Search With Google” service which will search Google for the selected block of text.

Available services depends on context

Services menu will present to you different options depending on the selected object and context.

The following shows the Services menu for Pages app when you’re editing a document and have a block of text selected.

things you may not know about Services in OS X Pages 1

When you’re editing a Pages document without any text selection, this is what the Services menu displays:

things you may not know about Services in OS X Pages 2

When you have no open document under Pages, the Services menu is blank.

things you may not know about Services in OS X Pages 3

Where are services installed?

Services by OS X applications are mostly located from within the apps. If you’re writing your own services, save them under /Users/<username>/Library/Services folder where <username> is your OS X username.

If you’re copying or downloading services from somewhere else, place them under the same /Users/<username>/Library/Services folder.

If you’re using Automator to create your services, by default Automator will save your services under this folder.

Keyboard shortcuts to services

Using the Services menu from the app menu can be frustrating if you use them often. You can setup keyboard shortcut to specific services that you use regularly to save you time.

Go to System Preferences > Keyboard, and click on the Shotcuts pane. Then click on Services option on the left to display the list of available services.

things you may not know about Services in OS X keyboard shortcut

Scroll to and select the service that you want to assign a keyboard shortcut. Click on the add shortcut button and enter the keyboard shortcut you want. Please ensure that the keyboard shortcut you’ve chosen is not used by another application. 

Hide unwanted services

If you have a lot of applications in your Mac, chances are you may have a lot of services. You might have too many services to make using the Services menu a tedious task. Fortunately you can hide those unwanted services from appearing in the Services menu.

Go to the same preferences pane at System Preferences > Keyboard where you setup keyboard shortcuts for services. Simply uncheck those services that you do not want to hide them from appearing on the Services menu.

How to get started with recording audio on Mac

Whether you’re wanting to become the next Lorde, start your own podcast or recording a tutorial, the Mac has some of the best hardware and software around. We highlight some starters for you to look at to accomplish your next audio recording projects.

Hardware

Mac comes with a built-in microphone that is ideal for Skype call, but might be underwhelmed when it comes to capture the nuances of your voice quality. An external microphone is recommended for capturing best audio quality possible.

You might be tempted to use the EarPods with Remote and Mic that is bundled with your iPhone. That will work but the audio quality is not much better than the Mac’s built-in microphone.

To really boost the audio quality of your end result, consider an investment in an external USB microphone. There are a lot of microphones from which to choose. It can be overwhelming, here are two good ones to look into if your buying your next microphone.

Blue Microphones Yeti USB Microphone

Blue Microphones’ Yeti USB Microphone is a popular choice among podcasters and YouTube videocasters. It is plug-and-play with your Mac that will get you studio-quality recordings in no time. You can purchase Yeti USB Microphone for about $98 at Amazon and it is an all-rounder for recording interviews, podcasts and music. 

Audio-Technica AT2020 USB Condenser USB Microphone

Audio-Technica AT2020 USB Condenser USB Microphone is another starter microphone that produces studio-quality audio at a competitive price of about $130.

Software

If you’re coming from MS Windows background, you might be surprised to find out that there is no standalone app in Mac that is similar to Sound Recorder in Windows. Instead, Mac includes QuickTime Player and GarageBand for audio recording without the need of any additional software.

To use QuickTime Player for audio recording, select from menu File > New Audio Recording. A inconspicuous window will appear with few audio recorder controls.

Use QuickTime Player to record audio

Click on the triangle icon on the right corner and select from the list of input sources your microphone. And you can choose to record in “High” or “Maximum” quality. Hit the red button to record while you speak into the microphone.

Apple GarageBand for audio recording

GarageBand is bundled free with each Mac and and is a multitrack music creation app. You can use it to record audio from external source in the same way that we have used QuickTime Player to do so. GarageBand comes with a full fledge editor for you to edit and trim the audio.

Audacity for Mac

Audacity is a free open source sound recorder app. It is also a sound editor and audio format converter. It is not the easiest to use, but beneath the unpolished interface is a powerhouse app for audio recording, editing and format conversion.

Audio HijackPro from Rogue Amoeba

Audio Hijack Pro ($32) from Rogue Amoeba is an audio recorder that can record audio from any input, software and hardware on your Mac. If you can hear it, you can record it. You can even record audio from multiple applications at once, ideal if you’re recording interviews on Skype for example.

The above are some basic software recommendation to get you started. For professional level audio software, you can check out Apple’s Logic Pro X. If you’re Adobe Creative Cloud member, you already have access to Adobe Audition as part of your subscription.

Is there any other great audio recording apps on the Mac? Please leave comments to let us know.

Basic OS X command line utilities and tips

OS X comes with a powerful command line interface as with any operating system derived from Unix. Before the age of graphical user interface, command line is the only way for human to interact with computer.

At the heart, command line is the place where you key in commands and programs, and the command line interface will run them for you. You can also combine commands into a script file and run them all at once.

To get access to the command line interface, run the Terminal app which is available at Applications > Utilities > Terminal. You might want to add the Terminal app to the dock. 

The prompt

When you first launched the Terminal app, it will open a command line window with a prompt similar to:

Last login: Mon Mar 24 11:15:38 on ttys001
$

It tells you when is your last login time, follow by a “$” prompt. The prompt is now waiting for you to enter command.

The command line prompt is customisable thus you might see a different symbol or text other than “$”. For example it is common to format the command line prompt to contain your computer name and user name.

machome:~ sandy$

In the above example, “machome” is the computer name and “sandy” is the user name. You will see a different prompt on your Mac depending on the setting of the prompt. We will describe how to customise the prompt in a future post. 

The shell

You can open one or more shell window under Terminal app, and they each work independently. As shown below, you can customise the color and font for each shell window under Terminal.

Basic OS X command line utilities and tips multiple windows

For each window that you open under Terminal, the app is running a shell program that handles the interaction with you. There are a number of shell programs available to serve as the command line interface. Popular choices include Bourne shell (sh), C Shell (csh), Korn Shell (ksh) and Bourne-Again shell (bash). Each shell program varies with each other by means of default command behaviour, settings files and syntax when writing shell scripts.

OS X comes with bash as default shell. You can off course change the shell according to your liking. We will be focusing on bash for this and future posts.

You can use the echo command to check the shell that your terminal is using:

$echo $SHELL
/bin/bash

For the above, we issue the echo command to print out the environment variable “$SHELL” which hold the value of the shell program.

Working directory

There is this concept of current working directory when you’re at a command line prompt. This is simply the directory you’re on when issuing a command at the prompt.

When you open a new terminal window, by default the shell program will land you at your home directory under /Users/.  Issue the pwd (print working directory) command to check your current working directory:

$pwd
/Users/sandy

Current directory is important as commands and tools will assume it is the working directory unless otherwise stated. This is especially so for commands that act on files on a directory.

Listing directory

You can list the content of the directory using ls:

$ ls
Applications
Desktop
Documents
Downloads
Library
Movies
Music
Pictures
Public

You can display more detail info using the “-l” parameter of ls:

$ ls -l
total 217952
drwx------ 3 sandy staff 102 Jan 19 01:26 Applications
drwxr-xr-x+ 20 sandy staff 680 Mar 24 09:28 Desktop
drwx------+ 10 sandy staff 340 Mar 19 12:45 Documents
drwx------+ 50 sandy staff 1700 Mar 24 09:07 Downloads
drwx------@ 74 sandy staff 2516 Jan 29 03:43 Library
drwx------+ 8 sandy staff 272 Mar 19 12:45 Movies
drwx------+ 6 sandy staff 204 Mar 19 12:45 Music
drwx------+ 11 sandy staff 374 Mar 19 12:45 Pictures
drwxr-xr-x+ 6 sandy staff 204 Mar 19 12:45 Public

The above shows how typically one uses parameters to change the behaviour of a command.

Changing directory

You change the current working directory by using the cd (Change Directory) command. To change to your Documents directory:

$ cd Documents
$ pwd
/Users/sandy/Documents

If you do not specified any parameter to cd, the shell will change the working directory to your home directory:

$ pwd
/Users/sandy/Documents
$ cd
$ pwd
/Users/sandy

Home directory is also represented by the symbol “~”:

$ cd ~/Desktop
$ pwd
/Users/sandy/Desktop
$ cd ~
$ pwd
/Users/sandy

 To go back one directory level up, use “..”:

$ cd ~/Pictures
$ pwd
/Users/sandy/Pictures
$ cd ..
$ pwd
/Users/sandy
$ cd Music
$ pwd
/Users/sandy/Music
$ cd ../Applications
$ pwd
/Users/sandy/Applications 

Get help with man

To get the help page for a command, use the man (Manual Page) command. The help page is also called a man page. Thus to display the man page for ls command:

$ man ls

Basic OS X command line utilities and tips manual

Use the arrow key or space bar to scroll the manual page. Press the “q” key to quit.

Auto Completion

When you’re entering command line parameters, use the tab key to auto complete directory and file name. Type the first few characters, and then press the tab key, and the command line will fill the rest for you.

For example when at you home directory, and to navigate to the Desktop folder, enter “cd De” and press the tab key. The shell will fill up the command line with “cd Desktop” for you.

Warnings

Please note that command line interface gives you all the power to control your computer, up to the point of total destruction. Thus it is important to understand a command before you run it. 

21 essential OS X command line tools

21 essential OS X command line tools

Underneath the graphical user interface (GUI) of OS X lies a powerful command line interface and its army of utilities. These tools are task oriented programs that was the sole interface to computer before the age of GUI. Most of what you do with OS X can be deal within GUI programs, but command line still offers the most power and flexibility for certain tasks. 

Proficiency in using command line tools is critical for IT professional such as administrator and developer. For the rest of us, a good grasp of basic command line utilities is in the realm of power users, that improves your understanding on how OS X works, and will pay dividends when it comes to automating tasks with your Mac.

There are hundreds of command line utilities. We will be going in depth in future posts on command line tool usage. For now, we highlight with brief overview 21 essential ones. To use any of these tools, you need to run them under command line interface. OS X comes with the Terminal app (Applications > Utilities > Terminal) for command line interface.

cd  – Change Directory. Change the current working directory.

ls List. List the content of current directory.

pwd Print Working Directory. Display the current working directory. Useful when you’ve lost track of where you are in current terminal session.

mkdirMake Directory. Create a new directory.

rmdirRemove Directory. Remove a directory.

cpCopy. Copy files or directories to a new location.

mvMove. Move files or directories to a new location. Commonly use to rename files or directories.

rmRemove. Remove files or directories.

ps – Process Status. Display information about the processes running in your Mac.

history – Display the history log of the command lines that you’ve entered.

man – Manual. This will display the man (manual) page of command. For example “man ls” will display the man page for ls command with its description, command line switches and usage examples.

whoamiWho Am I. Display the user name.

uptime – Report how long the system has been running since last reboot.

kill – Terminate a specified running process.

exit – Exits out of running program or ends a command line session.

find – Searches for files at specified directory that matches a set of condition. Useful for quickly finding certain files.

grep – Search through input files, return lines that matches a string pattern. 

sudo – Runs a program as super user that has no permissions limitation.

dfDisplay free disk space. Display the disk usage info of the file system.

ping – Check if an Internet host is reachable. Probably the first tool you use to troubleshoot a network issue.

wget – Download URL file and resource from the Internet.

How to attach files and documents in Mail for iOS

iOS does not come with a common storage for files and folders. There is no equivalent of Finder app in iOS. This makes it tedious for a simple operation as attaching file in Mail app. Ideally we should all store our documents in the cloud, and instead of attaching file, we just email the link to the file in cloud storage such as Dropbox, Google Drive, OneDrive etc. But we don’t live in the future and attaching files in email is a real requirement to many iOS users.

Attach directly within Mail app

Mail app comes with the ability to attach photos and videos stored in the Photos app, this includes those in your iCloud Photo Stream. When drafting an email, tap and hold on the editing area. On the popup, scroll to look for “Insert Photo or Video” and tap on it. This will present you a screen to select your photo or video in the Photos app and insert it into the email.

How to attach files and documents in Mail for iOS

Thus if you have any image or video that you want to attach into an email, first save the picture into the photo library of Photos app. Then you’d use the above method to attach into an email.

To attach other document type other than photo and video, we’re out of luck as Apple is not making it easier. There is no direct method within Mail app to attach other document type. We need to depend on iOS inter-operability feature and Mail app API.

Copy and Paste

Copy-and-Paste via system clipboard is another method you can use to attach a document into an email. The implementation however varies across apps.

When you select a picture in Photo app and tap on “Copy”, the picture content is saved into the clipboard. You can then go to the Mail app and “Paste” the image into email compose screen. 

When you’re viewing a picture in Safari, you can copy the image by tap-and-hold and select the “Copy” option. But Safari will copy the image URL instead of the image content to the clipboard.

When you’re using cloud storage such as Dropbox or Google Drive, you can only copy the URL link of the documents into the clipboard, and not the document content. We have not come across any iOS app that would allow you to copy the whole content of a non-photo/video document into the clipboard. If you do, please highlight the app in the comment.

No “Open in…”

“Open in…” is implemented by many iOS apps. This allows us to transfer the content of an app to use it in another app. For example when viewing a PDF document in Dropbox, you can “Open in…” the PDF document to apps that can accept PDF document such as iBook, Google Drive or Evernote. Dropbox will actually transfer a copy of the PDF document to your selected destination app.

Unfortunately Mail app does not implement the “Open in” protocol.

Mail app API

Mail app has a build-in API that allows third party app to implement a “send by mail” feature. Third party app is able to activate the Mail app compose email screen, and optionally attach a document. As an example, Numbers and Pages have a “Send a copy” function which uses this API. 

Unfortunately not all document apps implement this Mail API. And when you try to mail a document from within Dropbox or Google Drive, you get an URL link instead of an attached document.

Workaround

One work around that you can use is to email the document from the Mac. You can then forward the email with the attached document on your iPhone or iPad, and compose the proper email. This is especially useful if you’re attaching different types of documents such as a Numbers file, a PDF file and photos in one email.

It is clear that the direction is for us to store documents in the cloud, and share those documents via URL link instead of direct attachment of the document content. Until Apple comes out with changes in new iOS release with feature such as a common storage, attaching document will always remain a laborious task on your iOS devices.

iOS 8 wish list: 8 things we want

iOS 8 wish list: 8 things we want

Apple is expected to unveil iOS 8 at its WWDC developer conference in June this year, with a final release in September. Here are the wish list for eight features that we would like to see in iOS 8:

Multiple user account – this is a feature many need since the first release of iPad. Multiple user account is part of the underlying core of iOS, which shares the same foundation as OS X. Unfortunately it seems quite certain that Apple wants each of us to have our own iOS device, and this feature is unlikely to appear in iOS 8.

Spotlight search for apps – currently you can use Spotlight to search for data in default iOS apps such as Contacts, Mail etc and list of installed apps. It would be ideal if Apple can open up the search API for third party apps so that we can search directly within them from Spotlight.

Weather, stocks, calculator, voice memo, compass for iPad – these apps are default iOS apps for iPhone but are missing in iPad. Why Apple why?

H265 video codec – H265 promises to be a more efficient codec than current standard H264. Lets hope Apple will start supporting this next-generation video codec in its hardware and platform starting this year.

24bit HD audio – 24 bit HD audio caters to a niche audience as many in the population can not readily differentiate the higher quality delivered. But there is certainly growing interest as high end HD audio gears are now more affordable than ever. You can play and listen to HD audio on OS X and iOS devices, but it would make HD audio more ubiquitous if Apple support it directly in iTunes store and its music player. 

Quit all background apps – to close an app, you activate the multitasking screen and flip the app up. However you can only close one app at a time. It would be nice if there is an option to close all background apps at once. Maybe just a switch within Settings to clear off background apps after a reboot?

Record voice call – Apple should build recording facility right within the Phone app. There is no easy way to record a phone call, unless you’re running a jailbreak device with unauthorised recording app.

Run universal app in iPhone – you can run iPhone only app in a simulation mode in iPad. It would be nice to do the reverse with the ability to run iPad app inside iPhone. It might work as the screen size for iPhone 6 is rumoured to be bigger.

Top 5 best resources to learn iOS app programming

There are vast online resources you can tap on to get started on iOS app development. Among the forests of sites, tutorial and books, we hand picked the top 5 best resources to get you dive in straight away.

Apple iOS Dev Center

Top 5 best resources to learn iOS app programming Apple iOS Dev Center

Nothing beats the official source of information on iOS app development. Apple’s iOS Dev Center contains all documentation, tutorials, sample codes, downloads and marketing resources that you need to get your app from zero to App Store. You can register for free on the site for access to these information. And then sign up for the paid $99 per annual developer program when you’re ready to ship your apps.

Stanford CS193P

Top 5 best resources to learn iOS app programming Standford CS193P

Offered by Stanford’s School of Engineering and available via iTunesU, CS193P Developing iOS 7 Apps for iPhone and iPad is hands down the best course for beginner iOS developers. Stanford has been offering this course for a few years, and there are editions of this course for older iOS version. Please make sure you pick up the latest one updated for iOS 7.

iOS Programming: The Big Nerd Ranch Guide

Top 5 best resources to learn iOS app programming The Big Nerd Ranch Guide

There are many good books on iOS programming, and you can’t go wrong by starting with iOS Programming:The Big Nerd Ranch Guide. Currently into its 4th edition, the book covers comprehensive area of iOS app development by going through building actual applications. 

Ray Wenderlich

Top 5 best resources to learn iOS app programming Ray Wenderlich

RayWenderlich.com is one example of a personal blog evolves into one of best iOS learning resources on the web. The site contains quality written and video tutorials, podcasts, free and paid ebooks, with team of experts contributing contents on beginner and advanced iOS programming topics. 

StackOverflow

Top 5 best resources to learn iOS app programming Stack Overflow

StackOverflow is the de facto questions-and-answers site for programmers. Before asking your first questions on iOS programming, do a site search. Your questions more than likely have been asked and answered before. 

What to look up for when buying backup battery for your mobile device

What to look up for when buying backup battery for your mobile device

We are buying and carrying more mobile devices than before. Battery life in these gadgets is one technology that never quite catches up to our on-the-go power requirements. As a result, mobile backup battery is in hot demand and there are floods of such product in the market. These backup batteries comes in different sizes, specs and varying prices that make choosing the appropriate one seems a daunting task for new buyers. Fret not, here are a few essential things to consider when choosing a quality backup battery for your iPhone, iPad and gaming device.

Capacity in MilliAmp Hour (mAh)

This is one prominent spec in backup battery that determine the capacity of the battery. The higher the mAh the longer the battery charges will last. iPhone 5/5s has a battery capacity of 1440-1570 mAh, thus you want to look for a backup battery with at least 1600 mAh to ensure a full charge. iPad Air has a battery capacity of about 8820 mAh, so you need to look for a backup battery with at least 8900 mAh for a full charge. 

Charge Speed (Output DC)

This is the more important spec that is often neglected by the average buyers. It refers to how fast it takes to charge your device. As an example, a battery with 2 amp output will fully charge an iPhone up to twice as fast as one with 1 amp output. In addition, most tablets require at least a 2 amp output to be able to even start charging. When looking for a backup battery, check the output DC spec to ensure it is compatible with your devices.

Battery Manufacturer

The quality of battery matters as it means longer battery usage life. Most backup battery will tell you the kind of battery (Lithium-Ion/Polymer) inside, and if possible look for those made by reputable manufacturers such as Panasonic or Samsung.