Follow Patrick McCarron on Twitter View Patrick McCarron's LinkedIn profile View Patrick McCarron's Flickr Photo Album View Patrick McCarron's Facebook profile

My Portfolio

Ask me a question

Archive

RSS

Patrick McCarron's
Infinite Shamrock

 

March 29
2012

Words Play: Reflections on Game Center’s Turn Based APIs

When we at Stand Alone set out to create Words Play we wanted to create a word game with a better user experience than what was out there on iOS already. We wanted it to be faster, more responsive and tailored to iOS as well. Then we added unique features to set us apart like word lookup, turn history, pass and play, achievements and AI play. We felt we could make what we felt was a great well rounded turn by turn word game, and I think we got pretty close to that goal with our latest update that came out this past week where we added a multiplayer chat feature as well as cleaning up the application UX a bit.

Another advantage of being on iOS was Words Play could take advantage of iOS 5’s newest Game Center Turn by Turn APIs. Using these APIs it affords us a game that could be run without needing to run a costly server infrastructure to handle the matchmaking and turn by turn handling. The turn by turn API and its backing server architecture is a nice benefit Apple provides developers of their platform that most other platforms do not even begin to offer. Running a server can be difficult and very costly, and we were happy to see Apple attempt to fill this need with a popular genre of games that run on their platform.

While we continued building the app and getting more intimate with the new Turn Based APIs we found it all very lacking. We feel now that it needs some work to really become a full on replacement for running your own services. From strange usability issues, lack of server data analysis tools, or just plain odd architecture decisions. Below you will find a list of our top issues (with linked bug reports) that we discovered over the past six months as well as a brief description on how that impacted our design. If these issues were to be solved it would dramatically improve Game Center for the better.

The purpose of me bringing up these issues is not to bitch and complain, but to inform other developers and hopefully get some attention to these issues. I actually see the value and potential in Game Center and I want to see Apple improve it. I’d love to see it become a killer-feature for the platform instead of what it is today. So we’re hoping that Apple will make strides to improve these issues in both iOS 6 and the upcoming Mac OS Mountain Lion which brings the Mac Game Center support.


Bug: Game Center turn based games can’t programmatically invite
rdar://11144951 - OpenRadar Link

This is a big one, we find it amazing that inviting or rematching players is not supported still. The API to do it is all there, just doesn’t work at all. There are numerous complaints about this on the Apple Developer Forums and my radar is far from the first, yet the problem still exists and that’s really disappointing. So instead of a simple one button press for a rematch the user is forced to perform just shy of 10 taps to setup a rematch. See the image flow below, this could be much better as the bottom half of the image shows.


Enhancement Request: Fix the Game Center Turn Based menu flow
rdar://11144972 - OpenRadar Link

This is a bit related to the previous bug, but still feel both points are important. The overall flow and design of the Game Center screens is hard to use for users. It’s so hard that we’re currently exploring having adding a first timer tutorial on how to use the menus, and that’s not right. Apple can do better.


Enhancement Request: Allow Filter/Sort for Game Center Turn Based Friend Invite List
rdar://11144995 - OpenRadar Link

Once you get to the list of Game Center friends to invite to a game you are presented with a list of all your friends with no clear indication if they have the game you are also playing. The list should be sorted or allow straight filtered out if they don’t have the game you want to play them in.


Enhancement Request: Game Center Turn Based Notifications should show as game in use
rdar://11145004 - OpenRadar Link

This is almost a bug and an enhancement request, it’s a fine line really. When you get turn based notifications they come across as from Game Center, not the game you are playing, but if you have Game Center turned off in Notification Center then you wont get these notifications at all. We see this a lot with players not sure why they aren’t being told it’s their turn if Words Play is enabled in Notification Center.


Bug: Game Center reporting incorrect dates in lastTurnDate
rdar://10660917 - OpenRadar Link

This one is really unfortunate. We found this bug a while ago, and it still isn’t fixed. Basically in the turn data that Game Center sends back and forth between users there is a lastTurnDate. This date is being set by the DEVICE not the server. So because we can’t trust this date to be accurate, because users can change their devices dates, it’s pretty much useless when comparing if a turn is new or not.


Enhancement Request: Game Center Turn Based Analysis Tool
rdar://11145026 - OpenRadar Link

