Posts by "Jonathan"

Schedule iTunes to download Podcasts

Apple recently released all video sessions for WWDC 2011. That’s about 24 GB for the SD sessions. If you’re like me you might be limited by some archaic ISP data usage cap. I have on-peak  (8am-2am) and off-peak  (2a-8a) usage times with my monthly usage cap split between the two. Hopefully you’re not like me.

Make full use of your data caps – download during off-peak times too. Using Apple Script and iCal, I set iTunes to download all WWDC video sessions at 2:10 am – just after my off-peak usage starts.

1. Add podcast sessions for download

– Click through to each of the session groups and click ‘get tracks’ – add them all to iTune Store download. Do this for all – about 160 videos, 24GB of video for the SD versions.
– Select all podcasts – some might be downloading, and pause all. (every time you start iTunes, it’ll start downloading them. pause them again if necessary)

2. Write an AppleScript to launch iTunes to update podcasts

– Open Script Editor, write and compile the following script:

tell application "iTunes"
activate
updateAllPodcasts
end tell

– save the script to your hard drive

3. Add calendar Entry to iTunes to launch script

– Open iTunes. create a new calender entry – within your off-peak window. for me its anywhere between 2am and 8am. Change alarm to ‘run script’ and point it at the script you wrote earlier.

ical calender entry to launch applescript

ical calender entry to launch applescript

4. Energy Saver preferences

– Your Mac must be awake to launch iTunes.  Open System Preferences, and select Energy Saver. Select ‘Schedule…”, and set it to wake up 1 or 2 minutes before the script is scheduled to run.

Energy Saver Schedule

Energy Saver Schedule

– Check your computer sleep setting is set long enough to allow for the download. You can also set it to never sleep, or schedule the script to run over successive nights. iCal gave me the ability to run this script as often as needed.

WWDC SD video sessions: 160 x avg 150mb/video = 24 GB

1 MB/s  60 MB/min  ~ 6.6 hrs
1.5MB/s 90 MB/min ~ 4.4 hrs
2 MB/s  120 MB/min  ~ 3.3 hrs

Splitting your WordPress blog posts with ‘Read More’

Sometimes you just want to split your WordPress blog post up into a couple of paragraphs, followed by a ‘Read More’ link to the full posting. I do most of my digging in other frameworks and languages, so my WordPress customization skills are limited.  I’ll install it, throw up a theme and do some basic customizations for you. But ask for more ‘advanced’ things and I’d go digging on the Interwebs for the solutions. I landed up digging around in theme files looking for this option today, but turns out its a lot simpler to add ‘Read More’ breaks than I thought.

When writing a blog post insert a markup tag in the post to indicate ‘Read More’. In the WordPress blog editor, when editing in ‘Visual’ mode type Alt-Shift-T, or click the 4th icon from the top right- ‘Insert More tag’. If you’re editing in HTML mode, add <!–more–> to the markup where you want the break.

Remember though – ‘Read more’ breaks are ignored in any Templates (eg a single post), and are most useful when viewing lists of blog posts (e.g. WordPress categories). For a more detailed implementation explanation of ‘Read more’ usage in content, checkout the WordPress Codex for the_content template tag. I RTFMed and it actually helped!

Migrating a WordPress site between two domains. Egg before the chicken?

Problem
You’ve setup a WordPress site on http://staging.domain.com with some initial content and you’re migrating it to  http://www.domain.com. When you attempt to login into WordPress admin, you’re redirected to your staging site (staging.domain.com).

Why is this happening?
Oops. Remember to change values in ‘General settings’ for ‘WordPress address’ and ‘Site address’ before you migrate the site.If you forget, these values can be changed after migration.

Solution
Login to mysql (or other) database and run the following sql:
update wp_options set option_value = 'http://www.domain.com' where option_name in ('home','siteurl');

Back button missing on iPhone detail views

Make sure to give parent view controllers  a page title. If you don’t, any child view controllers pushed onto the view stack will have missing back buttons:

Back button missing

The navigation will still work- tap the left-most corner, and you’ll be taken back to the Root view. In this example, I set the view title before display in RootViewController.m:

set the page title

Checking the navigation again:

Back button visible

Not intuitive.

Optimizing HTML web sites for iPad

We did some work recently to determine what it would take to optimize the current site for iPads. Currently iPads are redirected to the mobile version of the site. All that real estate to waste.
Links/articles I found to be useful which might kick start your development into iPad-optimized web sites:

Device detection via CSS: iPad specific styles through CSS: The most useful bit was around recognizing the iPad via the CSS media attribute:

<link rel=”stylesheet” media=”only screen and (min-device-width: 768px)
and (max-device-width: 1024px)” href=”ipad.css” type=”text/css” />
Designing and Optimising Websites for iPad.

Safari Reference Libray: Straight from the horse’s mouth: Style your web app for iPhone OS. For audio and video, use HTML5.
Safari Reference Library.

On usability: Jakob Nielson not  a fan of the iPad – he likens it to stepping back 15 years or so in web history. An interesting read around the challenges of iPad usability and navigation confusion:
(Don’t miss the 93-page PDF document at the end of the article – well worth the read!)
http://www.useit.com/alertbox/ipad.html.

Other things: The notion of portrait vs. landscape styling – nothing new here (iPhone), but a lot more work to do for two orientations.

After my first couple of hours with optimization for iPad, traditional web sites just don’t seem to suit the iPad. Although the site mostly worked (there was a list of CSS optimizations needed), the design seemed misplaced on the iPad. A lot of the issues are well described in Jakob Neilson’s article above. Its a different paradigm for navigation and interaction. For one thing, context changes are less obvious. Remove the ability to click, to hover, and interaction patterns change. We’ve seen and are probably quite used to these behavioural changes on the iPhone.

My expectations for web browsing on the iPhone are quite low. But my expectations for the iPad are somewhat different. Its resolution is acceptable – 1024 x 768. I can interact with (most) web pages with a lot less snot-like pinching of my fingers. I expect clarity in choice, in navigation, and hopefully in productivity, but its still a bit puzzling. I don’t think this is a failure in the device, but more the idea of trying to use web sites (and iPad apps) based on traditional web design. I’m not a designer – I develop software. My designs are functional – like a plain cheese sandwich, you’ll want some mustard.

So, even my brief time with iPad optimizations, the biggest challenge isn’t technical. Web designers – think differently! The key is not to design iPad apps/iPad-optimized sites in the same paradigm. Use an iPad for a while. Revisit the website you’re looking to optimize for iPad, and hopefully the challenges (and some solutions) will become clear.