Problems with FFMpeg on a DVD? Try Handbrake

I was having problems converting recorded video from a Panasonic EH65 burned onto a DVD into an audio MP3 file using FFmpeg (Windows | Mac [Alternative: ffmpeg from ffmpegX, but did not work well for me]). The typical

ffmpeg -i VTS_01_1.VOB -vn -acodec libmp3lame -ab 192000 ~/1.mp3

was not working. I got 2 different errors/problems:

Error 1: Output file #0 does not contain any stream

mymac:VIDEO_TS thewheat$ ffmpeg -i VTS_01_1.VOB -vn -acodec libmp3lame -ab 192000 ~/1.mp3
[h261 @ 0x1805000]warning: first frame is no keyframe
Input #0, h261, from 'VTS_01_1.VOB':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: h261, yuv420p, 176x144, 29.97 tbr, 1200k tbn, 29.97 tbc
Output #0, mp3, to '/Users/thewheat/1.mp3':
Output file #0 does not contain any stream

Error 2: Segmentation fault

mymac:VIDEO_TS thewheat$ ffmpeg -i VTS_01_2.VOB -f avi -vcodec mpeg4 -b 800k -g 300 -bf 2 -acodec libmp3lame -ab 128k ~/2.avi
Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 25.00 (25/1)
Input #0, mpeg, from 'VTS_01_2.VOB':
Duration: N/A, start: 1821.101711, bitrate: N/A
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 16:15 DAR 4:3], 9282 kb/s, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 384 kb/s
Output #0, avi, to '/Users/thewheat/snatch.avi':
Stream #0.0: Video: mpeg4, yuv420p, 720x576 [PAR 16:15 DAR 4:3], q=2-31, 800 kb/s, 90k tbn, 25 tbc
Stream #0.1: Audio: libmp3lame, 48000 Hz, stereo, s16, 128 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding
Segmentation fault5 q=38.8 size= 81654kB time=318.31 bitrate=2101.4kbits/s

I admit that the burning process of the DVD ran into issues but it seemed to have burned the DVD properly as I could play it. Really not sure what could be the cause of Error 1, perhaps metadata was not written properly, but for Error 2 it is because the VOB file is a combinations of 2 different titles of the video. The EH65 (and I think every video DVD burning software) creates VOBS of not more than 1GB. So if you have a 2.5GB MPEG2 video it will be split into 3 VOB files on the DVD. I was burning 2 separate recordings that was split in a total 3 VOBS, VTS_01_1.VOB was the first part of the first recording, VTS_01_3.VOB was the last part of the second recording and VTS_01_02.VOB (the middle file) was the last part of the first recording combined with the first part of the second recording. I believe ffmpeg has an issue at the joining points of these 2 recordings. Thus it is able to retrieve the last part of the first recording but is unable to retrieve the first part of the second recording.

So I ended up using Handbrake and it worked like a charm. I had to create a video file using Handbrake (setting video size to 0MB caused it to crash) so just used
ffmpeg -i video.mp4 -vn -acodec copy output.mp3
to retrieve audio. FFmpeg will always have a place in my multimedia handling/transcoding workflows. I did try VLC (via the “Streaming/Saving” option) to do the transcoding but it just seemed to dump the entire output instead of creating an audio file (MP3/OGG vorbis). Some possible alternatives to FFmpeg are VLC command line transcoding and mencoder that I’m still trying to get a hold of, but FFmpeg is still a great piece of work =)

Canon CanoScan LiDE 20 on OS X 10.5.8

In order to get the Canon CanoScan LiDE 20 working in OS X 10.5.8 (and from the comment responses 10.6 Snow Leopard as well)

  1. Go to the Canon CanoScan LiDE 20 product page
  2. Click the “Drivers & Downloads” tab
  3. Select “Mac OS X” from the dropdown menu
  4. Download CanoScan Toolbox Ver. 4.1.3.0X (Direct Download Link)
  5. Download LiDE 20/LiDE 30 Scanner Driver Ver. 7.0.1.1aX (Direct Download Link)
  6. Install the CanoScan Toolbox first
  7. When installing the driver specify the “Plug-Ins” folder in the CanoScan Toolbox installation directory
  8. Open up the “CanoScan Toolbox, click settings and it should detect ScanGear CS 7.0X as the driver and scanning should work without a hitch
  9. The scanner is fully operational including the scanner buttons to scan, copy and email (the button actions can also be customized)

