Brandon Werner

Archive for the ‘mac’ Category

Call To Arms: Our Elders In Computer Science Are Leaving Us

Tuesday, January 8th, 2008

I seem to be visiting a lot of my prior entries from 2005, but a while back I wrote about an experience I had meeting an old IBM programmer at the local Catholic store. She was female, which seemed like a trail-blazing thing to have been working in the heavily male dominated technology industry in the 1950s. Her story, and her eagerness to share with me, led me to write my experiences with gurus in my life, entitled In The Presence of A Guru (On Catholicism, VAX/VMS and Geek Culture). I still feel profoundly stupid for not having spent more time with her, as it was obvious she wanted to share her story. I will regret it for the rest of my life, not just because of what the exchange could have done for my understanding, but more refusing my obligation, the obligation we all have, to listen to and carry on the mythology and history of our elders. I am afraid that mythology may be vanishing, and none of us are listening.

I thought about this again when I stumbled upon a new blog from Dan Weinred as linked from Lemonodor. His career in Computer Science and his contributions certainly qualifies him as a Guru.

His essays so far are a treasure trove of information and computer science archeology. One of my favorites is called The Technology and Business of ObjectStore, where he recounts taking his ObjectStore technology to Microsoft and Bill Gates as well as Steve Jobs. The reaction of both icons demonstrates humorously their approach even now:

When the new Windows technology (which was OS/2 at the time; IBM and Microsoft were still working together on it) came out, it was crucial for us that it be able to support memory mapping. Dave Stryker and Tom Atwood, flew out to meet with Bill Gates in September of 1989. Dave Stryker recalls: “We originally had a 45-minute appointment, but Gates extended the meeting to a couple of hours, and called in Dave Cutler [the architect of OS/2]. At Tom’s urging, we told Gates and Cutler everything they wanted to know about ObjectStore. Gates was complimentary of the Object Design approach, but said, in a nice enough way, that if the Microsoft Empire ever needed such a thing, they would build it themselves. Still, Gates told Cutler to make sure that the OS/2 equivalent to mmap was powerful enough to run ObjectStore, and there were some changes made to make it so.” Later, this OS/2 technology turned into Windows NT. Dave Moon adds that it turned to have a bug: it doesn’t free up disk space when it ought to. For some reason Microsoft hasn’t fixed this, even after many years. We found a way around it.)

Speaking of industry luminaries, we also met with Steve Jobs when he was at NeXT, and Jobs made a big announcement praising our technology, which resulted in a nice press release. There was some discussion that NeXT might buy Object Design, but that never went anywhere.

This type of history is fascinating and important. There have been efforts to capture this knowledge, such as Fokelore.org and ACM’s excellent ACM History Committee trying to archive CS knowledge, but their efforts so far is approaching it the wrong way. It’s getting the stories, while these people are still alive and can tell them, that is important. Much of it will not be academic or well checked, but that is missing the point. It’s the mythology as well as the history of these pioneers in the 1930s - 1970s that we should be after. We’ve already lost Jeff Raskin, Adam Osborne and others.

If we do not do this, their legacy and our history as a profession, one that has changed the world as much as any other in human history, will be lost forever.

How To Install Lisp With Threads on OS X Leopard

Saturday, December 22nd, 2007

Cosmin Stejerean does an awesome job laying out how to get experimental x86 OSX threads support compiled and enabled for SBCL on Apple’s latest operating system. I can’t wait to try this out with my cl-semantic project I’ve been working on off/on for some time. If you’d like to help out, I wrote detailed instructions on how to get up and running if you are using SBCL.

How High Resolution Are The New Apple Icons? The Coffee Has Bubbles

Sunday, November 25th, 2007

If you download the images from this website and look at them full screen, the exact detail Apple went to for their icons is breathtaking. They actually have coffee bubbles in the Java application icon. Personally, I think Mike Matas is just showing off now after his move from Delicious Monster.

Cut Out Of The Apple Java Application Icon Showing Coffee Bubbles

Homage To The Crazy Ones Hidden In Apple OS X TextEdit Icon

Sunday, November 25th, 2007

There are lots of fun things to find in the new high-resolution icons if you explore. The most interesting so far is the text in the TextEdit application I saw going through cover-flow in my Application folder. Written on the icon’s page is a letter addressed to Katie from our good friend John Appleseed, a favorite demo user introduced during the iPhone demos last year. It contains the text from the famous Apple Think Different campaign in 1997.

Here's To The Crazy Ones

