Apple

AppleTV and Remote App

Some observations from using the Remote app with an updated 4th Gen AppleTV:

  • Pairing it was fairly painless, and just required me to turn on Home Sharing on the AppleTV. I hadn’t bothered with that in the past, but once it was on for both the AppleTV and the Remote app, the AppleTV showed up in the Remote app and everything Just Worked.
  • The Remote app lets you control all basic functionality of the AppleTV. When you get to a screen with a text input field, it just automatically brings up a text field in the Remote app, along with a vibration (I guess that’s so you know to look down?)
  • The Remote app does NOT act as a game controller. Dolphin Patrol, which relies entirely on the game controller API, doesn’t work at all. Even the Menu button doesn’t work, which is a little annoying, since you can use Remote to get into the app, but need to pick up the Siri remote to get out of it.
  • The Remote app sort of works for other apps. The Menu, Select (i.e. tap on the touchpad), and Play/Pause buttons work. However, swiping on the touchpad doesn’t appear to work, even though if you are navigating basic UI controls, such as a UITableView, the swipes work. But gestures I created using UISwipeGestureRecognizer are not being recognized.
  • I verified this with two other apps that weren’t mine - Beach Buggy Racing doesn’t work at all, so I assume it is using the Game Controller API. Plane Finder works in much the same way Our Blue Marble works - button presses are ok, but you can’t swipe around. Sadly, this also means that when you run the “Sharks” app, you only get to see one of the cameras - swiping to select the other camera doesn’t work.
  • There is an “Options” button near the Menu and Play/Pause buttons. I can’t figure out what it does.

Overall, a great improvement, particularly for entering in passwords and such. For something that I would have expected to be there on Day One, it is rather amusing that I’m pleasantly surprised that it has come out “already”, but in any event, glad to have it!


So... I Wrote an AppleTV app (and then another)

In what was certainly a record for me, I really did finish and release the app I mentioned in my last post!

tvOS Small Icon Combined
Dolphin Patrol — Get it on the App Store today - it’s free!

I was one of the lucky ones who got an AppleTV developer unit, and for the first time, wanted to be in the App Store on Day One. My development environment consisted of a cheap HDMI monitor that replaced my normal second monitor, hooked up to the AppleTV. I had quickly realized that if I wanted to use the GameController-based APIs, the simulator just wasn’t going to cut it. Overall, I think using the external monitor has worked out well. Only a few times during development did I unplug it from my smaller monitor and hook it up to the family TV. This was worth doing to make sure the game elements were sized appropriately and to be sure I wasn’t letting anything get cut off from the overscan areas, which were different between the TV and monitor.

What Worked

  • Dolphin Patrol was written in 100% Swift 2.0. There was definitely a learning curve associated with this, and more time looking up Swift goodies in the iBooks, Stack Overflow, GitHub, and ericasadun.com. But overall, I believe it ended up saving me time, and I really love writing in Swift. I have been following Swift since it came out, and have written a few sample projects (and a great tutorial from Apple too), but this was the first time committing to it for the entire app. I didn’t use a lot of low-level C APIs, which I think helped.
  • DemoBots. Apple’s sample code was a life saver. I used it to come up with an entirely SpriteKit based solution (at least at first). DemoBots is a beast of a sample app, but it had all of the goodness I needed in there to learn how to use the GameController API. Since from the beginning I knew I wanted to support multiplayer, learning GameController was a requirement.
  • This silly little game controller I had picked up months ago from Meh. My thought at the time was to use it to play iOS games that supported Game Controllers (I never really found one), but it was invaluable for multiplayer and compatibility testing.
  • XCode + Swift was relatively stable. My biggest issue was sometimes a build wouldn’t go across to the AppleTV to run, but just building it again (?) seemed to push it along.
  • Thanks to some enterprising developers on Apple’s developer’s forums, we got a nice little group of testers together to help test each other’s AppleTV apps prior to launch. It wasn’t a lot of time, but it was valuable, particularly since the Apple Developer Forums were just about the only place you could discuss AppleTV development prior to launch.
  • Physics is fun. Some of the most fun I had developing the app involved tweaking the PhysicsWorld constants in the game. Springs can get pretty crazy.
  • Six weeks from start to finish. Completely a new record for me. The motivation of a Day One launch was a huge factor.

What Didn’t

  • Testing a multiplayer game is hard. If you are a solo indie developer, make sure you have some willing family members who will help you test your game. I generally lost to my kids when we played against each other. Playing with a Siri Remote in one hand and a game controller in the other was just about impossible.
  • Entering passwords and email addresses on a newly installed AppleTV is a pain. I wish this process had been easier, particularly since each new beta of tvOS required a clean install.
  • TestFlight was great to have, but came really too late to be a huge help on Day 1.
  • I didn’t end up doing EVERYTHING in SpriteKit. I eventually figured out how to mix and match SpriteKit-based scenes with more traditional UIViewController-based screens. This game me the best of both worlds.
  • Art is hard. The theme of my game was mostly determined by where I could get reasonably priced artwork. I then supplemented with my own meager-but-growing Sketch and Affinity Designer skills. I wish I had spent more time on the icon - the next version will improve that, since the icon is really the only way an App Store user may see your app, during a search.
  • App Store discovery - this has been discussed endlessly already in the developer community, but still, pretty disappointing to be there on Day One and have no way for people to find your app.
  • Charging for the app. I went free after about a week. (I feel like I’m in good company.) Downloads increased accordingly. I didn’t understand how promo codes worked for AppleTV, and initially thought they weren’t supported. However, I now think that you can give them out and redeem them on the iOS app store, and the app will just show up on your AppleTV app store. I have yet to verify this, though. I might have lasted longer as a paid app if I could have given away promo codes - I still would not have made money, but there was at least the chance.