When debugging game issues with customers it’d be super handy to check the server to see what data a user’s game is passing back and forth. There is no way to do this since Apple owns the servers, but they could provide us an interface to that turn data. We’d love them if they created that tool for us!


Enhancement Request: Game Center should be able to Find Social Network Friends
rdar://11145019 - OpenRadar Link

Let people who have linked Twitter find their Twitter friends on Game Center. And if Apple ever adds Facebook support to the OS, allow Facebook as well. Customers don’t understand why our game doesn’t do this because we can’t do this with Game Center as it stands today.


Enhancement Request: Game Center Message/Chat Functionality
rdar://11145031 - OpenRadar Link

Communicating between Game Center users doesn’t exist, but on most game platforms (Xbox Live, PlayStation Network, Steam, etc) there is a way to send your friends messages. This would be great feature to be built into Game Center as well and I’m sure almost all games would rather run this off of Apple’s infrastructure instead of rolling their own, and this would help spread Game Center adoption across games even more so than Turn by Turn.

October 7
2011
My App On Stage with Steve Jobs

While I’ve never gotten to meet Steve Jobs I am proud to have had my app Shanghai Mahjong icon on screen during Apple’s September of 2008 Special Event. Soon after it began to also appear on many Apple Store fronts world wide. To think Steve Jobs approved of it’s look to be used in these ways always made me proud of my work.

My App On Stage with Steve Jobs

While I’ve never gotten to meet Steve Jobs I am proud to have had my app Shanghai Mahjong icon on screen during Apple’s September of 2008 Special Event. Soon after it began to also appear on many Apple Store fronts world wide. To think Steve Jobs approved of it’s look to be used in these ways always made me proud of my work.

October 5
2011
RIP Steve, Thanks For Everything.



RIP Steve, Thanks For Everything.

July 12
2011

Why Netflix Just Made Me A Redbox Customer

Earlier this morning Engadget posted a story about a possible price increase coming to Netflix this week that started a bit of a stir online. Hours later Netflix broke the news on their blog and soon after updated pricing on their website too. The prices are effective immediately for new customers, and starting after September 1st for existing customers. You can see the new pricing below:


Click To Enlarge

What Netflix is doing is basically making their DVD and Streaming business into two different services with an equal cost. For users who are on their newer DVD or steaming only plans, there is no change. But for those customers, like me, who are on the legacy DVD plans that had included free streaming, there is a significant price increase. My plan which includes Blu-rays is changing from $12/mo to $18/mo, that’s a 50% price increase for nothing new!

I’ve been using Netflix on and off since their launch. Over the past few years I’ve started to use the streaming service the most and considered the discs as an extra perk. I knew about Redbox and never found a use for the service since Netflix was more valuable in my eyes. That is no longer the case.

My big problem with this is not the money, but rather the value of the service. Netflix knows how often I do NOT rent discs anymore. I have rented 17 discs in the last 7 months, that’s less than 3 discs a month. Twice this year I let a disc sit around for two weeks as well before I found time to watch it. When I was paying only $4 more for DVDs and Blu-rays over the $8 streaming plan, that made a lot of sense. But now they just increased that extra cost to $10 extra a month. Renting on average 3 Blu-ray discs a month from Netflix isn’t worth it anymore. I’ll be dropping down to Unlimited Streaming Only before the price change takes effect in September. Which means that’s $4 a month Netflix won’t be getting from this customer, and many others as well who will be doing the same from the sounds of it.

By switching to renting discs from Redbox I’ll likely save myself $75 a year. Instead of paying $10/mo extra to rent DVD and Blu-ray discs at my convenience from Netflix, I will instead pay $1.50 a night to rent a Blu-ray whenever I want to from Redbox. If I keep up with my average of 3 a month, I’ll be paying $4.50 a month in rental charges as long as I return them each night. Sure Redbox has less selection and late fees. The selection doesn’t matter to me because I’m usually renting new Blu-ray releases not available to Stream from Netflix. Redbox offers the same discs with the same 30 day delay that Netflix has, so no major loss there. I will likely rent far less than 3 a month now and instead just get a disc the day I want to watch it.

Redbox also became more attractive recently by adding video games to their boxes. I used to rent some games from my local Blockbuster, which is long since closed. Redbox just filled that void with closer locations and better pricing if I just want to try a game out or if I need an extra disc for a multiplayer game when I have friends over.