Update
Some tips that may help if you’re having installation problems

eSpeed’s Speed on Demand

eSpeed’s Speed on Demand service is similar to the pay-per-view service on cable TV, Speed on Demand provides a pay per usage service for eSpeed users to increase their upload and download speeds for a period of time. The current offering allows users to boost their downstream bandwidth to 1Mbps or 2Mbps for a period of 1 hour. The typical eSpeed user would have eSpeed value surf plan which has 512kbps / 0.512Mbps download and 128 kbps upload speeds.
In order to activate the service, users will have to do the following

  1. Surf to the website http://espeedondemand.com.bn or http://espeed.com.bn/SpeedOnDemand
  2. Sign into their account (username: telephone number, password: bill account number)
  3. Select the appropriate package and confirm
  4. The service should be activated and ready for the user to utilize it

Prices are:

  • B$0.90/hour : 1 Mbps download / 500 kbps upload
  • B$1.50/hour : 2 Mbps download / 600+ kbps upload

This service is great for the times when you need just a quick boost for instance to play online games, download things within a deadline, conference (video) calls and live streaming. I know this would have been great for my friends wedding streaming that I did 2 months ago.

A few things to note is that you can only activate the service in blocks of 1 hour. You will have to reactivate it every hour in order to extend the service. There will be no disconnection of any service when the time period expires, it will just but cut to the normal service. The username and password is far from secure. The username is the telephone number registered for the eSpeed service and the password is the account number that you get on your eSpeed bill. I would like to see something more secure than this as I believe this could be used maliciously to charge another persons eSpeed account. The account number is far from being a secure password as for payment of Telbru bills via online/telephone/ATM banking, the bill account number is used.

Note this service is currently offered to users that are using Alcatel Lucent modems, not the Huawei modems as of yet as mentioned in Starboykb’s post. If you do not use the Alcatel Lucent modem you will see a message saying “speed coming to you soon” and to call 121 for further details (as shown below), but no other added details.
espeed speed on demand website for non alcatel lucent modem users

This has led people, myself included, to believe that this Speed on Demand service is a big failure as in Starboykb’s post he mentions that he delayed his post for over 5 months waiting for Telbru to announce the service, and on announcement of the service it seems as if the website is down. There is no information that this is currently only available for Alcatel Lucent modem users. This in itself is bad on Telbru‘s public image as a majority of eSpeed Brunei users complain or have issues with their eSpeed service. My suggestions to Telbru would be to continually update their eSpeed Forum blog and/or provide means for people to ask questions and have an updated repository of FAQs. Even the advertisement in the papers gave the wrong URL for the website.

Speed on Demand advert with wrong URL

After calling 121 they informed me that if you are currently using a Huawei modem, you will have to switch to an Alcatel Lucent modem. However, in order to do this they need to switch a port on their side and that means that you will have to unsubscribe and resubscribe to the eSpeed service. The technician did mention that they will be conducting maintenance tomorrow night (Sunday 11th October) at 11PM and trying to upgrade the Huawei network to support this Speed on Demand service. So if all goes well Huawei modem users will be able to try this service on Monday. I asked the person for upload speeds of the 1Mbps and 2Mbps packages and I believe he tested it on the spot and reported them as 500kbps and 600+kbps respectively. It seems they don’t advertise the upload speeds for this service nor their current eSpeed service.