I wonder if anyone new to the Apple platform would even get the reference, although the commercials are still fresh in most Apple fan’s minds.

Leopard, Conduits, iPhone And The Apple Last Mile: Why Apple Needs To Put On The Breaks For a Year

Friday, November 23rd, 2007

I came to the Mac in 2003, shortly after getting my first iPod. It was my first visit to an Apple retail store and having a small business at the time geared toward urban planning and technology it was easy to migrate over. If I had to nail down one thing that made me a Mac fanatic it was the integration of what I had assumed from years of Windows and Linux use were technologies impossible to orchestrate and manage in an effective way. There was the graphical tools over the core UNIX/BSD tools that made administration a breeze. There was the bluetooth management done right, with the ability to SMS text message and display incoming calls through Address Book. There was PIM synchronization done right through iSync, where all your various synchronization efforts no matter if it were an iPod, .Mac or Motorola phone were gathered in one place. It was how PDF and other display technologies were not some API installed on the side and slow to load but first class citizens sitting on top of the OS. It was a revelation.

Later, I would discover the Mac community, with Daring Fireball and TUAW that provided a unique and demanding view of technology that made me better at my job and my profession.

Apple technology inspired me to push harder for better solutions and to demand better solutions and experiences from other vendors and software developers, including myself. You could no longer use the status quo excuse with me anymore. I didn’t care if other applications were ugly or information dense or laid out incorrectly. You could do it right. People would care, not just Grandmas and kids. It made my life better, the programmer-geek who always clicked the Advanced tab on all my applications, to have this beauty and thought in applications. I don’t think I’m alone, as almost all the most unforgiving and critical users of any online or personal application are Mac users.

The Apple Last Mile

In almost all of these examples, one thing stands out. The concept of the Last Mile. In technology it is often used to refer to the final last hurtle in integration, no matter if it’s bringing faster internet speeds to your home, better security to the corporate network or even a better web experience to the end user. The understanding is that it’s relatively easy to build an incredible infrastructure and technology within the confines of your control and influence, but as soon as you need to build that bridge to the end of the experience things usually get complicated, unpredictable and constrained.

It’s also generally understood that the Last Mile is where experiences and projects are won and lost. It has broken the hearts of many entrepreneurs and business executives alike, particularly in technology. Many people have laid their pipe right up to the beginning of another pipe and stood there scratching their heads perplexed. Many are even forced to give up having come that close.

In all the experiences Apple software gives us, the idea of the Apple Last Mile is what makes the Apple experience a good one. You can find the example in the Google Maps application on the iPhone, the SMS interface on the iPhone and in the iTunes Music Store and iPod integration among many others. How many companies simply leave the experience of the music purchase and sync to someone else while they control the device? How many companies just provide J2ME on their mobile device and leave Google or others to write the application? It is always these very places, where one pipe faces the other, that defines the user experience.

It’s not a small thing. When you spend hours trying to configure your wireless router, when you spend 30 minutes getting your bank statement to download to your financial software, when you have to spend time telling the phone representative your account information you just entered on your phone over again for the third time, when you get a sync error message on your MP3 player minutes before your bus arrives to take you to work, you get the reason why this is important.

If you take the time to analyze what creates such trust in those that use Apple products, and why other products fail to generate the same trust, it is the Apple Last Mile that holds the secret. It may seem easy on the surface, but the Last Mile is the hardest thing to get right.

Sadly, however, the experience that Apple got so right, and that users trusted and assumed Apple always would, has begun to erode. They have, through the break-neck rate of development of products and software, lost the Last Mile focus.

Example: The ExchangeConduit and iSync

One example is the state of synchronization in OS X. In Leopard, Apple introduced a few new interesting synchronization options in to their operating system. Showing a curiously growing closer relationship to Yahoo!, they added Yahoo! sync to the Address Book as well as Exchange address book synchronization. These were introduced by means of iSync conduits. Conduits are amazing pieces of engineering from Apple. They are plug-ins to the synchronization engine that powers any and all data synchronization across devices and platforms. It has been used by many device manufacturers and software developers to add syncing of personal information across diverse platforms, and has proven to be an extremely flexible framework.

Sounds cool, huh? How do you do it?

Good iSync Hunting

The first question is where do you go? There are currently three places where you have to look to interface with iSync. The first is the old standard, the iSync application itself. Previously, this was the hub of all synchronizing activity and confusingly still is, it just doesn’t tell you. In fact, it is probably one of the most important applications in Mac OS X, and it wins the prize for the most understated application interface in history. All of your Address Book, .Mac, Yahoo! and Exchange synchronization runs through the iSync framework, including your iPhone. Pretty busy application, right?

