Fun with Safari Content Blockers

I spent about 15 minutes writing a Safari content blocker with exactly one rule: no external javascript.

Most websites loaded instantly and scrolled much smoother. If Apple could somehow add this feature to iOS 5 it could breathe new life into original iPads or hell it could breathe new life into PowerPC Macs.

There were some casualties, of course. Some sites and services (Facebook, Twitter, Slack, parts of Youtube, some tumblr themes) use externally hosted javascript to render feeds. On iOS this is inconsequential since most of those services are typically accessed via apps, but I did notice direct links to posts often worked just fine and weren’t dependent on javascript spaghetti.

Because I believe that sites that fall apart using this blocker rule are following bad web practices and because there are plenty of ways to waste server resources with ads instead of my clients’, I’m going to continue using the block, and I’m going to release it. Look for LemonBlock this fall. 🚫🍋

A Night with iOS 9 on an iPad Air 2

Last night I joined the ranks of iOS developers who have since WWDC picked up an iPad Air 2 to make sure we’re understanding the 2 app paradigm and testing properly for it. After only one night (after all I can only use my apps and Apple’s apps in split screen) I’ve already formed some opinions.

I am an iPad mini preferrer and was thoroughly annoyed by this last fall’s “update” which in iOS 9 does NOT gain simultaneous split screen apps but only pull-over apps. I tried this on an A7 powered retina mini and performance is a little on the painful side, even for a beta 1. Then I saw user videos of their iPad Air 2s not stuttering even while running two apps AND a PIP video. My just purchased Air 2 behaves similarly smooth. The only thing that isn’t is the new app switcher but using two apps plus a PIP video is incredibly smooth.

I found nothing ambiguous about the implementation of split screen apps. The left app is the primary and controlled by the home button switcher. The left is handled with gestures. I really liked it. It seemed far less ridiculous than how Windows 8 works, although I’ll admit I haven’t checked out any of the more recent Windows 10 Betas.

Like the split screen feature on the Mac, Safari is a little weird about this. If the webpage you’re on has a proper meta viewport=device-width header, the feature works as expected. If it doesn’t, however, it scales down a 1024pt wide viewport which can be uncomfortably small. Since the iPad and Mac continue to send their normal User Agent Strings while this feature is being used (I think) it looks like we have to hope and pray that our favorite websites finally get onboard with using CSS3 to do responsive design and stop relying on user agent sniffing.

Even as thin as light as it is, the iPad Air is still really big with really big text even on the smallest setting (I use the smallest setting on my mini so that’s what I’m used to) and I find I get slight motion sickness if I use it closer than arms length, so I’m going to be really bummed if there’s no updated mini this fall.

Returning to the Square


Late this weekend before the event, the mythical 1-USB-C port retina 12″ MacBook was downgraded to “unlikely”. I’m glad that was dead wrong (although to be fair they won’t be shipping for a month). The most surprising thing (after all the leaks of course) is the name. MacBook. No Suffix. In hindsight it’s of course obvious, but doing forward, what does this mean for the larger Air (and the non-retina Pro for that matter)? If they’re both retired the laptops move back to Steve’s Apple product matrix: iBook, PowerBook, iMac, PowerMac; consumer / pro on one axis, desktop/laptop on the other. It was perfect.

Really, I only have one little disappointment with the MacBook as it was introduced, and luckily this problem can probably be fixed. I would have liked to see Apple through a few USB ports on the power brick. This has less to do with plugging too many things into my MacBook and more about not wanting to have to find three power outlets in a hotel to charge it, my iPhone, and my Watch.

Some day in the future, maybe iPhones will change to type C, or at the very least, Apple will offer iPhone and Watch cables with Type C at the other end, and then I can just buy a third party accessory with enough power to charge all 3. Until then it’s going to be a little tangly in my bag while traveling overnight.

Apple Mini Stores

I was present for the opening of the Bridgewater Apple Mini Store (and in addition to a t-shirt it’s when I bought my 4th Gen iPod to replace my defunct original, after not winning one as a door prize). While in reality the mini stores were mostly just a way of Apple saying “this was the biggest space in this mall we really want to be in” I like to imagine what a Genius Bar only sized store would be like. Could the Apple Store experienced be offered in a format that only has the walkup bar and backroom stock only of troubleshooting items (mostly cables, power adapters, and they would try to push an Apple case or smart cover on you). Would it be better to call it an Apple Service Center? Would it actually be a service center or just a place that has enough iPhones to swap your broken one with while they deal with mailing yours? However limited the experience, it would probably be better than visiting a carrier store.

Why isn’t there a real Kindle Phone?

Shortcomings aside, there are two things I absolutely love about my Kindle PaperWhites and Voyage: They work outside and they last forever.

They even fit in my man pockets.

I’ve always wondered why a slightly different aspect ratio Kindle with 3G isn’t Amazon’s phone. It would have excellent battery life. It would work outside. Presumably Amazon could figure out how to make data and voice included with Prime (since using a ton of data would be difficult if restricted to GSM 3G and what you could do with e ink).

While the fire phone barely even had a chance against Android, an all day phone that’s also a damn good reader (and frustrating browser but I know I could write good weather app) would seriously make me reconsider my iPhone. If the contract was baked into prime, I bet a lot of people in the Apple camp who love their Kindles would pony-up for it and use both simultaneously until it was time to renew their AT&T – and then they would have to make a choice.