So all in all Speed on Demand seems like an interesting service with possibilities in the future for pay-per-view applications. Imagine Telbru having movies for rent that are accessible with this download speed, or something of this nature. This could lead to people trying to create content specifically for Brunei live streaming with pay-per-view licensing from Telbru. I for one will try this service out for any live streaming event that may come in the near future. The service itself opens up possibilities but I wonder if the PR itself will make more of a headline than the actual product.

Note: I would like to thank Hajah Ajijah Shanti (I hope that’s right) for allowing me to interview her at the Mall booth this afternoon

Update 1 (12/Oct/2009 am): From a Twitter conversation with tiongloong it seems that this service may be for subscribers on a different network to the older Huawei modem users. He says that he recently switched to an Alcatel Lucent modem 2 months ago but he can’t access the website. So perhaps Speed on Demand is only applicable for newer subscribers that are placed on a different network and since they are newer subscribers they have Alcatel Lucent modems. And to make things easier for the people at the roadshow the technical team just told them that it is for Alcatel Lucent modem users at the moment, not the Huawei modem users.

Update 2 (17/March/2010): Seems that only users with modem/router WAN IPs starting with 119 have access to the service

Update 3 (1/April/2010): I can confirm that the Speed on Demand page does load for 118.x.x.x, not sure about the 119.x.x.x as mentioned above. Perhaps the Telbru staff meant to say 118 but who knows maybe this is even a newer and different network. Review of Speed on Demand service will hopefully be done in a few days =)

Bypassing the Guest@UBD Proxy Authentication

So I happen to be in UBD the other day and the typically open Guest@UBD wireless access point seemed to be proxied and requires authentication as shown below.

guestubd proxy authentication popup

Normally it won’t ask for any authentication. Assuming that the access point is a legitimate one, a guest at UBD would not have any login credentials now would they? However I did notice that Twhirl did load some tweets (but gave the pop-up authentication dialog above) and that my Instant Messenger, Adium, was connected. So I tried a https connection to Gmail and it worked! Searched for an https proxy on my phone and found some here. Added a proxy to Firefox’s proxy setting (Preferences > Advanced > Network > Settings) and I’m back on the web.

firefox proxy settings

In order to cover all network connections (e.g. via instant messenger, Adobe air applications) proxy settings will need to be changed in network settings.