iSync's silent conceit

Although previously the place where you could see your iPod, your mobile phone and even .Mac listed along with settings and management features, now iSync sits there with a blank stare. Worse, although there is absolutely no applications or devices on the iSync application, clicking the sync button will actually sync your devices and your applications universally. As we’ll see below, Apple even directs you to this application when there’s no indication how to sync your data any other way.

It would seem Apple has decided this iSync application is only for non-apple phones (even though the iPhone is there, just hidden). It’s not being neglected; Leopard has even included a new iSync plug-in maker so you can make your own phone plug-in.

As mentioned, although it was once the hub of all things sync, there doesn’t seem to be any sync options for Exchange or Yahoo! here. I would say we are safe leaving this interface as it has nothing to do with Exchange synchronization except that, in very un-apple fashion, it does. We are actually going to have to return to this interface when we eventually do synchronize with Exchange, even though Exchange Address Book synchronization has nothing to do with third party mobile phones at all.

The second place one might look is the iTunes/iPhone/iPod sync interface. You can sync your address book to Yahoo! from there, so it could make sense they would also add the same functionality for Exchange:

iTunes synchronization

Here we do find the Yahoo! sync, and it would make sense that this not only means iPhone to Yahoo! but to Yahoo! and your personal Address Book as well, although this is not nearly as clearly indicated as it was when all of these various sync points were in the iSync application. Someone might pause extra long, as it seems this is where you would setup Exchange Address Book synchronization since the Yahoo! conduit for your address book is represented here. Some might even assume if it’s not listed here, the feature isn’t available to them.

The last place someone might look would be the .Mac synconization screen.

.Mac synchronization

This interface, while showing no un-checked Exchange option, does show us yet another Address Book conduit, this one for .Mac accounts. Many users are surprised to find applications that have registered themselves with this screen that may have long been deleted or did not give indication they were adding themselves to the list. On mine is a Transmit Favorites that I don’t use and a “Entourage Notes” from Office Beta 2008 that has been un-installed. You can’t remove them, and you can’t inspect them to find out what data they actually synchronize if the title isn’t descriptive.

We finally find Exchange Synchronization

At this point, I’ll assume we get lucky and go to the Address Book itself, an application designed so simply and elegantly that we might not think it has Preferences at all. After all, we haven’t had to go in to the Address Book’s Preferences at all to synchronize with our iPhone, iPod, other mobile phone, or even Yahoo!. Why would we even be tempted to look there? Turns out, it’s sitting there with other duplicate interfaces for both .Mac and Yahoo! address book synchronization.

The Address Book Preferences Pane in Leopard

Configuring the options is slightly complicated, but nothing that a poor soul use to typing in Exchange servers and authentication information would have trouble with. Using this feature depends on WebDav being enabled on your Exchange server and that your administrator has Outlook Web Access (OWA) enabled. Apple is smart enough to append the /exchange/username to the mail server you enter. So, if you go to mail.mycompany.com to get your email on the web from Exchange, that’s all you need to type in the server field. After you are finished, just click OK.

Then nothing happens.

It’s at this point someone, even a technically savy user like myself, has to do what they would never admit doing to their geek friends: go to the Apple Support website. It’s here that it gets really ugly.

From the Apple support document on Exchange Address Book synchronization:

To manually synchronize Address Book and Exchange, open iSync (located in the Applications folder), choose iSync > Preferences, select “Show status in menu bar,” and choose Sync Now from the iSync status menu.

In case your wondering if there is any indication that you have enabled Exchange Syncronization in the iSync application you are told to open, there isn’t. To make matters worse, if you do click “Show status in menu bar” as indicated, and you click on that icon, you are greeted with the text “Open .Mac Sync Preferences”, even though it has nothing to do with .Mac synchronization. Someone might assume you need a .Mac account.

In fact, it has nothing to do with iSync the application as far as the end user is concerned, as there is no visual indication that the iSync application actually does have the power of setting every enabled conduit in to action. And just in case you need another interface snafu, the iSync application icon still says “Never Synchronized” even after synchronizing your Exchange Address Book with your Mac Address Book.

Even when you do click Sync Now from the iSync status menu as the Apple document suggests, there is absolutely no progress bar or indication what is being synchronized and where you are in the process (synchronizing Exchange Address Books can be a very long process). All you have is the swirling iSync button that is… according to the application itself, synchronizing nothing.

