Link

iPhone 6s Accessibility

The Accessibility Of The iPhone 6s

I finally got around to reading Steven Aquino’s review of the iPhone 6s for TechCrunch, and it’s really quite good. For instance, I had no idea this setting existed:

Beyond the individual accessibility features, Apple has added global 3D Touch settings to the Accessibility preferences (Settings > General > Accessibility > 3D Touch) on the new iPhones. Users are able to adjust the pressure sensitivity of the display in three increments: Light, Medium, Firm.

Steven also mentions how he needs to have his iPhone’s screen set at maximum brightness as a matter of accessibility. I have the opposite problem: my eyes are easily strained and at night, I could actually use a setting that’s dimmer than the lowest setting. For Steven’s sake (and many others, I’m sure), I hope Apple will either A) find a way to consume less energy at max brightness or B) consider changing their “good enough” battery life benchmark to something slightly more robust. For people like me, I wish Apple would allow apps like f.lux in the App Store.

However, as I’ve mentioned before, if you have a developer account, there are some apps on GitHub that can allow you to adjust the brightness below the minimum level as well as adjust the color temperature of the screen. My favorite of those apps is GoodNight. The reason I bring it up in the context of Steven’s post is that Steven mentions how much he’s benefited from Quick Actions. GoodNight lets you assign one Quick Action function to either change the color temperature, adjust the brightness, or adjust the RGB color values to a custom setting. When you select the Quick Action, the app launches, enables/disables the adjustment, and then closes itself. Pretty nifty!
 
Update: I didn’t know about this setting either!

Accelerometer Mysteries

Ok, I feel like I need to establish my math creds before I begin talking about this: I was good at math once. I got an A or A+ in every math class I ever took, including AP Calculus. My problem is, I don’t remember a darn thing from any of those classes, least of all trigonometry.

And as it Turns Out™, there’s some trig involved in making games. :-)

I get how the accelerometer works: it measures the rotation of the x-, y-, and z- axes and returns a value between -1 and 1. I’ve been using a Ray Wenderlich tutorial on the accelerometer to help me figure out how to translate that data into a velocity vector for my game character (I’d link to it, but it’s in their iOS Games book). The tutorial writers, ostensibly pressed for time and/or chapter space, included a handy Swift file full of convenience methods for working with 3D vectors. The only problem with that is it’s making it harder for me to grasp what’s really happening and why. My “move” function for my character feels a little bit like a black box: accelerometer data goes in, a velocity vector comes out, and I’m not really sure what happened in between.

From what I can gather, the reason for working with 3D vectors to begin with is because I need to define a neutral orientation for users to hold their phone. Otherwise, people would have to play my game with their devices held perfectly flat.

To help solve this, the RW team created their own “Vector 3” struct, with x, y, and z properties. There’s a function to determine the magnitude of the vector, which I understand, as well as a couple of functions for normalizing the vector, which I feel like I’m on the verge of understanding. Where it all breaks down for me is two included functions that calculate the “dot product” and “cross product” of two vectors.

I’ve never heard of those mathematical functions, and looking up their definitions hasn’t helped me much. Here’s how they are used in context:

In defining neutral orientation constants:

let ay = Vector3(x: -0.78, y: 0.0, z: -0.61)
    let az = Vector3(x: 0.0, y: -1.0, z: 0.0)
    let ax = Vector3.crossProduct(Vector3(x: 0.0, y: -1.0, z: 0.0), right: Vector3(x: -0.78, y: 0.0, z: -0.61)).normalized()

In translating to a 2D vector:

let rawData = Vector3(x: CGFloat(motionManager.accelerometerData!.acceleration.x), y: CGFloat(motionManager.accelerometerData!.acceleration.y), z: CGFloat(motionManager.accelerometerData!.acceleration.z)) // Raw accelerometer data
        
        acceleration2D.x = Vector3.dotProduct(rawData, right: az)
        acceleration2D.y = Vector3.dotProduct(rawData, right: ax)
        acceleration2D.normalize()

Anyway, all that’s to say that I can use the accelerometer to move my character (without any rotation of the sprite…that’s on my to-do list for tomorrow) and it basically works. I just don’t know why it works. Maybe I don’t need to?

Does anybody else have sections of their own code that they don’t necessarily understand completely? It sounds like bad practice but maybe I can get away with it this time.

Meeting in the Middle