Note: Online https proxies would be a temporary fix but that will only work in web browsers. They are best used to find the proper proxy settings and once the network settings are changed to use the proxy their job is done. Proxify (https://proxify.co.uk/) and Remainhidden (https://remainhidden.com/) are just 2 of many that you can find through Proxy.org (https://proxy.org/)

Speed up the Internet / Reducing your Data Bill

We all love the Internet. Many of us can’t live without it (or at least we think we can’t live without it). E-mail. Instant Messaging. Social Networking. Pick your poison. But as many of us know in Brunei, the Internet can sometimes be hard to get a hold of. Not that we don’t have Internet connections but more due to problems with our service provider Telbru e-speed service or rather it being a congested office network where co-workers are streaming YouTube and other bandwidth consuming services. Some solutions or workarounds I will suggest will basically reduce the amount of data that your browser will ask from the servers that it visits and basically that in turn will help you reduce your data bill. This is great for those with 3G modems without an unlimited data deal and just good to know for any phone-wielding-Internet-accessing user

Use Mobile Versions of the Website

Sites like Twitter have a mobile version of their site catered for phones that usually offers most of the features of the regular site. These pages are typically free from ads and superfluous images and Flash. Sites may not look as pretty and as fully functional as you like it, but you get the gist of the information.

Mobile versions of: Facebook, Twitter, YouTube, CNET, Engadget, Digg (iPhone specific, General)

Use an alternative browser (Opera / Skyfire)

Opera mini has always been a great browser for the phone and for users it lets them save on data costs because Opera mini uses a technology of proxying where you data is passed through Opera’s proxy servers (take note of the privacy and security implications of this). The proxying that Opera does on your data enables them to optimize the page for viewing on your phone and at the same time resize images so that you don’t have to download the full image which would cost you. Now the images will not look as clear and sharp as the original but it’s a good trade-off and there are even settings to let images load on “Low”, “Medium” or “High” qualities. Opera mini’s proxy server technology has also been brought to the desktop with Opera Turbo available for Windows, Mac, Linux and other platforms.

Skyfire is similar to Opera mini with regards to the proxying but the cool thing about Skyfire is that it lets you have the PC web browsing experience on your phone (Nokia S60 and Windows Mobile), meaning things like Flash (video) and Silverlight will work. This is a good way to get to watch your media fast and not have to wait for a regular computer web browser to load the video. The video is not as smooth and audio can get out of sync with the video and it can be hard to watch video on a small phone screen but for some things like live streaming, it allows you be a part of the experience rather than waiting in buffering/loading land.

Block Unnecessary Information (Images / Advertisement / Flash / Plugins / Javascript)

All these contribute to the information downloaded to your computer and sometimes the loading of a particular piece of information stalls the whole page from loading.

Blocking Images

  • Firefox:
    • Windows/Linux: Tools Menu > Options
    • Linux: Edit menu > Preferences
    • Mac: Firefox Menu item > Preferences
    • > Content Tab > Uncheck “Load images automatically”
      Firefox Preferences - Content pane
  • Opera: In the status bar on the bottom click the image toggle dropdown and select “No Images”
    Opera - Disable Images via status bar

Blocking Advertisements

Blocking Flash

  • Firefox: Flashblock. Replaces Flash objects with a place holder in case you still want to load it
    Flashblock in Firefox in action
  • Opera: Enable “Opera Turbo”. Replaces Flash objects with a place holder in case you still want to load it
    • Windows/Linux: Tools Menu > Quick Preferences
    • Mac: Opera Menu item > Quick Preferences
    • > “Enable Opera Turbo” or Toggle Opera Turbo in the bottom status bar
      Opera Turbo via status bar
  • For multi-browser solution refer to “Blocking Plugins”

Blocking Plugins

  • Disabling Plugins in your browser
  • Firefox: Tools Menu > Add-ons > Plugins Tab > Disable all/appropriate plugins
    Firefox addons - Plugins tab
  • Opera:
    • Windows/Linux: Tools Menu > Quick Preferences
    • Mac: Opera Menu item > Quick Preferences
    • Uncheck “Enable Java”
    • Uncheck “Enable Plug-ins”

    Opera - Quick preferences

Blocking Javascript

  • Firefox:
    • NoScript
      or
    • Windows/Linux: Tools Menu > Options
    • Linux: Edit menu > Preferences
    • Mac: Firefox Menu item > Preferences
    • > Content Tab > Uncheck “Load JavaScript”
  • Opera:

    • Windows/Linux: Tools Menu > Quick Preferences
    • Mac: Opera Menu item > Quick Preferences
    • Uncheck “Enable Javascript”
  • Note: Disabling Javascript may cause most sites not to function properly as they depend on Javascript for various functions.

Playing Nice with Filesystems

If you have played around with any 2 of the 3 major operating systems (Windows, OS X and Linux) and start transferring files to and from external hard disk you will probably run into an issue with the type of filesystem you choose for your hard disk. Windows likes NTFS, OS X likes HFS and Linux likes ext. As you can see none of them are the same. Being different is not so much an issue, but being compatible and accessible to all is.

Based on default system settings:

  • NTFS is readable on all operating systems, but not writable on OS X. Most modern Linux distributions can write to NTFS drives
  • HFS is readable on OS X and modern Linux distributions, and not writable on Windows or Linux
  • ext is only readable on Linux and not writable on Windows or OS X.

or to put it based on operating system

  • Windows can only read and write to NTFS, nothing else
  • OS X can read and write to HFS and read NTFS
  • Linux can read and write to ext and NTFS and read HFS

Take note that there is also the older FAT32 filesystem that is fully supported for reading and writing by all operating systems but due to limitations of FAT32, I rather not consider this. Basically the main issues with FAT32 is that the maximum file size is 4GB and the maximum partition size is 32GB (actually Windows can’t format a FAT32 partition greater than 32GB but can read FAT32 partitions of more than 32GB. Use GParted or just filter this Google search to be able to create and format a partition of 32GB). If these are limitations you can deal with, for the sake for interoperability stick with FAT32.

Now to solve the problem of support for each filesystem in each operating system:

NTFS:

  • OS X: NTFS-3G + MacFUSE
  • Linux: NTFS-3G
  • I’ve been using NTFS-3G in Linux for many years and haven’t had any problems with it and so far it’s working well with OS X too
  • On another note if the NTFS drive is not unmounted properly or there are some issues with the file system integrity, it is necessary to use Windows scan disk to rectify the problem. Thus this requires a copy of Windows to fix the filesystem.

ext:

  • Windows: Ext2 Installable File System for Windows
  • OS X: Mac OS X Ext2 filesystem
  • I’ve had issues of only being able to mount an ext2 partition in Linux and it gave a mount error in Windows and OS X and was due to an inode issue as new Linux distributions create the file system with inodes of 256 bytes but Ext2 fs only supports the older version with 128 bytes. And the only solution is to back up the files, and reformat partition with inodes of 128 bytes (-I 128) and restore the files.
  • Filesystem integrity issues should be able to be fixed with “fsck” from a Linux distribution / live CD. The great thing about this is that you can get a Linux distribution for free and this recovery can be done with out any strings attached.

HFS:

  • Windows: MacDrive (US$50, read and write), Paragon HFS for Windows (read only)
  • Linux: Enabling HFS writing in Ubuntu
  • Note: I have not personally tested these so I cannot give first hand experience of how well it works or what issues can be had with this.
  • I believe that HFS+ journal
  • I would believe any filesystem repairs would have to be done in OS X (similar to NTFS and Windows) and if so this enforces that you have OS X at hand, and in order to have OS X you must have Apple hardware or a Hackintosh either way this is very restrictive.

So it is pretty easy to get full read and write support of all 3 default file systems on the 3 major OS’s but there are issues. So far I’m inclined to stick with ext2/ext3 just due to the fact that it has no restrictions in terms of filesystem repair. I’ve had many NTFS issues related to damaged filesystems that required Windows and the inconvenience of taking the drive out of my box to find a Windows box was too much.

Manually editing Quicksilver Trigger Shortcuts (remap log out)

So I managed to disable command + Q to close applications via Quicksilver, but next I wanted to create an easy shortcut to close the application and Command + Shift + Q came to mind. Then I found out it was mapped to logging out of my current OS X session. But as any enthusiast, who want’s to be a rebel and fight against the machine (I honestly loved that bit of Jason Calacanis’ message to Apple Fanboys and Girls), I delved deeper. Knowing that the information had to be stored somewhere on the system I looked for the configuration file and found it at

~/Library/Application Support/Quicksilver/Triggers.plist

For those unfamiliar with the “~”, it is the home directory of the user, which should be found in Finder’s “Places” section in the sidebar with the name of your user. Open that up in any text editor (TextEdit, nano in Terminal or my current text editor TextWrangler) and add the following before the line that says </array>, then restart Quicksilver


<dict>
    <key>ID</key>
    <string>58C26ADF-2CEB-4E49-A530-B386CEF537FB</string>
    <key>command</key>
    <dict>
        <key>actionID</key>
        <string>AppQuitAction</string>
        <key>directArchive</key>
        <dict>
            <key>class</key>
            <string>QSProxyObject</string>
            <key>data</key>
            <dict>
                <key>qs.proxy</key>
                <dict>
                    <key>icon</key>
                    <string>GenericApplicationIcon</string>
                    <key>name</key>
                    <string>Current Application</string>
                    <key>providerClass</key>
                    <string>QSProcessMonitor</string>
                    <key>types</key>
                    <array>
                        <string>NSFilenamesPboardType</string>
                        <string>qs.process</string>
                    </array>
                </dict>
            </dict>
            <key>properties</key>
            <dict>
                <key>QSObjectChildrenLoadDate</key>
                <real>274987421.89515197</real>
                <key>QSObjectDetails</key>
                <string>Proxy Object</string>
                <key>QSObjectIconName</key>
                <string>GenericApplicationIcon</string>
                <key>QSObjectName</key>
                <string>Current Application</string>
                <key>QSObjectObjectID</key>
                <string>QSCurrentApplicationProxy</string>
                <key>QSObjectType</key>
                <string>qs.proxy</string>
            </dict>
        </dict>
        <key>directID</key>
        <string>QSCurrentApplicationProxy</string>
    </dict>
    <key>enabled</key>
    <true/>
    <key>keyCode</key>
    <integer>12</integer>
    <key>modifiers</key>
    <integer>1179914</integer>
    <key>onPress</key>
    <true/>
    <key>type</key>
    <string>QSHotKeyTrigger</string>
</dict>

Before:
before add

After:
after add

Trigger pane showing Command Shift Q

Alternatively you can add a shortcut to Command + Shift + W, open the configuration file and search for the new command created and changed the keyCode field to 12.

Die Command + Q die

One thing that immediately annoyed me about the Mac was that the shortcut to close the application is Command + Q. This is just way too close to Command + W, the shortcut to close a tab/window. Being fast with the fingers I will tend to press Command + Q at times closing the entire program together with the documents I’m working on / tabs I’m browsing / IMs chats I’m having. Now for some applications there are work arounds, e.g. for Cocoa based applications (e.g. Safari, Mail) you can assign another shortcut to the menu item in the Keyboard Shortcuts tab in the Keyboard & Mouse preference pane

  1. Click on the “+” button
  2. Select the application (e.g. Mail.app)
  3. Type in the quit menu item text in the “Menu Title” field (e.g. for Mail.app it would be “Quit Mail”)
  4. Enter your keyboard shortcut

keyboard shorcuts change cocoa based applications quit shortcut

Now this would be nice to have for all applications but due to the fact that for each application the menu item to close the application is based on the application itself (e.g. Mail = “Quit Mail”, Safari = “Quit Safari”), it is plain to see there is no easy way to cover all applications. Also, as mentioned, it works only for Cocoa applications, so this wont work in applications like Firefox. Also some applications like NeoOffice will still respond to Command + W. So had to search for other alternatives.

For Firefox you can configure Firefox to prompt to confirm closing if there are multiple tabs open and there are probably extension that may help prevent the closing of the browser, but I wanted to find a complete solution. So after much Googling I finally found this blog post on disabling Command + Q with Quicksilver by using triggers.

In Quicksilver’s Triggers page:

  1. Add a trigger by pressing the “+ button” then selecting “Hotkey” (a new row should be created)
  2. Click the empty space under the “Command” column of the newly created row
  3. In the “Select an item” field, press . to enter text mode and clear any text that appears
  4. In the “Action” field, enter “Large Type”
  5. Leave the “Target” field blank and click save
    trigger command disable quit

  6. Now to create the keyboard shortcut by click the “None” field under the “Trigger” column
  7. A drawer will pop out and in the “Settings” Tab, press the “Edit” button in the “Hot Key” field and press Command + Q
  8. In the “Scope” Tab, ensure it is “Enabled in all applications” (any other option does not seem to work even though I specify the correct applications. possibly a bug)
  9. So now the Command + Q shortcut is disabled as long as this trigger is enabled
    disable command q trigger

So now when you press Command + Q the application no longer closes and gives you an little beep indicating no action is assigned to the shortcut. What if you still want a shortcut to close it? Just add another trigger!

  1. Add new Hotkey trigger
  2. Select an Item: Current Application
  3. Action: Quit
    trigger command quit
  4. Select your appropriate shortcut and be happy =)

