Categories
Blogs Bookmarks Computere og Internet Kim Blog (English) Macintosh Mactopia Open Source Technology

How to implement native Danish spell-checking in Mac OS X – Apple: steal it, I’ll post bail

Bad Apple

A discussion on the Danish Macintosh community, Macnyt, about the missing native Danish spell-checking in Mac OS X, let me to speculate on what it would take to implement it. Apple you’re more than welcome to steal it, and I’ll even post bail ;-).

NOTE to Danish Mac users: What follows will not give you native (Danish) spell-checking in Mac OS X, but it describes what I believe would be required, by Apple, to implement it.

What? No Danish?

Apple’s Mac OS X comes with a very nice, integrated spell-checking service. Unfortunately there’s no support for the Danish language, and this omission hits all Mac OS X applications that plug into Mac OS X for their spell checking services. This excludes Microsoft Office:mac and most open source software like Open Office and NeoOffice, that has their own spell checkers, but it hits all system applications as well as Apple’s own iLife, IWork and most other 3rd party applications.

I know from experience that this is a major issue with Danish Mac users, the question surfaces again and again.

cocoAspell to the rescue

The current solution is to install cocoAspell, a Mac OS X wrapper for the Aspell open source spell checker, and download the Danish dictionary. If you understand Danish, you can also get help from Æbletræet and this detailed guide (ZIP file) made by a Macnyt user.

Unfortunately that is not something the average person knows how to do, and it’s relatively complicated.

How to implement native Danish spell-checking in Mac OS X

So here it is: This is what I have found out, that it would take to implement native Danish spell checking in Mac OS X.

From an implementation point-of-view, it looks like it is quite straightforward.

Everything is located in the AppleSpell.service package, that is located in /System/Library/Services.

The file is organised like a .app package, first a Contents folder, that contains a Resources and a Mac OS X folder, along with a PkgInfo file and some .plist files.

Each supported language is represented by an entry in a .plist file called info.plist located in Contents, and a .lproj folder located in Contents/Resources.

The .lproj folder contains two files, one is called bindict, the other Dictionary.dat.

Problem: bindict and Dictionary.dat are binary files, and I haven’t been able to locate ANY documentation of the formats.

Step-by-step guide (for the Apple engineers):

  1. Get a copy of the “Store Danske Ordliste”
  2. Organise it “in a manner that is compatible with your indexing software” (this is the hard part, and I’m sure you could get community involvement in this).
  3. Run it through your indexing application (or lend us a copy)
  4. Create a new AppleSpell.service package
  5. Add the entry for Danish to the Contents/info.plist file
  6. Add a folder for Danish language to Contents/Resources
  7. Add the bindict and Dictionay.dat files created by the indexing application to the folder for Danish language
  8. Replace the old AppleSpell.service package with the new
  9. Ask the Danish Mac community to help test it
  10. Release it with the next, minor, update of Mac OS X

I estimate that it would take no longer than 1 man-week to implement and test this – so Apple come on

p.s.. do you really need to reinvent the wheel?

In many ways cocoAspell, is a better and, not least, open solution, so Apple you should really consider the alternative: drop the native spell-checker and embrace cocoAspell, there’s really no need to reinvent the wheel is there?

Categories
Blogs Bookmarks Computere og Internet Computerspil Design Education/Undervisning Hackers Kim Blog (English) Kunst Macintosh Mactopia Music Open Source Photography Resources Technology Undervisning Videnskab

Reboot9: BBC “caught” using the “two-dot-O-M-G” word

BBC News Logoreboot 9 logoAs you might have noticed, I attended the reboot “(un)conference” in Copenhagen last week, and it was great.

I’d like to draw your attention to the feature “Rebooting the Web 2.0 age” on reboot 9 that BBC ran during the “(un)conference”.

Here’s a quote from the article:

The future of the web is being debated at Reboot 9.0, a leading European grassroots technology and design conference in Copenhagen.

But…”oh-my-two-dot-oh-NO” they’re using the “two-dot-O-M-G” dreaded “two-dot-oh-YEAH” word…

The big question here for the start-ups and opinion formers is how to use Web 2.0’s focus on community to build the next generation of web tools and become Europe’s Web 2.0 poster child.

I guess I can forgive the BBC, since the feature is “more than decent” ;-), and they capture some of the spirit of reboot in this quote:

This year’s conference theme is Human? with many speakers grappling with such deep philosophical queries as what it means to be human. One session was called Humanism 101.

Understanding human behaviour and how to adapt those behaviours to technology and the web rather than the reverse is rare for technology devotees.

Last.fm LogoAnd Last.fm deserves all the love in the world, iTunes might never know what hit them.

However, it is no surprise as the big subject in the bars and on the grass outside was this week’s sale of London social software music service Last.fm.

Its creator Martin Stiskel, explaining why US broadcaster CBS would want to buy a music preference tool said: “They want to move from a content company to an audience company, giving the audiences control and learning from this and that’s why Last.fm was their choice.”

I’m nominating Last.fm for the price of being the “greatest service on the planet”, even though it makes it look like I have absolutely no taste in music – is it about time to get more discriminating, and start “acting my age, not my shoesize” – nah some people have actually expressed love for my personal radiostation ;-), and I get shouts like this:

Du er på alder med min far, men jeres musiksmag ligger usandsynligt langt fra hinanden. Det er meget godt klaret! Respekt herfra 🙂

(translation from Danish: You’re the age of my father, but your taste in music is unbelievably far from each others. That’s well done! Respect :)).