TextKit a2 Available

January 29th, 2008 by Jonathan Johnson

We’ve made alpha 2 of TextKit available which includes several features and fixes that you’ve requested.

We’re excited to see how much interest there is in this product. Please let us know if there’s anything you would love to see this field do by either commenting here or filing a new ticket.

Visit the product page to download and learn more about TextKit.

Thanks everyone!


TextKit Released as Public Beta

January 24th, 2008 by Jonathan Johnson

If you remember back to our teasers, we previewed a new product code-named ESTO. We’ve since named the product TextKit, and we’re pleased to announce that we are previewing it in a public beta.

TextKit is a REALbasic plugin that provides a rendering engine for styled text as well as a corresponding EditField-like control that works on Mac OS X, Windows, and Linux. Unlike most other engines, this engine is written specifically for REALbasic and is extremely extendable.

TextKit provides two classes to help with displaying and editing text: TKTextRenderer and TKTextField. Unlike REALbasic’s built-in classes, TKTextRenderer can be used to manipulate and draw text offscreen. TKTextField provides an easy way to edit and display text and objects on a window.

During this public beta, we are extending our customers a special offer: If you buy TextKit today, we’ll extend your license by twelve months from the day that we release TextKit 1.0. It’s our way of showing our gratitude for helping us improve the product.

More information about TextKit can be found at http://alacatialabs.com/products/textkit/. We look forward to hearing everyone’s feedback.


Boot Camp Drivers from OS X

January 17th, 2008 by Ryan Govostes

Windows and I don’t have a very friendly relationship. Over the course of a year, I might reinstall my copy of Windows XP SP 2 half a dozen times because, inevitably, some .dll, .sys, or .act file has managed to ruin it for everyone by going and getting corrupted. This has happened so many times that I now have to call Microsoft every time I want to activate Windows (twice for each install, since I also use VMWare) and listen to a bot read off a thousand-digit number in groups of five.

The most recent argument between Windows and me happened on Tuesday; an annoying freeze led to a nightmarish six hour battle. Sadly, Windows emerged the victor by dying completely and thoroughly. Time for a reinstall, which means tracking down all of the .dll, .sys, and .act files that I need…

As you may know, Boot Camp comes with drivers to increase compatibility with Apple hardware. During the betas, they were stored in a disk image inside the application bundle; in Leopard, the drivers are stored on the Leopard install DVD. The DVD is a hybrid disc, meaning it has partitions for both Windows and Mac OS X. By default, OS X will only mount the HFS+ partition (containing the installer), and Windows will only mount the ISO 9660 partition (containing the Boot Camp drivers).

So if you don’t have your install disc and no writable DVD-DL is within arm’s reach, is it possible to get OS X to mount the ISO 9660 partition from the ADC disk image and copy the drivers to a thumb drive? Indeed it is.

(As an aside, you can view the partition map of the disk image by running hdiutil pmap2 leopard_9a581_userdvd.dmg)

If we use hdiutil to attach the image as a block device, it’s possible to get the ISO 9660 part to mount by using the cd9660.util program.

$ hdiutil attach leopard_9a581_userdvd.dmg -nomount
expected   CRC32 $0108CBDC
/dev/disk3          	Apple_partition_scheme
/dev/disk3s1        	Apple_partition_map
/dev/disk3s2        	Apple_Driver_ATAPI
/dev/disk3s3        	Apple_HFS
$ mkdir /Volumes/Drivers
$ /System/Library/Filesystems/cd9660.fs/cd9660.util -m disk3 /Volumes/Drivers

And when you’re done:

$ umount /Volumes/Drivers
$ rm -Rf /Volumes/Drivers

That’s all for today. If you need me, I’ll be on the phone with Microsoft…


MacWorld Follow-up

January 15th, 2008 by Ryan Govostes

