Speaking at Flash Forward Austin 2006

I’ll be giving a presentation at Flash Forward Austin this year on SWFObject. Here’s the session description from the Flash Forward website:

Embedding Flash® content and detecting Flash Player is one of the most overlooked parts of Flash development. In this session, Geoff Stearns will cover everything you need to know about Flash Player detection and embedding using SWFObject (http://blog.deconcept.com/swfobject/), including best practices, accessiblity, Express Install, Flash/Javascript communication, and search engine optimization.

Also covered in this session will be information on the recent Eolas / Active content changes to Internet Explorer and how to embed your Flash content so your users won’t have to click your content first to ’activate’ it.

I may also try to dip into some of my thoughts on Flash and search engine optimization as well.

For those of you who caught the presentation I gave with Matthew at the last NYC Flash Forward, imagine that presentation, but with more technical information and less good looking slides ;).

SWFObject 1.4.2 update

I’ve just packaged up SWFObject 1.4.2. (Direct download link)

This is a general maintenance release that fixes a couple of bugs, and improves version detection in Internet Explorer. Here’s the changelog:

  • [updated] added one more fix for a related issue to the audio streaming bug listed below, thanks to Ben Longoria for the fix – this should take care of all the streaming audio issues, if you are still having problems after this update, please let me know
  • [updated] updated the detection code for IE/ActiveX browsers to fix a crash that could occur when the user had Flash Player 6.0.21 or 6.0.23 installed (Thanks to Michael Williams at Adobe for the code to fix this (and the Adobe detection kit))
  • [fixed] updated the getQueryParamValue method to fix a bug that would return the wrong value if you had two variables that ended with the same string (Thanks to Aran Rhee for discovering the issue and providing a fix)
  • [fixed] fixed a couple of strict js warnings that crept back in sometime after the 1.4 update

I’ve also created a Subversion repository for SWFObject. If you are familiar with SVN, you can do a checkout from http://svn.deconcept.com/swfobject/.

Go get it!

Nokia E70 and iSync OS X

I just got a new phone yesterday – a beautiful Nokia E70. I’m completely in love with this phone.

Anyway, after hours of searching, I finally figured out how to make iSync work with the phone (it’s not supported by default).

I’m sharing this info in the hopes that other people will find it useful.

Here’s what you do:

1) Edit your MetaClasses.plist file:
– Open a Finder window and press command+shift+g and paste in this line:

/Applications/iSync/Contents/PlugIns/ApplePhoneConduit.syncdevice/Contents/PlugIns
/PhoneModelsSync.phoneplugin/Contents/Resources/

– You may want to make a backup of this file (just copy + paste it into the same folder)

2) Open the file in your favorite text editor, and add this info for the E70:

<key>com.nokia.E70</key>
<dict>
  <key>Identification</key>
  <dict>
    <key>com.apple.cgmi+cgmm</key>
    <string>Nokia+Nokia E70-1</string>
    <key>com.apple.gmi+gmm</key>
    <string>Nokia+Nokia E70-1</string>
  </dict>
  <key>InheritsFrom</key>
  <array>
    <string>family.com.nokia.serie60v2.3</string>
    </array>
  <key>Services</key>
  <array>
    <dict>
      <key>ServiceName</key>
      <string>com.apple.model</string>
      <key>ServiceProperties</key>
      <dict>
        <key>ModelIcon</key>
        <string>NOKE70.tiff</string>
        <key>ModelName</key>
        <string>E70</string>
      </dict>
    </dict>
  </array>
</dict>

NOTE: I copied the icon for one of the other phones and renamed it to “NOKE70.tiff”, but you don’t need to do this if you don’t want to, just pick one of the existing tiff files in the same folder as the .plist file.

3) Save the .plist file and restart iSync.

4) Add a device, it should find your E70 and allow you to sync using the built in sync software on the phone!

* NOTE: I ordered my phone from europe, so it uses the “-1” in the identification string (Nokia+Nokia E70-1) – when the US model comes out, this will probably change to “Nokia+Nokia E70-2”

UPDATE: I noticed that this wasn’t adding the alarms for my meetings at the right time – they were all set without the timezone offset they should have had, so with some further digging, I figured out how to fix this:

1) Open Finder, hit command+shift+g and paste in this path:

/Applications/iSync.app/Contents/PlugIns/ApplePhoneConduit.syncdevice/Contents/PlugIns/PhoneFamilySync.phoneplugin/Contents/Resources/

– Find the file PhoneConduitv2-serie60-SyncML.plist and make a copy of it for backup purposes (in the same folder is fine)

2) Open the file (not the backup copy) in your favorite text editor, and search for this node:

<key>hasTimeZone</key>
<false/>

and change the ‘false’ to ‘true’ so it should look like this:

<key>hasTimeZone</key>
<true/>

Save the file and relaunch iSync, and all your meeting alarms should now be the correct time. Since I had already synced, it wouldn’t resync all the events I already had, so you may need to remove the meetings from the phone and resync, but be careful, as removing the events from the phone will remove them from your calendar next time you sync! (I’m not sure of a good way to get around this, so if anyone has ideas, lets hear them)

Enjoy!

Notes:
– This only seems to work when syncing from the computer to the phone. If I choose sync in the phone, it tries to connect but then just disconnects without syncing or a warning.
– If all of this is too much for you, or you can’t figure it out, you can always just buy this plugin from NovaMedia for €10

UPDATE: I took some pictures of it so you can see the size of it – not the best pics (my room is kinda dark) but they should give you an idea of the size and feel of it.

UPDATE (6-27-2006): OS X 10.4.7 was released today, and it appears that the update breaks this functionality (there were some updates to iSync). The new update does not appear to support the E70 yet, so you’ll have to re-implement this change after you update to 10.4.7.