Development

Amazon’s complex plan to make the Fire Phone a key player

There’s been a lot of talk over the past few days about Amazon trying to buy developers by giving them $5,000 to build an app for the Fire Phone, up to a max of $15,000 for three apps. When I first heard this story, I thought Amazon’s plan was misguided, that they’d lay out a ton of money to buy their way into undisciplined relevancy, with an indiscriminate copy of apps that are available on Google Play and other Android app stores. Sort of a “me too” strategy.

But that’s not quite right.

Stack Overflow’s interactive survey of 20,000 developers

The survey itself is interesting enough. But what really caught my eye is the interactive nature of the interface.

Try this: Click Country on the left side of the window, then click Describe in the upper left. This gives you a breakdown of survey participants by country. I really liked the ability to play with the survey data. Wish all surveys were built this way.

Highlights of Apple’s new Swift programming language

Interested in learning about Swift, but not ready to commit to the entire iBook yet? Read the linked article. Well written, detailed, but just focusing on the highlights. But when you’re done, RTFM.

How eyetracking can improve your web page design

You spent hours making your design perfect. The images have been meticulously Photoshopped. The calls-to-action have been revised and refined countless times. You know exactly where you want the user’s eye to land and precisely how you want it to move. And with the emergence of eye-tracking technology, it’s finally possible to know whether or not it actually works.

This is a great idea. Use eye tracking to figure out what images work best, and where to place them to bring the user’s attention where you want it.

Why Swift might be the new BASIC

Apple’s new Swift programming language is designed, over time, to replace Objective-C. Swift is much easier to grasp, though not nearly as easy as BASIC, since Swift is designed to support much more complex tasks. But Swift is much, much easier to grasp than Objective-C.

Huge lines for yesterday’s keynote [Photos]

One of the charms (and curses) of WWDC is the massive line outside Moscone of folks trying to get into the main hall. Seeing the keynote from one of the overflow rooms is fine, but there’s a real feel of electricity in the main room that is hard to match.

The San Francisco Chronicle blogged some pictures and tweets from the line. It’s as if you were there in person!

Apple officially announces iOS 8

Apple officially announced iOS 8 during the WWDC keynote. Follow the headline link to read the official press release.

Apple releases iOS 8 SDK with over 4,000 new APIs

The iOS 8 SDK is truly gigantic:

Apple® today released its iOS 8 SDK, the biggest developer release ever with more than 4,000 new APIs, giving developers the ability to create amazing new apps like never before. iOS 8 allows developers to further customize the user experience with major extensibility features like Notification Center widgets and third-party keyboards; and introduces robust frameworks such as HealthKit and HomeKit. iOS 8 also includes Metal, a new graphics technology that maximizes the performance of the A7 chip and Swift, a powerful new programming language.

I can’t wait to dig into all this stuff, especially the new version of Xcode, the SpritKit playground, and the new Swift programming language.

Apple officially announces Yosemite

Apple officially announced Yosemite during the WWDC keynote. Follow the headline link to read the official press release.

WWDC live stream and party links

Some useful links for watching the live stream of the WWDC Keynote, as well as options for tracking the various parties that surround WWDC and AltConf.

Everything is broken

This essay has been making its way around the net like wildfire the past few days. An interesting rant of the “we’re doomed” variety.

The great works of software

As with any list, there will be much disagreement on what was included and left off the list. That aside, I found this to be a thoughtful read.

As far as I can tell, no truly huge world-shifting software product has ever existed in only one version (even Flappy Bird had updates). Just about every global software product of longevity grows, changes, adapts, and reacts to other software over time.

So I set myself the task of picking five great works of software. The criteria were simple: How long had it been around? Did people directly interact with it every day? Did people use it to do something meaningful? I came up with the office suite Microsoft Office, the image editor Photoshop, the videogame Pac-Man, the operating system Unix, and the text editor Emacs.

I would have placed Unix at #1, the original Mac OS at #2, Mac OS X at #3, and iOS at #4. But hey, that’s just me.

Responding to App Store reviews

Microsoft is adding the ability for developers to send feedback directly to customer reviews. Are you an iOS developer? Read the post, leave a comment.

Life without WWDC

If you’ve ever been to WWDC, give this a read. I feel your pain, James.

Problem with the latest version of Flash? Read this

Overthought.org:

This morning, Adobe kindly alerted me of an update available for Flash to take it to version 13.0.0.182.

The update breaks Flash.

DO NOT run this update, at least until Adobe solves whatever is causing the plugin to fail.

Several readers of Overthought.org have reported that this update completely breaks Flash for Safari on OS X 10.9 Mavericks. I have also personally experienced this issue.

If you run into a problem with your newly updated Flash install, read the rest of the post. Hopefully, it will help. [Via @stumark and @jordanmerrick]

Thoughts on asking users for iOS permissions

Asking a user for permission to send them push notifications or to access their private data can be a little bit of a minefield.

For many apps, not getting access to a phone’s sensors or data can change the entire user experience. For example, if an app depends on where the user is standing, declining access to location could render the app useless. More subtly, if push notifications play a critical role in getting your user to form a habit of using your app, declined access could lead to you losing them forever.

Making it all worse is that when a user taps “Don’t Allow”, there is no easy way for them to reverse that decision.

If you are interested in user interface/experience, this is some good food for thought.

Banning “feigned surprise”

I just loved this essay about banning “feigned surprise”, a pretty common response in the programming universe.

“Feigned surprise” (when someone gasps and says something like: “you don’t even know about monads?”) is a method of belittling someone and lording your superiority over them.

How the Heartbleed vulnerability works

I’ve been reading about the Heartbleed bug, trying to understand how it does what it does, how a hacker could use the vulnerability to gain access to your data.

If you have not heard of Heartbleed, read this, which was posted last night.

Read the main post for my ham-handed attempt at explaining how this vulnerability works.

WWDC lottery results are out – here’s mine

Am I in? Am I in?

Dear Developer,

Thank you for registering for the random selection process to attend WWDC 2014.

Unfortunately, you were not selected to purchase a ticket. However, you can still take advantage of great WWDC content. We’ll be posting session videos, slides, and sample code throughout the week for all Registered Apple Developers.

We appreciate your support.

Best regards, Apple Developer Program Support

Pheh. If you put yourself in for the lottery, hopefully your luck was better than mine. The good news is, Apple has been great about putting everything on line quickly.

Curated JavaScript resources

This is an actively curated collection, with articles for beginners and those with experience. Terrific resource.

Statistical analysis of the Apple App Store

If you in any way make your living, or hope to make your living, via the App Store, I think you’ll find this fascinating. For example:

I ran a simple query on my data to determine the distribtion of user ratings. I found that 60% of apps do not have any user ratings

I’m surprised by this. Zero ratings. Not one person took the time to rate 60% of the apps. To me, that means 60% of the apps never get found, never find an audience.