Archive
My Week With The iPhone 6
I know you’ve been thinking about getting an iPhone 6, but have been holding off. When is the official Nothing Was Delivered review going to drop? you ask. Well wait no more.
The first thing you notice about the iPhone 6 is that it’s big. Not enormous, but it fills your hand in a way previous iPhones never did. One thing to remember is that the iPhone width has stayed pretty much the same for the past 7 years. Your fingers would wrap around the iPhone 5S nearly the same way as the original.
The 6 changes that, adding width while shaving off depth. Apple tries to distract from the increased size by moving away from the monolith shape. The new phone is rounded on all sides. Even the glass on the front curves down to meet the front. It feels really nice but also really slippery. I am afraid I’m going to drop the 6 in ways I wasn’t afraid before. In practice, I have only dropped it once so far, but it will take some getting used to.
The larger screen still seems wasted. Nice for looking at photos or watching videos, or even for the occasional responsive web site. But most of my apps still seem to be just scaled up versions of their iOS 7 predecessors. Even among those that have updated their apps for the new iPhones, no one seems to be doing much with the extra real estate.
My big complaint, however, is with one-handed use. My hands seem fairly unremarkable. They’re not particularly large, no are that especially dainty. I grip my phone somewhat loosely with my right hand, the right side nestled in my palm, my pinky providing support in the lower left hand corner, my ring and middle fingers gripping around the side, and my pointer finger propping up the back. The entirety of the screen that I can therefore comfortably interact with is within the arc of my thumb.
If I position my phone in this usual set up, then I can easily reach the home button, the dock, and all but the top rows of apps. I can (barely) reach the top right app, but the top left is an app too far. Apple’s primary solution is Reachability, which is, unfortunately, kinda gross. What I used to be able to reach easily with my thumb now requires two taps on the home button, then a swing all the way back towards the top of my reach. What was one motion is now three. A terrible kludge.
Luckily, the item that is most often in that upper left corner is a “Back” button, and Apple had one last trick up their sleeve. Swiping in from the left edge of the screen is now generally treated as a “Back” gesture. Still, I am going to make sure my most useless apps fill that top corner, because it’s generally not worth the effort.
(note to self – come up with a placeholder app that doesn’t do anything, just sits in the top left corner of your iPhone. Step 3, profit).
When all is said and done, this is a great phone, but the compromises are clear. Apple decided that the public wanted bigger phones (don’t get me started on the 6 +). And judging by their opening weekend sales, they’re probably right. But honestly, I kind of wish they made a phone with the 6’s internals and a 4” screen. That’s not going to happen this year, so I’ll have to somehow get by with a magic 4.7” computer that fits in my pocket. If there’s any lesson to be learned here it’s that screen sizes are going to keep changing. One day the fashion will no doubt swing back to smaller screens (iPhone Nano, anyone?). Till then, I welcome our new gigantic iPhone overlords.
An Index In Your Head
It’s been a month since I said that this blog would have a new direction and I haven’t posted anything meaningful on the subject. Let that not reflect on the subject matter, since there has been plenty that I meant to write about. I just… got side tracked.
So what have I been doing? Well, summer is never the most productive time of the year, but I have found some time to sit myself down and try to figure this thing out.
My main study guide has been Aaron Hillegass and Mikey Ward’s Objective-C Programming (2nd Edition). I found this to be a good place to start due to what it is not. It is not a book on how to make iPhone apps. The arcane incantations that get Xcode to work are only touched on briefly. Mostly this book aims lower. Start at the language. How does Objective-C work? What is Object Oriented Programming, and how does Apple want you to use it? What is going on in memory while your code is doing its thing? How the fuck do blocks work?
It remains to be seen whether this detour was worth it. There’s still plenty I don’t quite grok, but I’m betting that once I’m done with the text books and sample code, just having read these books and having a rough index in my head will be helpful.
Parlez-vous Swift?
So here I am ready to make an iOS app from scratch, except that I have no idea how make iOS apps (or apps of any other kind, for that matter). But I do know that you need to program in Objective-C, a language developed largely by NeXT in the late 80’s, adopted by Apple in the early 2000s, and used today mostly to make apps for the iPhone. So I bought a couple of books and set to work learning the basics.
Every year, just as summer is getting under way, Apple hosts their World Wide Developers Conference, where they lay out their current thinking on the best way to make apps. There are new technologies introduced, lessons available, and for those of us who can’t take a week off to fly to San Francisco, they put videos of everything up on line. Knowing this was coming up, I thought I could focus on learning the basics of the Objective-C language, as the higher level elements were likely to change.
Then Apple upended everything. Objective-C, they said, is no longer the only way to make apps for their devices. Swift was a brand new language created in secret by small team inside Apple. It was modern, they said, and apps built using it would be less likely to crash.
That’s all well and good, but I was just starting to get a hang on the old way! Did I now need to start from scratch? How would I even do that? Swift was brand new, and the only way to learn it was an ebook that Apple released that was clearly aimed at people with a better understanding of how computing worked.
After spending roughly a week paralyzed with indecision about which path to take, I picked back up the book I had been working on. For the time being, I’m making this app the old fashioned way. A couple of points factored in to this decision.
- Swift is really new, and was created by a very small (though I’m sure very smart) team inside Apple. Now that there are hundreds of thousands of developers poking around through it, I’m sure they’re going to find bugs. And I’m sure that Apple is going to fix some of those bugs, meaning that the language is going to change quickly. Behaviors you can expect today might not apply a year or two down the road. That could cause problems that I’m not confident I’d be able to detect.
- Objective-C is old. In some sense, that means it’s creaky, and there are some difficult concepts to grok that are papered over in newer languages like Swift. But it also means that it is well tested, and that it’s peculiarities are well documented. If I have questions, it’s pretty easy to google the method names I’m working with and find explainers, and other people who have had the same issues. Answers are abundant, and if I can’t find them already existing online there are tons of people with experience working with these technologies that I can ask.
- I already have the books.
- Swift and Objective-C code can live side by side. Apps are written as smaller files that are compiled and combined into that neat little icon on your phone. You will be able to Objective-C and Swift files together in the same app to solve different problems. That is exciting because it means I can start today in Objective-C, and then start adding Swift files in the future once I see that it is starting to mature, and I won’t have to go back and redo everything I had already built.
- Swift is clearly the future, but Objective-C is not yet the past. It’s still being used by Apple itself for most everything, and likely will be for years to come. That means it’s not going to go away any time soon. I don’t think we have to be afraid of Apple coming in next year and saying that all submissions must be Swift-only. This is going to be a slow transition, and the end state is going to be a world where Swift is the preferred, but not only language.
So on a beautiful Saturday like today, I am hashing this around in my head, and I think I’ve finally convinced myself. Now that I’ve gotten this off my chest, I can go enjoy the day.
Why This Blog?
Right now you are reading this blog. Your reasons are your own. My reasons for writing, however, effects us both, so I thought I’d lay them out here.
This has always been somewhat of an aimless blog. I started writing some slice-of-life essays, added some recipes, and throwing in some bits about computers. Because there was no focus, I never really new what to write about, and as such I posted rather infrequently. Most of what I wrote I found myself putting out on Twitter. I lacked the attention span for long form blogging. Meanwhile, I never saw much traffic because who was the target audience, anyway?
But now I’ve got a new project, and as such the focus of Nothing Was Delivered is going to change some. If you’ve followed me before, I hope you’ll find the new content interesting. If you found your way here because of the is new content, I hope you enjoy it, and please check out the back catalog, so to speak.
Here’s the deal. I’ve gotten bored lately. I had a band, which fell apart. I thought about starting a new one, or striking out on my own, but haven’t felt inspired. I’ll leave the details for a separate post, but ultimately that was something I had done, and I wanted a new challenge.
So a while ago I started poking around with programming. Like many Americans, I sit in front of a computer most of the day, and when I’m on the go I have my iPhone with me. The power and flexibility of these devices constantly amazes me, but I realized I had no idea how they worked, at a basic level. We all know that computers see 1’s and 0’s, but how the hell does that translate to all the things that go on on these screens?
In particular, I was interested in Apple’s ecosystem. I started reading Apple rumor sites, which lead to technical descriptions that I couldn’t make heads or tails of. I also stumbled on some Apple centric podcasts, which lead to others that were less fan sites and more developer focused. I would sit through the technical bits of shows like Hypercritical so that I could get to the more general discussions of Mac OS X or iOS. Eventually, I started to pick up some of the low-level lingo, or I would Google some phrases, and eventually these parts didn’t seem so scary. I found the book Code, by Charles Petzold, which gave a good fundamental explanation about what was going on inside these machines. I started to see technology as a puzzle that I could figure out, given time.
Now I have a project that I want to work on (more on that another time), and wanted to document it. This is mostly for my benefit, as I’m pretty much teaching myself as I go along. I have no formal training, though I’ve bought some books and completed some tutorials online. I figured if I had a place to think through these problems out loud as I come to them, they would be easier to work out.
I also thought I could offer a bit of a different perspective from many of the tech and Apple centric blogs. Sure, I’m as much of a white dude in his thirties as most of the other writers in this sphere, but I’m coming to this as someone that has very little idea about how this technology works. There are many wonderful writers that are very knowledgable about Apple’s past and present, and therefor able to give insightful context the changes this industry is seeing. I wanted to approach this as someone who has never been to a WWDC, hasn’t witnessed the evolution of Apple’s APIs over the last several decades, and in fact just learned what an API was recently (in layman’s terms, my understanding is that it is short a series of code snippets that an operating system creator or platform vendor gives that allows other developers access to more complicated technologies e.g. GPS APIs on a smart phone that let apps get your location without writing everything from scratch).
So that’s the new focus. There will still be more general purpose writing. In fact, I hope that by getting in the habit of writing more, I’ll be even more likely to turn to blogging to get out whatever I have on my mind. I do think that the food posts are going away. I actually intend to spin those off into a separate blog at some point.
I’m rather excited about having a new direction. Here’s hoping that this blog will keep me honest.
Re-Inventing The Wheel
Now that we’ve all had the weekend to digest the Apple vs Samsung verdict and it’s become old news, I thought I’d chime in. John Gruber doesn’t see this ruling being harmful to consumers.
But I don’t think there’s anything in this verdict that would prevent Google, Nokia, Microsoft, Samsung, HTC, Sony, or RIM from creating a new phone that is way better than the iPhone. Better necessarily implies different. What this verdict should prevent is any of them making phones that are disturbingly similar to Apple’s.
I don’t buy it. The iPhone is not a monolithic thing that a competitor can be judged “better than” or “worse than”. it is a collection of details. Other smart phones, likewise, are the sum of their collections of details, both obvious and subtle.
Matt Yglesias likens today’s smart phone race to the early days of automobiles.
Think about cars and you’ll see that, of course, lots of different companies make cars. But they all have some very similar user interface elements. In particular, there’s a steering wheel that you turn left and right to shift the wheels and there’s a gas pedal and breaks that you hit with your right foot. Imagine if the way the automobile industry worked was that each car maker had to devise a unique user interface. So maybe GM cars would have a steering wheel, but Toyotas would have a joystick, and Honda you would steer with your feel and use your hands to control the gas and breaks.
Cars today don’t operate drastically different from cars created 50 years ago, but it’s hard to argue that technology has stood still. But let’s consider what would have happened if Ford had been granted exclusive rights to the steering wheel some time during the past. Sure, it’s possible that, faced with the prospect of being unable to simply try to iterate, making a steering wheel that turns smoother or is angles more ergonomically, they would go back to the drawing board and invent the next big thing. Instead of cars, we could all be moving around on giant family sized Segways today. but I doubt it.
Invention is great, but day to day progress is made through innovation. Taking an existing idea, tweaking it, then putting it back out in the world. Call me a dirty pinko, but I think technology moves fastest through novel collections of existing tech. This verdict just means we’re going to see companies settling for inferior solutions so as to avoid a lawsuit. Any time a designer spends worrying about the fine line of IP infringement and not about making the best product they can is a huge waste.
RIP Sparrow
I’ve become addicted to the Sparrow email client for the iPhone and especially the Mac. Looks like they’ve been bought by Google, who plans to bring the developers in house to work on who knows what related to Gmail, letting Sparrow die on the vine.
We will continue to make available our existing products, and we will provide support and critical updates to our users. However, as we’ll be busy with new projects at Google, we do not plan to release new features for the Sparrow apps.
I’ll be honest, I didn’t see this one coming. Sparrow seemed like they were making a nice living selling their app. They were making something useful and getting paid, and we were getting a top notch email client. Seemed like a win-win. You always worry about the free online services. You know that eventually they have to find a way to cash out. When I pay for an app or a service, I suppose I imagine they’re in it for the long haul.
Still, Sparrow won’t stop working any time soon, so what’s really lost here is the potential for what they could have done with Sparrow in the future. It’s like seeing writer change careers in the middle of a trilogy. You still have the books that had been produced, but there’s a feeling that the story was never completed.
How To Resize PDFs in Lion
Nifty trick and saved my bacon today.
Long story short, Preview in Lion (and also, I’m assuming, Mountain Lion) lets you chose File -> Export. Towards the bottom of the Save screen, you’ll see the option for Quartz Filters. Choose Reduce File Size. If the resulting PDF compresses your images too much, you can create a custom filter with OS X’s Color Sync app.
Then to use this new filter just right click on the PDF you want to compress, choose Open With -> Color Sync, pick the filter you want, and hit Apply.