On the first, I posted some unfounded rumors about QuickTime updates during MacWorld. As promised, now that the keynote is over I’ll analyze how accurate my predictions are. (Since I’m trying to build a good track record, I will conveniently itemize those predictions in such a way that it looks like I did better than I really did.)

  1. New version of QuickTime
    Yes! After the keynote, QuickTime 7.4 was released via Software Update.
  2. Free QuickTime Pro
    No! The Apple Store still lists the upgrade at $29.99.
  3. Free MPEG-2 Component
    No! It retains a $19.99 price tag.
  4. VC-1 Support
    Sort of! While QuickTime itself did not gain VC-1, this was apparently introduced in the Leopard DVDPlayback framework. Run strings -3 /System/Library/Frameworks/DVDPlayback.framework/DVDPlayback | grep “VC1″ for some evidence of this.
  5. Acquisition of Telestream
    No! Well, at least there have been no announcements of this nature.
  6. 64-bit Compatible QuickTime APIs
    Sort of! Apparently I need to brush up on my QuickTime APIs. Apple has been doing this with QTKit, which offers 64-bit wrappers to 32-bit QuickTime functions. I’ll count this one against me for ignorance.
  7. 64-bit QuickTime for Windows
    Yes! iTunes 7.6 now supports Windows Vista 64-bit, according to the requirements, and properly supports syncing with iPhones.
  8. Keynote’s Overall Digital Media Theme
    Yes! The MacBook Air, AppleTV updates, and iTMS movie rentals were all part of this theme.

So there we have it! I got 3.5/8 predictions correct which gives me a higher prediction accuracy than ThinkSecret will have all year.


QA Deathmatch: Making Testing Fun

January 10th, 2008 by Jonathan Johnson

An excellent idea over at The SlickEdit Developer Blog:

I’ve worked previously at several companies that didn’t have a QA department available. When the code freeze happened, all of the developers would go into QA mode. We’d then spend the next few weeks testing the features, and typically each developer would test their own. It was possibly the most feared and hated time of the year.

If you’re familiar with Quake, or pretty much any other FPS, then you know about the deathmatch. It’s my single favorite type of game and, in it’s own way, is really therapeutic when the stress of development, or testing, gets you down. A lot of the other developers I worked with at one point also loved to deathmatch and we used to play during lunch. When testing time came around, we found a way to make it fun… QA Deathmatch.

He goes on detailing the rules of QA Deathmatch. For someone who started out as a tester, this was highly entertaining, and I wished there was something like that in place when I was testing. Another idea is to have prizes for winners each week or month, giving everyone an incentive to participate and have some fun :)


Clocks with Google Chart API

January 7th, 2008 by Ryan Govostes

Have you seen Google’s Chart API? Send it a formatted GET request and it will spit out a pretty graph. The API is fairly powerful, supporting dozens of options and five different chart types, including Venn diagrams and pie charts.

What you may not know is that there is an undocumented “clock” chart type. It’s used by Google when you do time zone queries, such as time in ithaca, ny. The little icon that appears next to the result actually displays the correct local time; what’s more, the clock border is silver for night and gold for day. Here’s the URL of the image:

http://www.google.com/chart?chs=40×30&chc=localtime&cht=cf&chd=s:Wp&sig=-r0X-_m3bpzbNNulLXfJyr7SDTI

(Pay no attention to the fact that the URL is expired and go grab yourself a fresh one with a query like the one above.)

The cht (chart type) parameter is cf, likely short for “clock face.” The data, above Wp, is the encoded time; according to the encoding spec, W is 22 and p is 41, so the time is 10:41 PM. chc is not a documented parameter, and only seems to apply to the clock chart type.

But wait, something’s amiss — if you try to fiddle with the URL above, you’ll notice you can’t change any of the parameters or you get back a 400 Bad Request error. What’s the deal? It looks like Google has added a cryptographic signature in the sig parameter; if you change the URL string, you invalidate the signature and Google refuses to generate the clock.