When I met my husband, he was a Luddite. Now, I know what you’re thinking: that word is tossed around a lot these days, usually to mean someone who either a) chooses not to use certain technology, b) is ignorant of technology or c) is just plain bad at using technology. However, those definitions fail to capture the traditional meaning of the word. A Luddite is someone who is actively opposed to new technology. That’s what my husband was.

He didn’t grow up with the Internet, and only begrudgingly used a computer to type school reports. He never took any computer classes, which I still have trouble wrapping my head around since we’re only two years apart and Keyboarding was a requirement at my school. He was very suspicious of technology and felt that it was, to put it mildly, ruining everything. “I don’t understand the concept of ‘browsing the Internet,'” he said to me once. “It sounds like a complete waste of time.” He blamed the Internet and social media for promoting a narcissistic culture where everyone feels entitled to praise for their opinions, regardless of how stupid or misguided they may be. He felt that technology was taking away people’s jobs. He also pointed out how much harder it is for an individual to perform their own car repairs when so many functions have become computerized.

In contrast, my family started our first AOL dial-up Internet trial when I was 8 or 9 years old. When I was 13, I published my first website and joined an online forum for fans of the TV show Friends where I met and befriended interesting people from all over the world. My parents let me have my own computer in my room and trusted me to use common sense (something I’m not sure I’d be willing to do for my own child at that age). Basically, I’ve been deeply embedded in a world of technology for most of my life and my husband couldn’t fathom that. It was completely alien to him.

When we’d been dating for awhile and things were getting serious, he made sure to promise me that he’d get the Internet hooked up at the farmhouse that he’d been simultaneously living in and renovating. It was around that time that I got my first iPhone, so I gave him my old iPod Touch and showed him how to find funny YouTube videos and check his email (he did have an email address, for banking purposes). He took to it quickly and found that it was really handy for looking up things like repair instructions and how-tos, farm futures, store phone numbers and hours, and directions.

Fast-forward four years. He now complains about our Internet speed as much as I do (we can’t get more than 6Mbps down without switching to satellite, which we don’t want to do because of the latency issues). He’s smashed my high scores in Tiny Wings and Angry Birds, and regularly beats everyone at Words with Friends. A few months ago he said goodbye to his flip phone and began using my old iPhone 5s. It’s been a fascinating transition to watch, from my perspective.

However, this post wasn’t meant to be about how he’s changed. It’s really about how I’ve changed.

“Why would you willingly give up your privacy like that?” he asked me four years ago when I showed him things on Facebook. My knee-jerk thought was: “because it’s fun!” However, over time it got me thinking. I searched for my name on Google and was surprised to find pages and pages of relevant results, many of which were account profiles I created for services that I never ended up using. It was too much. I became a little jealous: after all, his digital footprint was virtually non-existent while mine was a cluttered mess.

So I started deleting stuff. Vine? Gone. LinkedIn? Never used it anyway. If you search for my name, there’s still a lot of junk, but let me tell you—it’s a lot better than it was. Even now, Facebook’s “On This Day” feature serves as a continual reminder of how unguarded I used to be on the Internet, posting my every thought and feeling with abandon. Pulling back feels good. It feels like wisdom and maturity.

One of his family members has a piece of opaque tape over her iSight camera.

I haven’t reached that point yet, but living with a non-technological person for the past three years has definitely made me more mindful about my privacy. It’s also made me more thoughtful and skeptical about new technology, especially the whole “Internet of Things.” More often I find myself stopping to ask “why?” Why do I check my WordPress stats page so much? Why do I want to make iOS games? Why does a refrigerator need to connect to wifi? (spoiler alert: it doesn’t) More importantly: Why did I ever look down at people who have flip phones and don’t have Facebook accounts and choose to live a simpler life?

After all, just because their voices aren’t present in the world of 0s and 1s doesn’t mean they don’t matter. I think many of us could stand to remember that. (Now go hug your favorite offline relative!)

An Even Better Live Photo Editor

Alive! As it turns out, an exclamation point can make a world of difference. While Alive (my previous fave) is still a great Live Photo to GIF converter, Alive! ($1.99) is so much more. Alive! is basically the VSCO or Instagram of Live Photos.

There are 22 filters you can choose from and you can also fine tune things like brightness, contrast, saturation, warmth, sharpness, etc. There are four settings for both GIF quality and speed (you can even have the GIF play backwards). The speeds range from 0.5x to 2.0x and the quality from Low (240×320) to Highest (540×720). You can also export Live Photos as a movie with the ability to adjust the overall volume and with three options for both Video size and Quality.

Alive! Filters

