Category Archives: Apple Inc.

I hope you had a Merry Christmas!

I hope that you had a Merry Christmas (if you celebrate). Our home just received a new influx of gadgets – our four-year-old daughter received a Nook HD – mainly for books that can read to her and my wife can also record her voice and have that read along with her as well. It’s pretty cute. In terms of hardware, it’s okay. The operating system is pretty smelly, but it’s a cheap device – hence the cheap (free) OS on it. The case we got for it is very nice however. :-) To be honest, this Nook is WAY better than my wife’s abandoned Kindle Fire. Yes, we have a lot of devices in this house… way too many. The Android on the Fire is utter shit. At least the version on the Nook is better in my opinion. Still not great, but better.

I received an iPad mini and the thing rocks hard. It’s superior to the Nook, but our daughter isn’t getting an iPad just yet. We have so much Apple in this house; the only thing missing really is wallpaper and framed photographs of Jony and the Steves. I gave away my iPad to someone who will use it now that I have the mini. I am happy about that. Apple eco-system is complete. Awaiting an upgraded Apple TV or set proper. However that works out.

Verizon data plans (1GB)

When I upgraded and got my iPhone 5 I was informed that my unlimited data was going to be replaced with a 1GB cap per month. I thought that sounded fine.

Now I have found that will simply won’t cut it. Now I’m thinking that at least 2 GB of data is much more appropriate. Think about just the web surfing while you’re out and about. That can easily consume several megabytes of data alone.

The Mobile Book by Smashing Magazine

The ePub version – glorious.

Smashing Magazine has produced a really amazing read: The Mobile Book. While I generally look past books on mobile topics because the mobile space is one that moves and gyrates so frequently and with such large, unpredictable steps. I usually opt to read blog posts on technology/design related sites.

Continue reading

Remove that % battery indicator

If you’re like me you keep your mobile devices charged almost all of the time. Yet you keep that % battery display active – and you start to sweat it when your device gets to x%. Turn that % indicator off and you’ll be surprised how much more relaxed you’ll be in regards to the battery levels. It has made a difference for me.

The new Google Maps

I’ll preface this by stating that I feel that Google has become increasingly evil, contrary to it’s informal corporate motto of “don’t be evil.” I won’t get into that, but generally speaking I have tried to rely less heavily on their services such as mail, search, APIs, and mobile applications.

I installed Google Maps last night just to see what they have done. Turn by turn navigation is present! Just like what Google said they wouldn’t give iOS but keep to the vest for Android users. Whether you like Apple’s Maps application or not, this is a win for Apple as now Google has delivered turn by turn with voice. A more pleasant voice than Siri.

Tapping the positional icon on the bottom left brings up compass mode – which is awesome. Many times in an area you’re unfamiliar with you need to get your bearings before starting out on a navigational route. This really, really helps start you on your way as the map will swing around based on it’s position to north. Well done and very much welcome.

Vectors. Love it. Apple rolled this out and while Google’s vectors don’t look quite as polished as Apples, you get tons more detail at various zoom levels than you do with Apple’s offering.

Overall the experience is as it should be and what we’d expect with Google in this area of expertise. My only nit so far is that when you open the side panel menu and toggle those options on and off, each toggle performs the function and also closes the menu.

So if you want to toggle traffic and satellite imagery on, it’s going to take you four taps – same as if you could just toggle along and close the menu – but it feels like more work. Perhaps they did this so they wouldn’t need a close button. I imagine it is a little cleaner, it just doesn’t feel quite as smooth if you’re wanting to toggle more than one option at a time.

I’ll give this a go. I do use Telenav GPS but that voice sounds annoying and it talks ALL. THE. TIME. Next trip to someplace unknown or fuzzy, I’ll kick Google Maps’ tires.

I finally figured out street view. Haven’t seen the 3D stuff really yet.

My OS X Sidebar UI Issue

Situation: My wife was playing around for a while on our Retina Macbook Pro this evening and then handed it over for me to edit some photographs. I opened a Finder window and noticed that there were tons of items missing. Everything under Favorites was missing.

A screenshot of the hidden Favorites.

A screenshot of the hidden Favorites.

