November 2006 Archives

Multiuser Stickies!

 | Comments (1)

We’re shipping BaseTen Developer Preview 1 tomorrow, and as a demonstration, we’ve toyed with porting Core Data Stickies (/Developer/Examples/CoreData/Stickies) to BaseTen. The result: Multiuser Stickies!

Turns out the porting required one #import directive and one changed line of code (NSManagedObject turned into BXDatabaseObject). The NSArrayController in the nib had to be replaced with a BXSynchronizedArrayController and a BXDatabaseContext. But after that — whoa!

The first time I saw a Sticky moving around the screen of an unattended Mac while it was being dragged around on another was amazing. From a single-user app to this synchronized performance with one line of changed code — that’s the BaseTen elevator pitch.

Stay tuned for the DP1 release tomorrow.

BaseTen Assistant

 | Comments (5)

The BaseTen Assistant is now done. It is used for importing Core Data data models (.xcdatamodel files) into the PostgreSQL database, and for enabling PostgreSQL databases and tables to be used with BaseTen. Still some other loose ends to tie up before Friday’s release of Developer Preview 1, but we’re getting there!

BaseTen Assistant

Foreign trade

Rory is thinking of starting to price his products in Euro after the beating the U.S. dollar has taken lately. Very understandable, since most of our costs here in Europe are obviously not priced in US$.

We at MK&C have used a compromise approach for the last year and a half — for U.S. customers, the price is in US$, others pay in Euro. The prices don’t really match all that well, but so far it hasn’t been a problem. Rarely does something cost exactly the same in the U.S. and elsewhere.

BaseTen revealed

BaseTen is nearing release, so I guess it’s time to spill the beans. The first Developer Preview is slated for next Friday, December 1st. Here’s the description from the BaseTen page:


BaseTen is a new, open source Cocoa database framework that allows you to work with PostgreSQL databases using familiar, Core Data -like semantics and APIs. Some of the feature highlights:

  • Automatic runtime schema discovery, including detection of one-to-one, one-to-many and many-to-many relationships. The system supports arbitrary, multicolumn primary keys.
  • In-memory database objects are uniqued, and objects fetched via relationships are faults by default
  • In-memory objects and fetched collections are automatically updated when database changes
  • Features a Setup Assistant for importing Xcode Data Models and enabling BaseTen notifications for tables
  • Fetches are specified with NSPredicates (relevant portions of which are translated to WHERE clauses)
  • Column data is automatically converted to and from the appropriate, native Foundation types
  • Property lock status is automatically propagated via the database server
  • Input validation is done by the database (including type checks and check constraints), client-side validation can be added for performance optimization
  • Entities can be mapped to views as well as to physical tables (including insert, update, delete support)
  • Optional autocommit mode
  • Full automatic undo support, integrated with NSUndoManager
  • Requires Foundation (10.4-era and later) and PostgreSQL 8.1.x and later; no other dependencies
  • Optional AppKit support: BaseTen-aware subclasses of NSObjectController and NSArrayController (with an IB palette)
  • Licensed under the GNU General Public License; commercial licenses are also available

Watch this space on December 1st!

Microsoft Office 2007 UI Licensed

Microsoft will license the Office 2007 UI for use in third-party applications, as long as they don’t directly compete with Office products. The current status quo on third parties kind-of-mimicking the look of Apple apps is suddenly starting to look like a pretty decent state of affairs.

Turn off Safe Sleep now

 | Comments (3)

This is an alert to our Knox customers and everyone interested about the security of encrypted files on their Macs.

All new Macs come with a feature called Safe Sleep, also known as “hibernate”, that stores the contents of the Mac’s memory to disk when sleeping. This allows you to wake back to the same session even if the Mac’s battery is removed or runs out during sleep.

Everything in your Mac’s memory is stored on disk, in unencrypted form, whenever your Mac goes to sleep.

If you care about security, you need to turn this feature off right away. The commands you need to run in Terminal are:

sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage

After that, you may want to zero the free space on the volume with Disk Utility, and never visit the Energy Saver preference panel again so that the setting doesn’t reset back. Although it still might — through a power manager reset, for example. Just stay vigilant and observe the time your Mac takes to sleep.

As of Mac OS X 10.4.8, there is no way around this, apparently even if you have turned secure virtual memory on from the Security system preference pane (and you have, right — without it, none of this matters).