So go download Quicksilver. It can do a heck of a lot more than just this with the great plugins it has: resize images, open bookmarks, move files and add. Check out the Lifehackers’ top 10 Quicksilver plugins or the tutorials and start delving into the world of Quicksilver

Jason Calacanis’ Message to Apple Fanboys and Girls

Message to Apple Fanboys and Girls:

We spent 30 years of the industry trying to make an open system, the Internet. Applications. Everything’s open. The reason why there is such colossal growth…. is because of an open platform.

There is no reason why Apple cannot make the iPhone a little more open. And the argument of “Oh we have to make the Apple platform so easy to use that you, the person who paid for the phone, the person who pays for the data plan, is such a smuck that you can’t decide what applications you run and you can’t decide how you use your data minutes.

That is absurd.

You’re a bunch of sellouts to the open Internet and technology. Technologist are supposed to be rebels. We’re supposed to fight against the machine and you guys are a bunch of sellouts and drunk on the Apple kool-aid

You are fighting for the wrong cause. The cause of the mighty and the just is an open platform where everybody can excel. If Steve Jobs wants to keep the whole thing closed, okay fine, ease of use I’m with you. Just a little button on the old iPhone that says “Allow experimental applications unverified by Apple”

Apple fanboys equal technology sellouts

The whole idea was you were supposed to be enabled and freed by the technology,
not constrained. Technology is supposed to be a net benefit to the planet, to society, to freedoms.