Last Mile Missed By A Mile

Once a feather in the cap of OSX, especially in the world of Microsoft’s ActiveSync, iSync and it’s pluggable architecture and trustworthy synchronization has now turned in to something that is much worse. Yet, returning to the idea of the Last Mile, it is usually this area that Apple gets right. It certainly did when it needed to sync with mobile phones and iPods in the past, and it even took the time to write an API that allowed others to expand and add functionality that Apple hadn’t. Just see MarkSpace’s Missing Sync products. Just as a comparison, look at the old iSync interface from Mac OS X 10.3, when iSync still had a duplicate interface in iTunes but managed to keep everything registered with the iSync interface in one location as seen in this shot from Terrie Miller on MacDevCenter:

iSync In The Good Ol Days

iPhone Island: They’ve Even Built The Pipes!

It would be fine if iSync was the only thing that was slipping away from Apple’s Last Mile philosophy. However, we can also see the same lack of connection between the Note functionality in Mail and that on the iPhone. Even though they both were obviously written to connect and be used in unison, the pipes don’t connect. The best you can do is synchronize with your IMAP account, a hack that makes your notes and ToDos appear as email messages with no special metadata attached. There has been complaints about ToDos lacking on the iPhone, and even the ability to synchronize widget data between the iPhone and your Mac. Doing any of this wirelessly through Bluetooth, something that Apple beat Windows PCs hands down with in 2003, is lacking as well. It was un-thinkable they wouldn’t have SMS messaging from Address Book integrated with their new iPhone, a feat even the Motorola Razr is capable of.

Beyond the iPhone, the iPod Touch shipped with no calendar editing, the dock on the side last minute fix, Time Machine on a remote AirPort disk being removed, iTunes allowing ringtones and then disabling them only to re-enable them again, and of course the iPhone price cut.

Apple Needs Some Time Off

All of this would be easily dismissed as nit-picking if it wasn’t for the fact that Apple had demonstrated the ability to execute so amazingly before. The almost shockingly smooth Intel transition and the steady iPod updates gave Apple the aura of a company so good at product line execution and strategic planning it seemed magical. It was almost Willy Wanka-ish in the public consciousness. It reached it’s height during the iPhone unveiling in the beginning of 2007, and from there on the year has been one of delays, back-peddling and many many hours of overtime.

This is simply signs of stress fractures on the part of Apple. Their level of quality and Last Mile ingenuity is being squeezed by their other efforts, and it’s showing through in all of their products. Now that Apple has released the Leopard OS and the iPhone, I hope the employees who’ve had one horrible stressful Steve inspired Macintosh-esque 2007 get a very cool t-shirt, have a long drunk New Years Eve, and in 2008 are given the time to stop and focus squarely on the Last Mile again.

.Mac Now Has Server Side SPAM Filtering!

Tuesday, August 7th, 2007

Something that is hidden from most coverage of the Apple announcements today is that .Mac, beyond getting bumped to 10 GIGs of storage, now has server side email filtering for your .Mac account.

This is an answered prayer to those who are annoyed that their iPhone doesn’t do spam filtering unless their Mac is on and also checking mail. This should allow you to have your Mac off and only check mail from your .Mac account without all those Viagra adds popping up in your inbox.

Apple also posted a link to an information page entitled “.Mac: Keep Junk folder contents consistent by using the same Junk mail settings on each Mac used with .Mac mail” discussing how you should change your settings on your Apple Mail application to ensure that both your server side and local junk mail stay in sync.

.Mac mail is almost getting to be GMail useful now.

.Mac SPAM filtering

Quickly: Conversation on EJB3 continued, Mac Love, Wordpress 2.0

Friday, December 30th, 2005

Good conversation between Gavin King (inventor of Hibernate & EJB3 spec) and myself regarding my article on Java Lobby. He takes me to task on arguing to leave JBoss and JEE more open to disruptive technologies like Hibernate was.