The other reason the Netflix DVD queue is less attactive to me going forward is also because Netflix is removing the DVD Queue from their public API in October. This means you can’t add movies to your DVD Queue from Netflix enabled apps. This means the app I developed, Leonard Maltin Movie Guide, or BitBQ’s excellent QueueUp Netflix app will have this one feature completely removed. Instead you will have to use their website to manage and update your DVD queue, thusly hobbling the service.

This would be a great time for Redbox to step up and offer a public API for their disc rental service that apps can tie into. Or a even a hook into launching their mobile apps for a specific title. Anyone from Redbox or Coinstar listening out there?

May 31
2011

McCarron’s iOS 5 Feature Wishlist

With today’s official announcement of iOS 5 being unveiled next week at WWDC I figured it was time to write up my wishlist for iOS 5 features that I had been noting for the last few months. Due to it’s size I decided to break down the list into two categories: what I want as an iOS user and what I want as an iOS developer. I don’t expect a lot of the ideas to actually make it into iOS 5, but this is more of what I would finally like to see.

iOS Developer In Me Wants:

  • Garbage Collection — With iOS 5 rumored not to be available on the 3GS and WebKit getting heap compaction support I don’t think it’s too far fetched to see iOS 5 finally gaining garage collection with iOS 5. Is it required? No but it’d be a nice thing to have from a developer standpoint.
  • OpenCL — Like Garbage Collection I expect OpenCL to eventually come to iOS. Since the SGX543 in the Apple A5 processor is rumored to support OpenCL, I think to unlock it’s potential with iOS 5 is pretty much a given at this point.
  • Cloud Sync of user data — There is almost nothing known about iCloud at this point, but from a developer standpoint I’d love to see the ability to sync user Application data like saved games, preferences, etc. much like Valve’s Steam Cloud feature. As a user I’d also love this as I frequently switch between multiple devices around my house, and in some cases I’d love data thats on one device to be on all of them.
  • Widgets — I think it’s time we see Apple’s implentation of Widgets on iOS which was rumored to have been even planned as far back as iPhone OS 1.0. Simple HTML only apps running on the latest WebKit enhancements would be very fast and slick on iOS. There have been lots of great examples have been popping up over the past few weeks, and I think this implementation by Color Monkey is one of the best I’ve seen with the ability to mix them in with the App icons and Groups.
  • Easier App Ratings — I think it’s clear that users need an easier way for users to discover how to rate an app. Right now many apps spam the users with requests to review their apps. I think an easy to use and find interface would make this so much easier for users to discover. Either a “Purchased” tab in the AppStore that shows their ratings on the apps or an “Info Button” or “Star” button when you are moving app icons around in addition to the delete button would be helpful for users. I did place this under developer because it’s an issue I see as a developer, not as much as a user. Without positive reviews our apps don’t do as well.
  • iTunes Apps showing as purchased in AppStore — Like the previous one, this is a major annoyance as an app developer we see with users confused about the process of installing an app they already purchased. They think it’s “US” trying to recharge them the price of the app. Apple addressed this on the iPad AppStore so maybe this change will come to the iPhone as well?
  • Dock and Charge “Screensaver” Apps — I would love to be able to select an auto-launching screensaver like app for when I dock or charge my iOS device. Maybe even give the user control to tell to define certain apps per specific docks or locations.
  • Background Downloading — I love how great the iOS multi-tasking works today, but I would love to see support for Apps to be able to do a bit more in the background than they do today, but still controlled tightly by the OS. Like download my latest podcasts, RSS feeds, sync to iCloud, etc without having to launch the app. So that way when I go to use it I don’t have to wait for data to download or sync up. I hit this annoyance often with my Podcast apps, I launch it before a walk and end up having to wait before the podcast I want to listen to is ready.
  • Write access to the iTunes Library — I think it’s time to allow apps to write as well as read from the iTunes Library. This way you can have access to all your podcasts no matter what application you want to try, you could in theory buy music from Apps like say an Amazon MP3 store app, or even create and save Ringtones directly on the device. Right now to add music you need to actually use a computer with iTunes to manage this, and I don’t see why the device and apps can’t do this.
  • Apple TV AppStore — I think we are getting this, but the question remains in my mind to what the controller would be. I’d love to see a bluetooth NES style joypad/remote for an A5 powered AppleTV. This would be an instant market for many iOS game developers if they could re-write their existing iOS games to play on the AppleTV with ease, and it would also begin to pit Apple against the home console market too with a $99 console.
  • Apple’s own TestFlight — TestFlight is nice, but it’s not as perfect as it could be without access to certain things only Apple has. I would love to see Apple revamp the entire testing system for iOS that basically builds out their own TestFlight system. With that it could also finally remove the 100 device limit and maybe make that a 100 user limit and have it tied to Apple IDs instead of UDIDs. The popularity of TestFlight should be showing to Apple that we want a streamlined testing system.
  • iPad’s 2X Mode use Retina graphics — I personally was surprised this wasn’t turned on for the iPad 2, and I would hope that iOS 5 brings this to the iPad 2. I don’t think the iPad 1 could handle the memory requirements of such a feature, but the iPad 2 could.
  • Improved Game Center sandbox support — This is another developer annoyance. The whole process is annoying right now that once a Sandboxed app starts up it screws up all non-sandboxed Apps causing a mess of steps required to get onto the non-Sandbox Game Center.

