Vincent Gable’s Blog

December 28, 2008

Open Radar

Filed under: Announcement,MacOSX,Programming | ,
― Vincent Gable on December 28, 2008

Open Radar is a place for developers to share bug reports they have filed with Apple. Please post bugs there after you have filed them with Apple.

Understandably, third-party developers don’t have access to Apple’s bug database.

But that means they can’t see bugs someone else has filed, hence Open Radar. (Update 2009-01-04: to give you an idea of how difficult this can be, recently Apple closed some of bugs I filed as “Duplicate”, but I can’t read the original bug report they are tied back to. So I have no way of knowing what the status of the fix is, if they have a work around, or even if it’s already been fixed.)

Amazingly “(it was) less than 24 hours from idea proposition to (Open Radar) being built, deployed, and used.” That should give you an idea of how useful this can be.

Open Radar is still nascent. There’s no RSS feed for example. But with community involvement, it can only get better.

I’ve filled my bugs, have you?

November 24, 2008

How To Space Your Code For Maximal Interoperability

Filed under: Design,Programming,Quotes,Usability | , , , , ,
― Vincent Gable on November 24, 2008

The new rule for indentation and alignment: use tabs for achieving an indentation level, spaces for character alignment within an indentation level.

Christopher Bowns (and independently Peter Hosey)

The arguments make total sense to me. Here’s hoping for better IDE support in the future. Unfortunately, (though interestingly), according to Steve Yegge, indentation is very hard:

I would have been publishing this article at least a month ago if it weren’t for indentation. No, six weeks, mininum.

See, I thought that since I had gone to all the thousands of lines of effort to produce a strongly-typed AST (abstract syntax tree) for JavaScript, it should therefore be really easy to do indentation. The AST tells me exactly what the syntax is at any given point in the buffer, so how hard could it be?

It turns out to be, oh, about fifty times harder than incremental parsing. Surprise!

Here’s a forward-looking (somewhat contrary) opinion,

Soft-wrapped code (leaving a long line long, and letting the IDE handle the spacing) also appears to be the direction that Apple are heading and they tend to drag a lot of Mac programmers along in their wake.

Matt Gallagher

October 14, 2008

A Bag of Hurt

Filed under: Quotes | , ,
― Vincent Gable on October 14, 2008

Blu-ray is a bag of hurt. I don’t mean from the consumer point of view. It’s great to watch movies, but the licensing is so complex. We’re waiting until things settle down, and waiting until Blu-ray takes off before we burden our customers with the cost of licensing.

–Steve Jobs, explaining why the laptops he announced today do not have Blu-ray.

October 11, 2008

Steve Ballmer Admits Microsoft Office For Mac Is Shitty

Filed under: MacOSX,Quotes | , ,
― Vincent Gable on October 11, 2008

Microsoft CEO Steve Ballmer recently admitted Office 2008 for Mac is stunted

can you find the applications you want on the Mac? Well, you don’t really get full Microsoft Office (on the Mac).”

I doubt this surprises anyone, but boy would I be depressed if I worked in the Mac BU (Business Unit), and the CEO came out and poo-pooed my work. That’s not doing right by your people.

I’ve written before about how I dislike using Microsoft Office 2008 for Mac, and how its high sales figures are in spite of it’s quality, not because of it.

October 9, 2008

Function Over Brand

Filed under: Design,Quotes | , ,
― Vincent Gable on October 9, 2008

There is something to be said for the fact that the phone with the strongest brand in the world has no visible branding whatsoever on its front face.

John Gruber on the iPhone. But you knew what phone he was talking about.

I’ve always been deeply opposed to any branding strategy that values a brand over a product. Adding branding to something’s “face” makes it harder to use, because it adds visual noise to the very part of the thing you have to interact with (and figure out how to use). For example, an “Intel Inside” sticker next to a keyboard is one more square-thing you have to rule out when looking for the right button to press.

September 29, 2008

OS Sounds

Filed under: Uncategorized | ,
― Vincent Gable on September 29, 2008

Here’s a case where Windows 98 “beats” out Mac OS X.

September 27, 2008

Apple Has Learned The Importance of Play. We Should Too

