My Projects
Search
Powered by Squarespace
Thursday
11Jun

Blogging at 30,000 Feet

This is the first flight experience I’ve had where WiFi was available, and of course I paid the $10 for the 3.5 hour flight.  I’m currently on AirTran Flight #44 en route from San Francisco to Atlanta (final destination being Boston, assuming the weather cooperates).

I know I sound like an old fogey admiring the modern advances like cell phones and laptop computers, but damn is this cool (and about time).  Seeing how far we’ve come technologically in just my short 26 years makes me wish that I was born yesterday to set my life progress bar back to 0 and see where we are 26 years from now.

Wednesday
13May

CalendarView 1.2 Released

I’ve just pushed out a new release of CalendarView, my lightweight JavaScript calendar widget for the Prototype framework. This release includes numerous cleanups and bug fixes as well as support for Internet Explorer 8.

Release Notes

  • Fixed some CSS rules in the packaged stylesheet so that days from other months and the current date are styled the way they were intended.
  • Reorganized the repository a bit and added an example to the downloadable package.
  • Added some release packaging scripts to ease distribution of new releases.
  • Fixed the display of days from other months in the default CSS. Thanks to Corie Slate for reporting this issue.
  • Fixed a compatibility issue with Internet Explorer 8. Thanks to Gabriel Engel for this fix.

Download

 

Friday
01May

My TiVo Series 4 Wishlist

Let me start off by saying that I love my Series 3 TiVo and I wouldn’t trade it for anything else on the market. Given that, I do feel that the current TiVo experience has become fairly long in the tooth. While they’ve added Netflix, Amazon, new search interfaces and other applications, these improvements do not feel well integrated with the overall experience. It doesn’t help that launching Netflix or other applications takes 10-20 seconds or more before they’re accessible.

After hearing a bit of buzz about a possible “Series4” (or OmniBox, eVo or TiVo OnDemand) device in development, I got to thinking about what I’d like to see improved upon on my TiVo:

  • Keep all first-run episodes, but remove repeats “As Space is Needed” — Why is there not an option for keeping first-run episodes indefinitely while allowing reruns to come and go as space is needed? I should be able to have different retention rules for new episodes than repeat airings.
  • Stay in the overlay mode for new Season Passes — Don’t take me away from watching and listening to the current show when I wish to schedule a Season Pass. I could be okay with this if instead you were taken back to the show at the exact point you entered the menu once you’ve finished so you can easily pick up where you left off.
  • Defaults for Season Passes — Most of the time when I have to hit options to customize a new Season Pass it is to set the same options I set for 90% of the shows I record. I would like to be able to set the default values for Season Passes.
  • Online Management — Allow me to manage every aspect of my TiVo online. This includes Season Passes (and their priority), manage my channel listing, view upcoming showings, manage WishLists, etc.
  • HD Quality Menus — I know I’m not alone on this one, so please… take advantage of HD resolutions for all of the TiVo interface!
  • Easy Season Passes for my favorite sports teams — Allow me to record my favorite sports teams by just selecting the team(s) and how many of the most recent, first-run games to record…no matter the channel.
  • Be aware of and link HD and SD variants of channels — Determine that HD channels have SD alternatives in my lineup and record intelligently based upon the show’s original resolution (i.e. That 70’s Show should automatically be recorded on the SD variant of FX to save recording space).
  • Allow for Season Passes across multiple channels — When creating a new Season Pass, allow me to pick the channels to record on when that show is upcoming on more than one channel. It is annoying to have to create a new pass for each channel.
  • Suggest future airings during scheduling conflicts — Look ahead for future airings of that same episode and suggest that I record it instead of making me pick a conflict to cancel.
  • Let me choose which conflict to cancel — I shouldn’t have to settle with the lower Season Pass priority if I’m fine with canceling the higher priority instead.
  • Browse by category in Now Showing — Instead of showing a plain list of folders per show or order of recording, add some new navigation options like category (movies, science, comedy, etc).
  • Display my Netflix Instant Queue in Now Showing — Add the items from my Netflix Instant Queue as launchable items from the Now Playing list, instead of having to go launch and wait for the Netflix app to open.
  • iPhone Application for SchedulingMobile TiVo is nice, but a native application would be nicer. The mobile site also tends to forget who I am and will not let me login once I’ve found a show.
  • Easy option to transfer to iPod or iPhone — Instead of relying on Roxio Toast and other conversion options, provide an easy method for creating an iPod-optimized version of recordings you’ve transferred to your computer.
  • Multi-Room Scheduling — If I have multiple TiVos in the house, scheduling should be aware that there are additional tuners in the house that can be used to record in case of a conflict on the TiVo that is scheduling the recording.
  • Hulu Integration — I realize that this may be a long shot, but how cool would it be to have the Hulu player in the TiVo interface?