Fear not, you can still generate your own clocks — just drop the sig and chc parameters and everything will work just fine. Note that the clock image is just a 40×30 bitmap; you can’t scale it or change the background.


Mail.app: IMAP Folders not updating?

January 2nd, 2008 by Jonathan Johnson

Ever since switching to Leopard, Mail.app sometimes doesn’t update folders with new messages, even if the messages added to those folders are a result of rules in Mail.app. I searched, and found partial solutions to my liking, but here’s what I settled on.

In Script Editor, save this script somewhere:

on run
  tell application "System Events"
    if exists (application processes whose name is "Mail") then
      tell application "Mail"
        set everyIMAPAccount to every imap account
        repeat with eachIMAPAccount in everyIMAPAccount
          tell eachIMAPAccount
            synchronize with eachIMAPAccount
          end tell
        end repeat
      end tell
    end if
  end tell
end run

Next, add a new rule to Mail.app that has the condition “Any Message,” and the action “Run Applescript” using this AppleScript. All this script does is automatically run “Synchronize” on each account any time a new message is found. This ensures that all folders are kept up to date.

I’ve been using this solution for a week now, and it’s been a godsend.

Edit:

See comments for a much simpler script.


Another year, another keynote

January 1st, 2008 by Ryan Govostes

Well, it’s finally January 1st, a day that I celebrate by writing the date wrong, a sacred tradition that lasts through mid-July. Today also means that my birthday is just around the corner, and friend of the family Steve Jobs is out picking a present for me.

Two years ago, he announced the first Intel-based MacBook Pro and iMac; for my eighteenth birthday, he unveiled the Apple TV and a lesser-known handheld device called the iPhone. So what does Uncle Steve have in store for me this year?

The rumor sites are forecasting the usual design refreshes and new products and services (Apple phone, touchscreen iPod, Newton rebirth, ultra-portable laptop, …). I’m not in-the-know, so I can’t make any authoritative comments on these things, but I certainly won’t pass up the fun of generating new baseless rumors in authoritative tone:

Apple will be releasing an update to QuickTime Player which will deliver numerous new features. To start, Apple will remove the license fee for Pro (on Mac, at least). This comes after we saw fullscreen mode lose its Pro status in July, while other Pro-only features have shown up iLife and other free programs (see Siracusa’s rant circa 2005). The MPEG-2 Playback component will also become free, and will be included as part of the main QuickTime package.

Moving on to more important matters, Jobs will announce support for a new codec: VC-1, a standard of both Blu-ray, which Apple has backed since 2005, as well as rival HD-DVD; if Macs are to be equipped with either flavor come the 15th, VC-1 is a necessity. To this end, Apple may announce the acquisition of Telestream, which authors the Flip4Mac WMV playback suite. Historically, Apple revealed its Pixlet codec at WWDC 2003, and showed off H.264 support at NAB 2004.

While it may not be announced at MacWorld, developers will be happy to see the QuickTime APIs become fully 64-bit compatible, with a large number of functions becoming deprecated in favor of more modern Core Video equivalents. This will serve as a segue into more enhancements as LLVM (another Siracusa hat tip) allows playback to be more finely tuned to the OS and hardware. It remains to be seen how Windows will be treated; 64-bit users have long suffered without compatible versions of QuickTime and iTunes, but the API changes will push the Mac and Windows branches further apart in terms of functionality.

The changes to QuickTime will be part of the keynote’s overall digital media theme, although it will inevitably be a minor player as movie rentals, iTunes’ expanded DRM-free offerings, and others take center stage.

2003 was “the year of the notebook,” 2005 was “the year of high definition video,” 2007 was “one of the most exciting new product years in Apple’s history.” Based on this trend, I can safely conclude that 2008 won’t be the year of anything, but 2009 should be a real blast.

I’ll see you in the near future when I reveal disturbing facts about cell phone text messaging. Be sure to tune your feed reader to my frequency to get up-to-the-minute updates.