iOS User in me Wants:

  • Better Notifications System — This is the big and major annoyance with all users of iOS. There is not a day when I return to my phone where I have to close 4-6 alerts before I can actually use my iPhone. I am interested to see how Apple solves this, as currently the only mobile OS with decent notifications is HP’s WebOS. With a radical rethinking I think Apple could really make this perfectly usable again.
  • Notification silent periods — With a revamp of the Notifications systems I’d love a silent period to set so that I wont get Words with Friends or Carcassone sounds after midnight. Twitter has this feature and I use it to make sure DMs don’t text me at late hours.
  • Useful Lockscreen — Right now the Lockscreen is pretty bare, I think along with a revamp of the Notifications system I would love to see the ability to see stuff like my Mail, Calendar, Notifications, etc on my Lockscreen. Even if it’s just a counter or as complex as widget support I think this screen could use some new life. With Apple’s continued improvement of cameras in the iPhone it’s become clear that many users want a quick way to launch and use the Camera app. They could create a Lockscreen button if desired, it would make the camera infinitely more usable with this support.
  • Safari Upload Images/Data — One major cripple iOS has is no way to upload files to web services. Say I wanted to upload a new avatar on Facebook or upload a Word Doc to my employers webservice, you can’t do this at all on iOS. I would love to see Safari have access to the Photo Library and Documents Library when a file uploading form is hit.
  • Custom SMS Tones — In a later iOS 4 release Apple finally added more preset SMS tones for users, but I think it’s time to allow Ringtones for SMS tones as well. If you have ever been around a group of people with iPhones when someone gets an SMS you’ll see why this is needed when everyone reaches for their iPhone to check if it was them who got the text message.
  • Device updates without iTunes — Need I say more? Well maybe I should spell it out, with this feature users would be more likely to upgrade to the latest OS. I know many users who don’t even know an update is out because they rarely sync their devices to iTunes on their computer anymore.
  • Quick Search AppStore — One thing that always surprised me, is there is no link to quickly Search for an App in the AppStore via the Springboard search feature. This just makes sense for Apple to implement and may drive app purchases more often.
  • Facetime over 3G — FaceTime over WiFi only seemed more like an AT&T restriction, but I have a feeling we’ll see it open to carriers who want to allow it over 3G by sending down an updated Carrier File much like Tethering support. By allowing carriers to selectively support it may actually force AT&T’s hand in allowing it.
  • Multiple User Accounts for iPad — I don’t see this needed on the iPhone, but as many iPad users can agree that having multiple user accounts on the iPad would be awesome as the devices are often shared between many users in one household. It shouldn’t be too hard for Apple to do this, maybe it’ll be worked into a newer Lockscreen?
I don’t assume we’ll get even half of these, but I’d really like to see a few of them. I also know Apple has much better ideas than the developer community does, so I expect quite a few surprises next week at WWDC. As far as the upcoming iCloud service from Apple that was also confirmed today. I’m thinking this will be a re-named and re-worked MobileMe system. It would be ideal for Apple to also offer this for free as well, at least for basic functionality. iCloud can really add value to the iOS and Mac platforms that doesn’t exist today. Especially if it’s as slick as many are expecting it to be it may be a huge feature win for the platforms.