So that’s my list. Is there anything that you would like to see in your TiVo?

Friday
06Mar

Multiple File Upload Support in Safari 4 Public Beta

Introduced in the HTML 5 specification, the multiple attribute on file inputs (i.e. <input type="file" multiple>) will allow for multiple files to be selected for upload. I had been using the WebKit nightlies and watching for this feature to be enabled in the default builds, but the Safari 4 beta is the first version of Safari that I’ve seen support this. The original commit to WebKit that added this support was 37863.

Here’s an example that you can try out in Safari 4 (click on “Choose File” then select multiple files using shift or cmd):

Once selected, the above field should say “N files” instead of the filename that would normally show up for a single-file selection. You can also drag multiple files at once from Finder onto the field.

To use this, in practice, you need to treat the field as an array by adding brackets to the field name (i.e. <input type="file" name="files[]" multiple>). These files will then be accessible in Rails, PHP, etc as an array of files. I hope to have a tutorial for using this in Ruby on Rails up sometime this weekend.

I hope that more browsers support this soon along with changes to XMLHttpRequest that will allow for client-side progress bars (see WebKit’s Week #6). Maybe we can finally get rid of all of these Flash and elaborate JavaScript workarounds for supporting multiple file uploads.

UPDATE: Andrea Giammarchi has put together an excellent example of a client-side progress bar using XMLHTTPRequest when uploading multiple files!

Tuesday
24Feb

Changing Hidden Preferences in Safari 4 Public Beta on Windows

Changing the Hidden Preferences for Safari 4 Public Beta on Windows requires a little more effort, since Windows users don’t have access to the `defaults` command that Mac OS X users have. I did a little bit of research and figured out a way to set these hidden preferences by seeding the `com.apple.Safari.plist` file with the hidden preferences.

This tip involves resetting your Safari preferences by replacing the binary-encoded PList file that Apple uses with a plain text XML version. When Safari launches, it will convert the plain text version into the binary format, so any time you need to make a change using this method you will need to reset your permissions. If I can find a PList editor for Windows or if you are able to convert the binary version of your PList to plain text, you could save your preferences. Please leave a comment or contact me if you know of a better method.

The `com.apple.Safari.plist` file is located in the `C:\Documents and Settings\<Your Username>\Application Data\Apple Computer\Preferences` folder. Backup or remove this file and replace it with another file of the same name. Populate the new file with the following:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>DebugSafari4TabBarIsOnTop</key>
    <false/>
    <key>DebugSafari4IncludeFancyURLCompletionList</key>
    <false/>
    <key>DebugSafari4IncludeGoogleSuggest</key>
    <false/>
    <key>DebugSafari4IncludeFlowViewInBookmarksView</key>
    <false/>
    <key>DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot</key>
    <false/>
    <key>DebugSafari4IncludeTopSites</key>
    <false/>
  </dict>
</plist>

Prune the list of settings to contain just those that you would like to disable from the file above (you can read a description of each here, then simply launch Safari and enjoy the new settings.

Note: DebugSafari4IncludeToolbarRedesign and DebugSafari4LoadProgressStyle are not available on the Windows version of Safari.