Also, I’ve been busy moving all my code and environment over to my new iMac G5 I got myself for Christmas. I have been using Powerbooks for two years now since a lot of my work takes me all over and I needed a powerful system to follow me. However, considering it might be nice to have a dedicated desktop system to use when at home, I decided an iMac G5 was just enough of an investment to last me till the Intel chip switch (investing in a PowerMac at this point without seeing the Intel benchmarks would be a lot of money invested in an old platform). The Apple Store at Kenwood Towne Center did give me an (unintentional?)free upgrade that I didn’t want by giving me the iMac G5 with the wireless keyboard and mouse ($89 extra at Apple Store online). Unfortunately, I didn’t want this option because I was looking forward to getting the Mighty Mouse included for the right mouse click. Yes, I know they are generally bad and I do have a two button MS mouse, but I at least wanted to give it a go. I’m not certain if they were out of Might Mouse iMacs or if it was a packaging error (the employee scanned the box, the additional cost was not there).

If anyone doesn’t know about Apple’s excellent online service yet, .Mac, it is truly an incredible synchronization technology that is woefully missing on the Microsoft platform despite their attempts to do something like it in MSN. I moved all of my important documents, keynote presentations and code projects I wanted to be transparent across my Powerbook and iMac on to my Apple provided 2 GIG iDisk and told both to synchronize but keep a local copy (for speed). Also, .Mac synchronizes all of your calendar entries, address book entries, email, bookmarks, keychains (passwords and forms for the web and drive shares) and other system settings between the Powerbook and the iMac seamlessly. If you code on the iMac for two days, add lots of code to the project, and then open your Powerbook.. there is your code on the Powerbook. Same with an appointment you add to your Powerbook during a meeting, as soon as you go home and log in to your iMac.. there it is.

I knew it did this in theory but I had never before used it to keep everything in sync. It works wonderfully. (Both Mac OSX 10.4 Tiger, your mileage may vary).

It is a platform in itself, with the latest .Mac SDK 2.0 (Developer Preview 2) just released, which allows third party providers to write to this sync technology. Transmit, a great graphical FTP application, uses this SDK so that your list of FTP sites (and username / passwords) are updated between your computers - directly in the application - so that as soon as you launch Transmit the new FTP sites you may have added on your Powerbook now appear on your iMac. NetNewsWire also uses this to keep your RSS feeds synchronized across Macs, even keeping track of which articles you’ve read and which you have not. It’s not hard to imagine the other great applications using this technology.

Also, IntelliJ Idea on the Macintosh platform is a joy, although people should be wary of Apple’s latest J2SE 5.0 Release 4 Developer Preview 3 that appeared on the developer site two weeks ago, it seems to have some Swing bugs on redraw. I’d stick with the Apple J2SE 5.0 Release 3 for now.

Finally, I upgraded the site to Wordpress 2.0 two days ago. If you didn’t notice, it’s because it took 5 minutes (plus about 30 minutes to re-apply my stylesheet and code modifications I made to the old site). Wordpress has made the upgrade very easy, but for a 2.0 release the feature-set has not been added to greatly. However, a lot of the changes are under the hood and the site does appear faster. It even includes the AJAX goodies all web apps must have these days, but they are mostly just visual candy. For instance, when you delete an item the list fades to red and then disappears. Wooooo. Ahhhhh. Pretty!

The best things are to come in the future to be certain, when the plug-in developers begin working with the new 2.0 API. However, if you are holding off on upgrading to Wordpress 2.0 on downtime concerns, it’s not really an issue.

Enable “Safe Sleep” Mode On Your Powerbooks and iBooks

Wednesday, November 16th, 2005

Powerbook Safe Sleep Progress Bar Demo No hardware upgrade needed! I found Matt Jonhson’s post, via Daring Fireball, that showed you how to enable Apple’s new Safe Sleep mode (known in the Windows world as suspend to disk or hibernate) that Apple has locked to operate ONLY on the latest Powerbooks. Well, if you have any Powerbook or iBook made from 2003 on, and you have OSX 10.4.3, then you can also enable this! I did this on my Powerbook 1.25 GHz Aluminum just to test it and it seems to work great!

Read the article and download the scripts here.

From the Apple KnowledgeBase article:

“The progress bar indicates that the PowerBook is waking from Safe Sleep. Safe Sleep ensures that data stored in main memory will not be lost should the system shut down due to a loss of power during sleep mode. Prior to your system entering sleep, Safe Sleep automatically saves the contents of main memory (such as desktop settings, open applications, and other work in progress) to the hard drive. In the event the battery becomes completely depleted while the system is asleep, the computer will shut down. But when a power adapter is connected or a freshly charged battery is installed, the PowerBook can be restarted and it will automatically return to the desktop state that existed prior to entering sleep. This means that applications and files will remain exactly as they were prior to the system being put to sleep, making it easy for you to continue on with your work.”