The Export menu offers four options: Save as Regular Photo, Save as Live Photo, Export as a Movie, or Export as GIF. When I chose the GIF export, it brought up two options: Share on Twitter, or More Sharing Options. The latter brought up the usual iOS share sheet, where I was able to save the GIF straight to Dropbox.

My only nitpick with this app is there’s no way to edit the length of the Live Photos. In other words, you can’t crop or trim them in any way. However, the filters and image adjustments totally make up for that. Here’s a Live Photo-turned-GIF of our calf, Molly, using the Icarus filter and Medium GIF quality:

MollyLivePhoto

Molly likes to be petted.

Anyway, if you want to up your Live Photo game considerably, go buy Alive!. It’s worth it.

December Photo Project 2015

If you enjoy taking pictures and haven’t heard of the December Photo Project, I encourage you to check it out and try it this year. All you have to do is take one photo every day from now until December 25 and post it online somewhere, either in one of the dedicate Flickr or Facebook groups, or using the hashtag #DPP2015. What I love about it is it forces me to be creative during a month that is notoriously terrible for picture-taking (it gets dark really early, it’s often overcast outside, I run out of Christmas decorations to photograph, etc. etc.).

I’ve participated in the project for four years now, and sometimes I’ll add extra restrictions for myself to make it more interesting. For instance, one year I did all Instagram pics; another year I restricted myself to using my DSLR.

This year, I’m limiting myself to Live Photos that are converted to GIFs. This provides the extra challenge of finding an interesting subject that also features some sort of motion. I’ll be posting my pics on Facebook and Twitter this year. I invite you to join me!

Here are some apps that can convert Live Photos to GIFs:

  • LiveToGIF (Free)
  • Live GIF ($1.99)
  • Alive (Free, with $1.99 IAP to remove branding & ads)
  • Lively (Free for 3 exports, then $1.99)
  • ImgPlay (Free w/$1.99 IAP for extra features)

Alive has been my favorite so far, and will probably be the one I use for this project. Now: time to go hunting for today’s subject!

Update 12-1-15 3:45PM CST: I found an even better app for converting Live Photos called Alive! (yes, same name except with an exclamation point). It’s $1.99 and is exactly what I’ve been looking for. I’m going to write a whole separate post on it in a moment.

Gift Idea: Gadget Bags for Ladies

If you know of a loved one who needs a good bag to tote their gadgets around in, I highly recommend these bags by BorsaBella. Let me begin by saying that I own three of them: two tablet bags and this larger purse.

Here’s what I like about them:

  • They come in fun colors/patterns.
  • The loops that hold the straps to the bag are ridiculously reinforced. They’re not going to break.
  • The straps themselves are adjustable, durable, removable, and replaceable.
  • The bags are machine washable. You’re supposed to hang them to dry but I sent mine through the dryer and they’re fine. (You should probably follow the company’s recommendations though.)
  • They have spacious pockets with high quality linings.
  • If you want, you can have them monogrammed.

If you’d rather have a clutch, there’s this cool Power Wallet from Photojojo that can charge your phone (I got one for Christmas last year; it’s nifty) or these stylish RFID-blocking clutches from Articulate (I don’t own one of these, but am thinking of getting one). Got a favorite gadget bag/purse/wallet geared toward women? Tweet at me (@bhansmeyer) and I’ll add your suggestion to this post!

Giving Thanks

This morning I listened to the latest episode of ATP where John, Casey, and Marco talked about what 2015 tech they are thankful for. That’s a neat idea, so I thought I’d do the same.

