Sunday, October 27, 2013

iPad TouchID

I'm sure one of the reasons the new iPads this year didn't get the fingerprint TouchID is simply it would be hard to make enough for all the iPhones and iPads they're going to sell.  (And I've not looked into how thick the part is compared to the thickness of the devices, that could be an issue too.)

But another reason...

iPhones are very personal, you might let your kids borrow it, but they aren't really shared within a family, much less to a guest.

But iPads are much more often shared.  One of the things that iOS has lacked, and hopefully will come in 8, is some sort of user accounts.  So when the parents use it, they get Safari with their own bookmarks; their own email, Facebook, and other accounts; their own apps.  When a kid uses it their apps are restricted to PG ones, Safari or email might not be there at all, and they can't install new apps or other restrictions. All settings the iPad can do, but right now it's globally, not per user.

Without something like that, TouchID that only unlocks the device is nice but a missed opportunity for instant and easy personalization.  Kid's fingerprint--gets kids account.  Mom or Dad--they get their own accounts.

All that together seems a worthy upgrade for iOS 8 and the 2014 iPads.

Even do a nice setup when making an account.  A few choices that set the basics for what is restricted that you could customize.  "Adult"=All  "Teen"=R  "Pre-Teen"=PG  "Toddler"=G

Wednesday, October 23, 2013

iPad 2

I thought it was odd that the iPad 2 was kept around for sale.  Why not do the iPad 4 as the older model?  The new Air is a big enough step forward, especially over that even thicker and heavier model.

Then I thought of a reason:  Lightning.  The iPad 2 is the model that still had the old style 30 pin connector, which is used for a variety of devices like Point of Sale terminals.  And who knows what industrial uses it might have.

Rather than bring back the iPad 3 with the old connector (which would be weird since it's been off the market for a year) keeping the iPad 2 makes a little more sense.  And give its older technology, the profit margins on that one must be huge.

Wednesday, October 16, 2013

Older Models

Historically, when Apple released a new iPad, iPhone, or iPod touch, it has very often kept around last years model at a reduced price.

And most of the time it's one model, with the same or less storage compared to the low end of the "new" model, and $100 cheaper.

Does that mean next week we'll see a 16GB model of the current iPad mini stay on sale...for $229?  Interesting if they do, that's the same price as the low end 16GB iPod touch.  I'd guess they'd either drop the iPod touch price a little to $199, or make that model iPad mini be $249.

They've never increased the price of iPads, but this might be the time to do the Retina mini at $349 and the current non-retina at $249.  Keeps that $100 price separation.

Thursday, October 10, 2013

iOS7 parallax shadows

It looks cool enough, we're doing it anyway, even though "floating above" is more normal in iOS7 than "shadowed behind".

To my eyes it is a more subtle and less jumpy depth effect.  The content you're looking at isn't moving, but the shadows it casts are.

@implementation UIView (Giffish)

- (void)addShadowing {
    [self.layer setShadowColor:[UIColor blackColor].CGColor];
    [self.layer setShadowOpacity:0.4];
    [self.layer setShadowRadius:3.0];
    [self.layer setShadowOffset:CGSizeMake(0, 2)];

- (void)addShadowParallaxMotionEffect:(float)amountAndDirection {
    float       amount = 10.0*amountAndDirection;
    UIInterpolatingMotionEffect *motionX = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"layer.shadowOffset.width" type:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis];
    [motionX setMaximumRelativeValue:@(amount)];
    [motionX setMinimumRelativeValue:@(-amount)];
    UIInterpolatingMotionEffect *motionY = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"layer.shadowOffset.height" type:UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis];
    [motionY setMaximumRelativeValue:@(amount)];
    [motionY setMinimumRelativeValue:@(-amount)];
    UIMotionEffectGroup *group = [[UIMotionEffectGroup alloc] init];
    group.motionEffects = @[motionX, motionY];
    [self addMotionEffect:group];


//You'd want -1.0 to start.  See how that looks and adjust.  
[button addShadowing];
[button addShadowParallaxMotionEffect:-1.0];  

//This type of thing works too.
[button.titleLabel addShadowing];
[button.titleLabel addShadowParallaxMotionEffect:-1.0];  

Tuesday, October 1, 2013


The first time after you restart an iPhone 5S you have to enter your PIN and can't use the fingerprint scanner.  Seems like a good security protection.  The same thing happens with App Store purchases, the first time after a restart you have to enter the password.

What if that's not just a second security check.  It would be super smart if the PIN and password were only ever stored in the "secure enclave" part of the CPU, so in memory and never written to disk.  Even if someone got the iPhone and took it apart to get at the memory chips, they couldn't get the PIN or password.

You'd have to somehow tear the CPU apart while the iPhone never turned off.