Apple, Firefox OS, iOS, Mozilla, Programming, Reenact

Reenact is dead. Long live Reenact.

Last November, I wrote an iPhone app called Reenact that helps you reenact photos. It worked great on iOS 9, but when iOS 10 came out in July, Reenact would crash as soon as you tried to select a photo.


It turns out that in iOS 10, if you don’t describe exactly why your app needs access to the user’s photos, Apple will (intentionally) crash your app. For a casual developer who doesn’t follow every iOS changelog, this was shocking — Apple essentially broke every app that accesses photos (or 15 other restricted resources) if they weren’t updated specifically for iOS 10 with this previously optional feature… and they didn’t notify the developers! They have the contact information for the developer of every app, and they know what permissions every app has requested. When you make a breaking change that large, the onus is on you to proactively send some emails.

I added the required description, and when I tried to build the app, I ran into another surprise. The programming language I used when writing Reenact was version 2 of Apple’s Swift, which had just been released two months prior. Now, one year later, Swift 2 is apparently a “legacy language version,” and Reenact wouldn’t even build without adding a setting that says, “Yes, I understand that I’m using an ancient 1-year-old programming language, and I’m ok with that.”

After I got it to build, I spent another three evenings working through all of the new warnings and errors that the untouched and previously functional codebase had somehow started generating, but in the end, I didn’t do the right combination of head-patting and tummy-rubbing, so I gave up. I’m not going to pay $99/year for an Apple Developer Program membership just to spend days debugging issues in an app I’m giving away, all because Apple isn’t passionate about backwards-compatibility. So today, one year from the day I uploaded version 1.0 to the App Store (and serendipitously, on the same day that my Developer Program membership expires), I’m abandoning Reenact on iOS.


…but I’m not abandoning Reenact. Web browsers on both desktop and mobile provide all of the functionality needed to run Reenact as a Web app — no app store needed — so I spent a few evenings polishing the code from the original Firefox OS version of Reenact, adding all of the features I put in the iOS and Android versions. If your browser supports camera sharing, you can now use Reenact just by visiting

It runs great in Firefox, Chrome, Opera, and Amazon’s Silk browser. iOS users are still out of luck, because Safari supports precisely 0% of the necessary features. (Because if web pages can do everything apps can do, who will write apps?)

One of these things just doesn't belong.

One of these things just doesn’t belong.

In summary: Reenact for iOS is dead. Reenact for the Web is alive. Both are open-source. Don’t trust anyone over 30. Leave a comment below.

Apple, Bug Evangelism, iPhone

iPhone 5 shuts off when opening Camera

I’ve experienced a strange iPhone 5 or iOS 6.0.2 bug three times in the last week. Here are the steps to reproduce:

  1. Use phone until battery level is at the most 40%.
  2. In in an environment with a temperature below 50º Fahrenheit, play music through the phone speakers for at least 30 minutes.
  3. Confirm that the battery level is above 15%.
  4. Open Camera app, with or without stopping the music playback.
  5. Phone immediately shuts off as if the battery was dead.
  6. Attempt to turn phone on; screen shows “no battery” symbol.
  7. Plug phone in to a power source. The phone will turn back on after a few seconds, showing at least 15% battery power.

These specific steps are the result of me using my phone as a stereo while I work on projects in my garage in Minnesota in the winter.

I’ve reported the problem to Apple; has anyone else experienced this? I don’t know if the temperature, music playback, or actual battery level are relevant, but it’s definitely due to opening Camera.

Apple, iPhone

Does the iPhone encourage insecure passwords?

It is common knowledge that a strong password contains characters from the largest character set possible; that is, a password made up of letters (A-Z) is weaker than a password consisting of letters and numbers, which is weaker than a password that contains letters, numbers, and symbols such as $, @, or &. This is because the larger the character set, the longer it will take to guess or crack the password.

History has shown that users will choose passwords that have the following qualities, in order of importance:

  1. Easy to remember.
  2. Easy to input.
  3. (If at all) hard to guess.

A memorable password is worthless if it takes more than a few seconds to type, and an easily typed password is worthless if it can’t be remembered. So typically, savvy computer users will pick a password that strikes a balance between the first two qualities, and some might take a moment to make it harder to guess by appending an arbitrary letter or number to the end. This is what causes passwords like password4 or vikings96.

But when using the Apple iPhone to enter text in a password field, what characters is the user presented with?

Keyboard with only letters and the space bar

Letters only, with numbers and symbols hidden in secondary and tertiary keyboards. The extra effort needed to find and type a number (or an underscore, in the third keyboard removed) each time they enter a password will cause some people to either change their current passwords to be alphabetic or at least do so when choosing new passwords. If Apple wanted to encourage good password selection, the keyboard for a password field should at least look something like this:

Alternate iPhone keyboard with A-Z and 0-9

The shift key would transform 0-9 into their traditional shift alternatives, and all of the keys would still be available in a secondary menu, if desired. However, if Apple wanted to make a truly game-changing move, they’d make the default password keyboard look like this:

iPhone keyboard consisting of only symbols

Of course, that might be a little drastic. :-)

Apple, Browser, Recommendations, Safari

Safari on Windows: First impressions from a browser developer

Safari LogoI’ve been playing around with the beta release of Safari on Windows XP, and here are my initial experiences and impressions: (I don’t use Safari on the Mac all that often, so I’m not claiming that these are bugs in Safari for Windows only.)

  • Bookmarks importing does not work. It didn’t auto-detect any of my Firefox, Flock, Internet Explorer, or Navigator profiles like the webpage said it would on its first run, and it also doesn’t do anything when I choose “Import bookmarks” from the File menu and give it a bookmarks file to import.
  • The tab and status bars are hidden by default, which is a shame. Tabbed browsing should be given the spotlight, and the status bar is where most people look to see where the link they’re about to click is going to take them.
  • Looking at the browser’s UI and rendered pages literally hurts my eyes. It may be due to some font setting on my computer, but while Firefox/Navigator/IE on my computer all look fine, any text in Safari (including the menu options) is slightly blurry. I won’t be able to stand this for any extended amount of time.
  • Doesn’t support middle-clicking on tabs to close them. This will frustrate me very quickly.
  • Using a blue icon that says “RSS” instead of the de facto standard orange feed icon? Lame. However, their actual feed viewer is very nice.
  • Clicking on the “Add Bookmark” toolbar button and then pressing either “Cancel” or “Add” in the resulting dialog crashes the browser. Every time. (Turns out that the same thing happens when closing the Toolbar Customization dialog.)
  • It doesn’t support adding more search engines, as far as I can tell. Yahoo! and Google are all I can have?
  • I can’t get it to display XML files as anything other than plain text.

So, while I’m glad that Apple has taken the step of releasing their browser for Windows (we welcome any competition), I’m not that impressed with the actual offering. (It kind of reminds me of Firefox 1.0 – much better than Internet Explorer, but not nearly as good as any recent Mozilla (or Netscape) browsers.) I’ll submit these bug reports to Apple and hope for something usable when Beta 2 comes out.