In no particular order:

  1. USB/auxiliary ports in car stereos. Ok, I know this isn’t even remotely recent tech, but my husband installed a new stereo in my 1997 Infiniti and now I can finally listen to my playlists and podcasts easily through my car speakers using a built-in USB port. It was seriously annoying to have to burn CDs or listen to the radio all the time!

  2. f.lux. I used to have trouble winding down at night, in part because of all the blue light that comes from my computer and phone screen. f.lux has really helped with that, and now that I’ve side-loaded a similar, open source app onto my phone, I find that my eyes are much happier and my sleep habits are much healthier overall.

  3. My Apple Watch. Like Marco, I haven’t really worn a watch since high school, so there’s a sense in which I’m just enjoying wearing a watch again. However, I think my favorite aspect of wearing the Apple Watch so far is that I’ve been able to keep my iPhone on silent for months. I don’t know, maybe it’s just me, but I find the haptic feedback on the watch significantly less jarring than any of the notification tones that iOS offers. Also, I used to miss phone calls all the time, and now I’ve hardly missed one! Finally, I definitely appreciate how the Activity rings make me more conscious of my health in general (even if I ignore them sometimes).

  4. Online learning resources/communities. I’m thankful for every person out there who takes the time to answer questions in online forums and/or produce tutorials for various programming concepts. Whether it’s a big company like Treehouse or Lynda.com, or an individual with a kind heart, I really appreciate it. I would have had a much more difficult time getting started with programming if it hadn’t been for Stack Overflow, AppCoda, Ray Wenderlich, and an assortment of small blogs. All of these sites and services are made possible by the Internet, so that’s why I’m counting this as tech!

  5. My Keurig 2.0 coffee machine. Yes, I know it’s not even close to fine artisanal coffee, but when I first wake up in the morning I’m in no mood to spend time crafting the perfect cup. Instead, I pop in a Grove Square French vanilla k-cup (only $5.94 for 18 of them) and I’m on my way to enjoying the same kind of syrup-and-sugar-laden beverage you can get at Starbucks. I’ve been even more thankful for this since I became pregnant and decided to limit myself to one caffeinated drink per day, as it’s much less tempting than having a whole pot of coffee sitting around.

  6. Live Photos on the iPhone 6S. This is something that I’m sort of pre-thankful for, because while it’s been fun to take photos of my pets, I know the feature will mean a lot more to me when my son is born! Until then, here’s a Live Photo-turned-GIF of Daisy sleeping by the glass door this morning while I watched the Macy’s Thanksgiving Day parade (created with Alive). Note the icy rain coming down outside—it’s the reason my husband’s family postponed our get-together until tomorrow.

Daisy sleeping by the door

Anyway, that’s all I can think of for now. To all who are celebrating today: Happy Thanksgiving!

Link

iPads in Music Education

iPad and Technology in Music Education

If you are at all interested in learning or making music with your iOS device(s), definitely check out this blog by Paul Shimmons. He updates it constantly with new music app reviews and also notifies readers of any app sales/price drops. If anything, it will give you an idea of the price point for these types of apps: often between $5 and $20.

I’d also encourage you to read this iPad Pro review from Scott Dawson’s daughter. She writes about how the larger screen size is great for reading sheet music. The post includes a video of her playing the piano and using a foot pedal to turn the virtual pages on her iPad.

 

Link

WordPress Mac App

WordPress Gets a Mac App

In addition, WordPress.com is now powered by a new front-end called Calypso which the company has made completely open source.

This site runs on WordPress, as do six other sites that I’ve set up for small non-profits in my local community. It’s really handy to have one central place where I can go to view their stats and make sure all of them have up-to-date plug-ins—a process that used to take forever as I’d have to sign in to each site’s individual admin dashboard.

First App Sales

When my first app became available in the App Store on June 10, I hoped to make about $100 from it. I priced it at $0.99, and figured at least a few people would be looking for a Bible verse app for their Apple Watch.

I quickly realized I wasn’t going to make my revenue goal when by early October the app had only sold a grand total of 14 copies. ? So, I made it free. Now it’s up to about 90 total downloads.

I’m not at all discouraged by how everything turned out. Refining Fire was not only my first iOS app, it was my first real programming endeavor…well, ever. Prior to that, I had written some HTML, made one silly Scratch game, and done some projects in Processing for an Intro to Computer Science class. I have no illusions that it’s an amazing app or anything—I know it’s simple, and lacks features that many people would want, such as licensed Bible translations (which I don’t have the money for).

Anyway, I thought I’d make a quick pros and cons list about releasing Refining Fire as a sort of final reflection on the experience.

Cons

  • Didn’t make $100

Pros

  • Familiarized myself with APIs such as UIKit and Core Data
  • Learned how to add multiple targets to my Xcode project (for the Apple Watch and Today Widget) and share data between them using a custom framework
  • Got involved with Stack Overflow
  • Learned how to parse JSON
  • Figured out how to use Interface Builder and Auto Layout
  • Learned how to troubleshoot a bunch of weird and obscure build settings errors in Xcode ?
  • Got practice in submitting apps through iTunes Connect
  • Something I made is running on my watch. Like, holy crap. That’s really cool!

Based on what happened, I’ve adjusted my expectations for my first game release. I still plan to sell it for either $0.99 or $1.99, but I no longer have a specific revenue goal in mind. I’ll just put it out there and see what happens, and enjoy learning new things along the way.

Finally, a quick shoutout to Manton Reece: If you happen to see this, thanks for mentioning me on your blog! I’m a big fan of Core Intuition. :)