Filed under: Design,Quotes,Usability | , ,
― Vincent Gable on September 27, 2008

…joyful playful exploration is critical to learning. Rote learning and memorization is less effective.

I believe that a big part of the reason that Apple has been successful is that they figured out long ago that their products had to have the elements of joyful exploration that are the hallmarks of great toys

Hank Williams

The short article is worth reading.

September 25, 2008

Simple Truths About Cross-Platform Apps

Filed under: Design,MacOSX,Programming,Quotes | , ,
― Vincent Gable on September 25, 2008

Scott Stevenson tells it like it is,

Even if Apple recommended cross-platform toolkits for Mac development, the basic premise of Mac software market would not change. Mac users bought the computer they did because they found the experience more appealing. Bringing an application across from Windows with minor tweaks simply won’t resonate with this sort of user.

And gives free advice,

Maybe the most important thing you will ever need to know about Mac development is this:

Mac users will generally favor an app with a better experience over the one with more features.

The full article.

September 5, 2008

The ‘Apple Stands on 3rd Party Shoulders’ Theory

Filed under: Uncategorized | , , ,
― Vincent Gable on September 5, 2008

Do you know what the real difference is between a Mac and a PC?

It’s not just the OS. A platform always stands or falls on third-party development. The difference is that Mac software tends to be well designed, and Windows software tends to suck.

Mike Lee, being “an elitist Mac-fan wanker”. Some interesting comments so far.

February 28, 2008

Useful MacOSX Terminal Commands

Filed under: MacOSX,Tips,UNIX | , ,
― Vincent Gable on February 28, 2008

Here are some OS X specific terminal commands that I have found useful, and you might not be aware of. Running man command in the Terminal will give you more information about command as it is on your system.

open
open file will open file the same way it would have been opened if you double-clicked it in the Finder. You can also specify what program to use to open the file.

pbcopy, pbpaste
Bridges the clipboard and the command line; you can pipe the clipboard into stdout, or pipe stdout into the clipboard.

ps -axww
Lists every process running on the system, and gives the full-path to them, and their PSN. I almost never use any other arguments to ps.

osascript
Execute an AppleScript. osascript -e “code-goes-here”, will execute the AppleScript inside the “”. This is a great way to get AppleScript functionality in a good scripting language.

ditto
Can do the work of cp or zip, but it does the right thing on OS X, and won’t throw away Mac-specific bits.
ditto -ckX --rsrc --keepParent path_to_a_bundledFile.bundle bundledFile.bundle.zip will compress path_to_a_bundledFile.bundle, and keep all the Mac-bits intact.

hdiutil
Create and manipulate disk-images; you can even use it to burn a disk-image to CD/DVD.
Inside a perl-script I do:
hdiutil create -ov -fs HFS+ -format UDBZ -volname \”IMLocation v$version (beta)\” -srcfolder $IMLBuildDir ~/Projects/Website/imlocation/IMLocation.dmg

To make the disk-image for IMLocation out of the contents of the directory $IMLBuildDir.

screencapture
Lets you take a screenshot. Unfortunately not very well documented.
screencapture -x /tmp/screen.png
Will silently take a screenshot, and save it to /tmp/screen.png.
I think this could be great for bug-reporting.

system_profiler
Reports system hardware and software configuration; with no arguments it reports everything. Obviously great for bug reports and research.

sw_vers
Prints version information about the Mac OS X.
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.5
BuildVersion: 9A581
$ sw_vers -productName
Mac OS X
$ sw_vers -productVersion
10.5
$ sw_vers -buildVersion
9A581

systemsetup
Configuration tool for certain machine settings in System Preferences.

defaults
Read and write application preferences. You can use it to discover and activate hidden settings, like Safari’s Debug menu. defaults read > all_defaults.txt will give you a grep-able text-file with every default on your system. It’s also a useful tool for automated testing, since you can twiddle configurations.

class-dump (3rd party tool)
Makes .h files from a binary. Great for reverse-engineering.

In addition to standard UNIX commands, Mac OS X includes many powerful command-line tools. This article only scratches the surface, and ignores many tools like podcast that are probably very useful, but aren’t part of my workflow.

« Newer Posts

Powered by WordPress