There’s no question this would also be a better throwaway phone for people who just don’t want a smartphone.

I can’t believe I’m excited about the “no ports” 12″ Retina Air thing

after reading Jason Snell’s article I’m actually extremely excited about the idea of a 12″ Retina Air thingie with “no” ports on it, because of one hypothetical quip he makes “Yeah, your power plug is also your USB plug, get used to it.”

These days I never have anything plugged into my MacBook Pro except power, maybe headphones, and the Lightning cable to the iOS device I’m debugging on. I actually wouldn’t mind swapping power for debugging nearly as much I would hate to loose simultaneous charging off of one outlet.

A standard USB female plug and the wall plug would solve the charging issue at expense of putting the device in a good location for actual use, but if Apple continues to make the adapter break out into the grounded portion of the plug mid way then this is less bad.

Of course it is worth pointing out that I have no complaints with the current 11″ other than the huge unused bezel and that lack of retina… but mine is the original model and it’s way too slow.

This will likely be Apple’s least upgradable machine ever – like iPad territory, so I hope the RAM has a 16GB option.

I maintain my prediction that this is a step into actually reducing the product line to only 3 machines; 12″ 13″ 15″, Air, regular, and Pro, all retina. Air is lighter and missing ports, Pro has the dGPU.

Feathers, again

My opinions on Jurassic World’s theropods is pretty much the same as every other remotely knowledgable persons’ so I won’t repeat them here. Instead, have a ridiculously colored but feathered Tyrannosaur.


My drunk-on-tuesday-morning thought here was that small prey would look up and see “harmless” sky colors, while things in tree tops or flying above it would see just a big blob of earth tones.

Not-Summer Camping

tent autumn

This year my wife and I decided to try our hand at a few days of camping at the end of October, where in central New Jersey temperatures can be anywhere between below freezing and the 70s (°F). We got lucky with nights just above freezing and days in the 50s and negligible wind.

At the end of the first day, I had a thought. I’d make a terrible “Survivorman”. I literally hadn’t touched my camera yet. Not willing to purchase a “winter” tent, we pitched a 7×4′ tent inside of the 10×8′ tent. This idea actually worked too well. We woke up hot with the inside of the inner tent covered in condensation. We spent the following nights with the windows of the inner tent open.

One contrast I noticed with my usual summer camping was that I was unable sleep in. We timed the trip to end when daylight savings time did, but that didn’t stop us from being put to sleep by the darkness at 8. As I write this up at 1AM I wonder how my quality of life would be improved if I had more ambient lighting and less electrical lighting in my life.

Fire is fire any time of year; dry firewood helps. I was disappointed that the park’s maintenance crew had cleared many downed trees, forcing me to buy firewood rather than source a lot of it.

One of the biggest advantages not-summer camping has is that my cooler still had the same full bag of ice in it when we came home, which went back into the freezer and ended up in drinks.

The forecast for the day we were to leave called for heavy rain starting the night before. While I was confident the tent wouldn’t leak, I was also confident that I didn’t want to pack up a wet tent in the rain. We decided rather than leave a day early to pay the difference to try one of the cabins in the park.

cabin autumn

This turned out to be the right call, as the rain started at 6pm, and got serious by 10pm, which it remained until after we were home the next day. The cabin had a wood stove in it, so like our tents I was also able to make it too hot, but luckily they were of reasonably recent construction with properly functioning screened windows.

Oh, and a Prius weighed down with gear and constantly running AC because of the greenhouse effect while we were traveling around eastern Pennsylvania and the Pine Barrens gets pretty crappy milage.


It’s not an iPad

There’s a lot of talk about the bigger iPhones maybe cannibalizing the iPad mini, but for now at least, that’s not going to happen. First, the App queue is so backed up that even apps that have submitted updates still aren’t available (this fact alone is almost making me regret being an early adopter). Second, 736×414 points on the big one is nowhere near the 1024×768 points on an iPad (but it’s pretty damn close to half of one… stay tuned for iPad multitasking?)

Pixels Don’t Matter Anymore

Update: a way better explanation from PaintCode

Auto Adjust iPhone 6+

click for full pixel size of iPhone 6+ screenshot

Is the iPhone 6+ 2208×1242 or 1920×1080? Turns out the answer is both. The iPhone 6+ renders 414×736 points @3X for an overall rendering context of 2208×1242 which it then scales to 1920×1080 to display on screen, just like “More Space” works on retina MacBook Pros, except there isn’t a “Pixel Perfect” option for the obsessive among us as far as I know. At the ridiculously high DPI of the display there is likely no perceivable effect.

I wonder which of two paths the iPhone 6S+/7 takes based on this information (and iPads for that matter). Do we start seeing a retina MacBook Pro like UI scaling feature in the preferences (not just text) or is this merely a stopgap while they figure out how to fit 2208×1242 on a 5.5″ screen at the same price as 1080p. I’m going to make the assumption that if they were truly targeting 1080p from the beginning for pixel perfect 1080p video then the iPhone 6 would have a 720p display and do similar scaling from a 667x375pt 1334×750@2X rendering context.

native on the left, downscaled on the right

native on the left, downscaled on the right

Either way, this scaling feature was going to be baked into the hardware/OS for better rending (i.e., not “nearest neighbor”) for apps that have not been updated for the new screen sizes, so it likely wasn’t the end of the world if this change in panels was made late in the game.