Hmmm. A Finder bug? A preference? I relaunched the Finder. Nope. That didn’t work. I checked Finder preferences for the Sidebar and all the items that were missed were checked off. I started searching around the internet looking for answers and saw things like corrupt preferences, etc.

Nothing was getting me to the goal of having those items back in the sidebar. It shouldn’t have mattered so much, but when these little things happen they annoy me until I get them fixed.

Result: After messing around for a while I finally noticed the little rollovers for the subheads in the Sidebar. You either see “Hide” or “Show”. This makes sense, but why would such a thing be hidden? Visually it’s cleaner. Also if you’re list view folders will have carets next to them – I imagine the designers at Apple said that could be confusing to place carets beside the subheads to expand and collapse them.

It’s a usability issue. One of the few I have with the latest OS X. It cost me time trying to figure it out even though the solution was there all along – I just had to expose it with my mouse first. In my opinion that’s lame – especially for a Finder window which nearly everyone will see all the time.

This was just my quick little rant.

Completely custom iOS keyboard class

I am going to be creating from scratch some Classes to create a dynamic on-screen keyboard that needs to be controlled from another application. Controlled with a dPad type of thing. So it will will consume events, display UI navigation of the keyboard, and spit out an event with the character mapped to the activated key, etc.

Does this sound remotely interesting to anyone? This will be a custom UIView type of thing – not accessible and will not respond to touch events. If no one is interested, I won’t worry about so many dynamic bits of it – just get it running well enough for my own particular uses.

iTunes 11 mini-player fix

On one of my Macs I discovered problems with the mini-player. When I collapsed the main window down to the mini-player, the track back icon was focused and thus metadata (song title and artist) would never display. Just the transport controls and the album art. Annoying.

To fix this situation, click on the mini-player and tab until you focus the Up Next menu icon. Then click off of the player. You have metadata back!

I submitted a bug on this and within a day it was quickly closed as a duplicate by Apple – Mossberg suggests a small update is being worked on to bring back duplicate track detection to iTunes, and I imagine this hotfix will come as well.

Keep an eye out. Use the above fix until it’s patched.

UISwipeGestureRecognizer with touchesEnded

Target: iOS
Situation: You have a UIView and it’s set up in your storyboard to detect a swipe gesture (let’s say a direction of right) and it calls a selector in your viewController. You’d like a user to be able to swipe to the right and hold their finger in position and repeatedly call a method (say for scrolling). You need the gesture recognizer to work but you also need to implement touchesEnded in order to kill the NSTimer that’s being used.

A Solution:Set up an IBOutlet for the UISwipeGestureRecognizer. In your viewDidLoad set the following:

swipeRight.cancelsTouchesInView = NO;
swipeRight.delaysTouchesBegan   = NO;
swipeRight.delaysTouchesEnded   = NO;

These are important. The default behavior of a gesture recognizer is to avoid having both it and the view process the touch. So that needs to be fine-tuned. The code above allows for this.

Now the selector (method) is called – whichever you’d like when the gesture is recognized (you set this up in your storyboard – or in code too if you’d like). When that method is fired, you know the direction and you start your NSTimer – to get the repeat effect. When touchesEnded is called in your viewController you can kill that NSTimer (invalidate it) and that’s it. You could use variable flags to determine which timer was being used, etc. if you’d like (different directions).

So you end up with a swipe to the right & hold method that will repeatedly do “something” for the user. A release stops that repetition for the user. Over time you could also change the delay for the timer and have it speed up if “held” long enough.

Pretty cool.

UISlider touch to set value

You may want a user to be able to touch a UISlider somewhere besides the thumb to set it’s value. You can use a UIGestureRecognizer to help do this for you. I did not author this code but found it someplace, I think StackOverflow (where else really? :) )

…
UITapGestureRecognizer *gr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(sliderTapped:)];
[slider addGestureRecognizer:gr];
- (void)sliderTapped:(UIGestureRecognizer *)g {
     UISlider* s = (UISlider*)g.view;
    if (s.highlighted)
        return; // tap on thumb, let slider deal with it
    CGPoint pt = [g locationInView: s];
    CGFloat percentage = pt.x / s.bounds.size.width;
    CGFloat delta = percentage * (s.maximumValue - s.minimumValue);
    CGFloat value = s.minimumValue + delta;
    [s setValue:value animated:YES];
}