You should visit this security discussion at MacInTouch for the full lowdown. Scroll down to Travis Beals’s comments posted on November 2nd to see the gory details.

P.S. There is a physical safety issue to Safe Sleep as well. On my MacBook Pro, it takes so much time (writing the contents of 3GB of memory to a slow 4200rpm disk) that I’ve ended up shoving the MacBook into my backpack with its disk still spinning — a great way to ruin the hard drive.

Pyro 1.5

 | Comments (1)

It’s done — go get Pyro 1.5!

Cocoa web server

 | Comments (1)

How to write a Cocoa web server. Finally. I remember writing a blog post hoping for this exact thing. In 2002.

Pyro 1.5 Sneak Peek

Support for multiple simultaneous Campfire sessions, our most requested feature, is there in Pyro 1.5. We hope to get this thing out next week — still some loose ends to tie up.

pyro15.jpg

Xserves compared

 | Comments (1)

The new Xserves may seem like a good deal (we have a bunch of the old G5 ones), but not everyone thinks so: Paul Murphy posits that they’re much more expensive than Dells, for example. But in Paul’s comparison, the 16GB RAM configuration plays a key role: He chose the 4x4GB FB-DIMM configuration that is a whopping $6000 more than 8x2GB for the Xserve.

Oh my god, it’s full of visuals

 | Comments (1)

There is a big ongoing discussion among the Mac developer community about the Delicious Generation — a group of new Mac application developers who seem to prioritize visual flair above everything else. (It’s especially delicious irony to name this “newbie” group after the product of a NeXT-era software veteran, but more on that later.)

In addition to Paul Kafasis’s analysis above, I’ve seen commentary by our friend Rory Prior, and by Erik J. Barzeski, Jesper Lindholm and others. These folks raise various points about the issue, some of which I agree with. But I have trouble with the notion that this is about developers; specifically about these new kids on the block who are not doing things the way they’re supposed to be done. That’s not the real story.

The real story is about what Mac software buyers want. Apple has conditioned them to require a visually rich user experience, and apps like Delicious Library, Disco and AppZapper deliver. Real people pay with real cash money to use these apps. It is not a fluke. It’s not going away. The market has changed, and that’s the story.

Ask the old school why these apps sell by the thousands, and they disapprovingly point to the “superfluous visual effects”. They are a waste of the developer’s time, and because of them, other features suffer. Because Disco includes a particle physics simulation of smoke, its file manager can only show six files at a time. But the market doesn’t care. It wants to be surprised and delighted by apps’ visuals, to a point where it’s willing to overlook serious underlying deficiencies in other areas.

This has the old school in a bind. They are quick to say that they’ve chosen against wasting time on superfluous visuals, focusing on impeccable user interaction instead. But that’s not really a choice. 99% of Mac developers have no alternative course of action. They just don’t have the design skills needed to create visually rich user experiences and hence are now busy downplaying their importance.

It seems to me that the commentary by those who lack the necessary level of visual design skill has closely followed the five stages of grief — I think we’re up to anger and bargaining at this point. Depression is likely to come when we finally acknowledge that a visually rich user experience is a hallmark of a 2006 Mac application.

The key to reaching acceptance, the final stage, is to look at what Wil Shipley, the appropriate father figure to the Delicious Generation, did with his business.

Perhaps you, too, should hire a Mike Matas.

Breaking? Mac OS X in Russian

 | Comments (2)

Haven’t seen this posted anywhere else, so might as well break the news here: The Mac OS X version currently shipping with the latest Macs, 10.4.8 build 8N1037, features a full Russian localization. I think this is the first new localization Mac OS X has seen since at least 10.1, bringing the total to 15.

I kind of expected either Arabic or Hebrew to be next, but I guess the system isn’t that ready for right-to-left yet.

About this Archive

MK&C is an eight-person software development studio in Helsinki, Finland. We specialize in designing and developing human-friendly software for the Mac, iPhone and iPod touch platforms.

» www.karppinen.fi
» www.knoxformac.com
» flightagenda.com
» basetenframework.org

This page is an archive of entries from November 2006 listed from newest to oldest.

October 2006 is the previous archive.

December 2006 is the next archive.

Find recent content on the main index or look in the archives to find all content.