The Future

  • I’m still adding features to Dolphin Patrol. One of the most important is an iOS client app that will act as a bluetooth game controller for multiplayer. I have the bluetooth code up and running, but it will take a bit of work to make the gameplay feel natural. Bluetooth programming is a bit of a pain. I think that apps that are either universal (not currently in my plans) or are at least visible on the iOS app store have a better chance of being discovered.
  • While I was blocked a bit contemplating how to add Game Center Achievements to Dolphin Patrol, I tried my hand at writing another app. I felt like I was on a roll, and my Swift learning curve has ramped up nicely. So, after about 3 days, I have another app sitting in the review queue on iTunesConnect. Not a game, and completely different from my last app, but I really enjoyed writing it and seeing how quickly something could come together. Announcement will be here if it gets approved! Writing AppleTV apps is quite fun, and kind of addictive. I’ve got two more ideas in mind, but also have a set of Mac and iOS apps that have been neglected for far too long. (AlphaBaby, BabyProof, AlphaTalk, and Tapscape, for the curious!)


Fixing flash pics on my iPhone

I was having a problem with flash photos on my iPhone 4. They had white spots all over the picture, no matter what light conditions they were taken in. Further investigation revealed that when I took off my case, the problem went away. Hmm.. clearly, the case was the culprit, but why? It turned out that the case, which is a dark blue floral print, had started having some wear around the edges, particularly the edges around the opening for the camera. Where the blue had worn away, it revealed white plastic underneath. It seems as if the white opening around the flash lead to some nasty and unwanted reflections of the flash back into the lens. A suggestion was made to color in the white part of the case with Sharpie. As of today, that was attempted, and it fixes the problem! So, if your flash pictures start looking strange, take a look at your case and see if you have any white parts of the case around the flash!

Apps on my homepage

I love to write apps for the iPhone, but I also love to just use the iPhone, and have gotten quite a collection of apps. I heavily use the folders feature of iOS 4.0 to make sure I fit all of my apps on the available 11 screens. This mostly means that I have about 15 folders named “Games”, but at least I can see them all if I want to!

I’m hoping this will the be the first post of many describing some of my favorite apps, and the ones most worthy of being in one of the first few pages of apps on my phone.

The main, or first, home screen is the easiest to get to, since a simple tap of the Home button brings you there. Not counting the apps in my “dock” at the bottom of the screen (which are all built-in Apple apps), about half are built-in apps, and half are apps I’ve downloaded from the App Store - some free, some paid.

I’ll focus on two music apps that make the front page. They are: Shazam (free) and Pandora (free).

I use Shazam to find out the names of songs playing on the radio. When you are listening to a song, just launch Shazam and tap the “Tag Now” button. It will listen for a few seconds, then connect to a server, and magically come back and tell you the name and artist of the song. I’ve found it to be remarkably accurate. The kids love it because we can be listening to a song on the radio, and they can find out the name, and even lyrics, right in the car. No more do I have to answer the question “What song is that?”. Just pass them the iPhone and they can figure it out for themselves. Shazam keeps a list of all the songs you have tagged, which is great if you later want to back and buy one from iTunes (of course, it has a handy link to the iTunes store for each song).

Pandora lets me discover new music in a different way. You can set up your own virtual radio stations based on a song or artist. Pandora will then play songs that are like the song you specified. You need to create an account (for free), so that it can keep track of your stations. Occasionally there will be ads, if you don’t choose to pay for their premium service. I’ve used Pandora for years on the Mac, and love having it on the iPhone. However, I used it a lot more before I changed my AT&T data plan to be a fixed size (200MB). Now, I worry a bit more about how much I’m downloading a month, and don’t tend to use Pandora on anything other than a WiFi network. Still, it’s a great way to listen to new music.

Version 2.01 of AlphaBaby submitted to App Store

I’ve just submitted version 2.01 of AlphaBaby and AlphaBaby Free to the iTunes store. It’s a very minor update, just to improve how loading multiple photos works on 4.2 on an iPad. It’s not clear when iOS 4.2 will be released, but hopefully AlphaBaby will be approved shortly and we’ll be ready! I have a lot of AlphaBaby 2.0 promo codes available, and would love to give some away. All I ask is that you leave a review for AlphaBaby (or AlphaBaby Free), or tweet about AlphaBaby, and I’ll send you a promo code!
© 2010-2016 Little Potato Software   Follow littlepotatosw on Twitter        Site Map     Privacy Policy     Contact Me