My Favorite Headphones

After all, I can’t be a real Apple blogger until I write about my favorite headphones, right? ;) Well, here they are: the Audio-Technica ATH-M50x ($160) studio monitor headphones, in limited-edition blue. As of the time of this writing they are still available in blue, although according to Audio-Technica’s website, that color has been discontinued. They also come in white, black, and dark green.
ATH-M50x
Marco Arment added the ATH-M50x’s to his headphone mega-review in August and they ended being his #2 pick. I don’t blame him! While they might not be as fashionable as Beats, these phones sound seriously great.

I’m currently listening to Adele’s 25 and smiling because not only is it an amazing album, but also because I know I’m not missing out on anything. The warm, raw timbre of the cello throughout “Love in the Dark,” the soft guitar arpeggios in “Million Years Ago,” and let’s not forget Adele’s ridiculous range—all of it comes through with a crispness and a richness that most Beats headphones could only dream of (though to be fair, I’ve only tried Beats at in-store demo displays).

To my ears, the ATH-50x’s offer the perfect balance of treble and bass. Two of my favorite tracks on 25 so far have been the ballads “Remedy” and “All I Ask,” which feature lots of deep brooding piano notes in the lower octaves that are not at all lost or muddied through the ATH-50x’s. And when the strings kick it into high gear at the end of “Love in the Dark,” let me tell ya, those violins are screamin’ (and I mean that in the best way possible).

As far as accessories go, the headphones are collapsible and come with a carrying case. They also come with three detachable cable options: a 9.8″ straight cable, a coiled cable that stretches to 9.8″, and a smaller 3.9″ straight cable. At only $156 for the black ones, they’d make an excellent Christmas gift this year.

Oh, and if you’re looking for an iOS app that allows you to customize EQ settings, I recommend TuneShell. It also serves as a pretty decent Music app replacement if you’re looking for that as well.

Link

Intro to Guard & Defer

guard & defer

For some reason, this is the first explanation of Swift 2.0’s new guard and defer statements that makes perfect sense to me! It was written by Nate Cook over at NSHipster and is worth a read if you still find yourself confused about how best to use these new language features.

Stay-at-Home Coding

xkcd: Exploits of a Mom

I’m going to be a mom. I quit my job as a secretary over a year ago because I wanted to focus on finishing my masters degree and starting a family, and now both of those things have become a reality. I have a degree in Educational Technology, and when my son is born in March I’ll officially be a stay-at-home mom.

I’m also a conservative Christian. Because I’m obsessed with technology, 90% of the people I follow on Twitter don’t share my political views, but that’s okay. In case there’s any confusion: I don’t hate anyone because they’re liberal, and I don’t think it’s wrong for women to have jobs. Empathy is important to me, and I always try to understand where people are coming from.

What I’m wondering, though, is this: is there room in the Apple blogging/development scene for the perspective of a conservative, stay-at-home mom?

A few months ago I searched Google for “moms who code,” supposing that there would be some non-profit group with that name dedicated to building a community for women developers with children. Instead, I found nothing. Let me reiterate: as far as I know, there is no online space for stay-at-home moms who are (or want to become) independent software/game developers—and who don’t necessarily want to land a high-paying tech job outside the home. Of course, maybe I’m just an outlier in this case and such a community isn’t necessary or even viable. If that’s true, then I guess I’m in for a pretty lonely ride.

At least I have my corgi. (Photo credit: http://www.dignited.com/wp-content/uploads/2014/05/I-heard-hes-good-at-coding-l.jpg)

At least I have my corgi. (Photo credit)

Here’s the thing: today’s stay-at-home mom culture can be stifling at times, at least for someone like me. Don’t get me wrong; I think it’s great that so many ladies are authoring popular blogs about food, family, decorating, crafts, etc. and are running successful Etsy shops and stuff. That’s really awesome. Those just…aren’t my hobbies, I guess? I’m into programming, and video games, and photography, and reading lengthy think pieces about the future of personal computing and the sustainability of the indie app market.

And so, for the sake of my own happiness (and sanity!), I have to believe that the following is true:

  • Moms can be independent software/game developers
  • Moms aren’t limited to creating products meant for children, moms, or women in general
  • Moms can offer unique and valuable perspectives on technology

Anyway, if I can encourage just one woman or girl by arguing that “stay-at-home mom” and “programmer” aren’t mutually exclusive life goals, I’ll be pretty excited! And if anybody knows of a community for programmers or game devs who are also moms, feel free to drop me a line.