Anyway, Steve Jobs is great, I love Steve Jobs. He’s awesome and he does the greatest product in the world and that’s why we, and that’s why this whole thing is an issue is because we actually really care.

While I don’t agree with everything he says, I do be believe that technology should be open and being a Mac user for over a month now I utterly dislike the seemingly “Apple way or the highway” mentality of Apple products. OS X is superior to Windows and Linux in many ways but it also falters against them in other ways. The iPhone has revolutionized the smartphone market and is probably more usable for tasks than other smartphones out there. Why can’t Apple be more open?

Witch for the Mac

Ever want to be able to switch between windows quickly at the flick of a keypress? Yes you can do it with the Command + Tab shortcut that is build into OS X, but the problem is that it shows all applications not all windows open. Luckily there is Witch that fills in the gap.
witch keyboard shortcut badges

Witch installs as a preference pane in System Preferences and has quite a few configurations shown in the screenshots below. You can configure the shortcut used to activate Witch, however it can’t be remapped to replace the default OS X’s Command + Tab application switcher. Windows can be organized by application or window details (name / launcher / activity order) thus you are not constrained to a single configuration. Shortcut badges, is a nifty feature, as it adds a keyboard shortcut to the Witch menu. A badge with a number will show up next to the application window and show in the screenshot above, and a single number can be pressed to activate the appropriate window: an added shortcut and time saver.

Cons
On the down side, the application costs €9.95 (~US$15 / ~B$21), doesn’t show all windows and performance issues. While the application does not cost that much, it does annoy me that in order to get OS X to work the way I want it to, it seems I have to fork out more money for some application to fix the problem that shouldn’t even be there in the first place. With regards to Witch now showing windows, I notice the help dialog (e.g. Finder > “Mac Help” menu item) and Google Chrome both don’t show up in the Witch menu. I think the Help dialog could be an OS X issue because it is not accessible via default OS X application switcher (Command + Tab) nor through any windows switcher (Command + `). Seems like the Chromium / Chrome issue is known and it’s strange as it does show in Command + Tab. With regards to performance issues, I find that if I don’t use Witch all the time (sometimes I still use Command + Tab), when activating the Witch menu it takes a while to appear and sometimes it doesn’t appear at all.

Verdict

Witch provides a feature that OS X sorely lacks for keyboard users. However due to it not providing full keyboard access to any window in OS X, it defeats the purpose for me to buy it, especially since I use Chrome quite a bit. Maybe the next time around

Preference Pane Screenshots – Triggers
witch pref pane triggers tab

Preference Pane Screenshots – Behavior
witch pref pane behavior tab

Preference Pane Screenshots – Appearance
witch pref pane appearance tab

Update 1: Seems that X11 windows are not recognized either so GIMP users are left out in the cold by Witch too =(