A Developer’s Wishlist for WWDC 2013

Here’s a quick list of top level iOS features/improvements that I would like to see as a developer this June:
(in no way a comprehensive list and your mileage may vary)

  • WiFi tethering from Xcode to run code on (dev) iOS devices on the network. This showed up briefly in the early days of Xcode 4, but was buggy and hence removed
  • When I am installing dev builds to an iOS device from Xcode, let Xcode unlock the device without a passcode.
  • Be able to add testers to an app in the App Store rdar://13275881
  • Some sort of Alarm API. We all need our apps to wake up and do something from time to time and then go back to sleep. Push notifications work, but they still need users to react for the app to be foregrounded. I understand why an alarm API might be a bad thing due to possible exploit/abuse, but wonder if a server based alarm API, sort of an extension to the Push notifications protocol will prevent some, if not all, abuse.
  • Minor, but please have a preference to disable auto layout in Interface Builder. Apparently there is a way to do this in Xcode’s file templates, but it gets overridden with updates.
  • This might be a stretch, but it would be nice to see what’s my current spot in the app review queue. I don’t have to see who else is in the queue, but something like – X apps ahead of me, Y apps behind me. I know this could be a bit of TMI for Apple to share on what’s going on behind the scenes; may be there is a middle ground as in just show me some kind of projected number of days for my app to be reviewed in. I currently use app review times setup by the nice folks at Shiny Development.

Minus the alarm API; the above is what comes to mind in terms of making my daily app development life easier…  As far as alarm API goes, I’ve had enough scenarios in my apps that could benefit from it and I hear other developers mention it from time to time. 

Rdar is full of bugs and feature list and I am sure I am missing many. Also, this is not a coverage for next generation end-user features or for that matter even new development SDKs (e.g.: AppleTV).

Would love to know what you would like to see?

WWDC Alert App

I have been anxiously monitoring the WWDC page to go live for this year. Many folks are doing the same and using various options like,

  • going crazy by repeatedly refreshing the browser window with WWDC page open
  • setting up their own scripts
  • using pingdom
  • paying to a premium service like WWDC 2013 Notification by Oisin Prendiville. It in turn runs scripts to monitor the WWDC page and uses Twilio to send an SMS and can also call you

It occurred to me that I frequently refresh the WWDC page on my iPhone and it might be useful to write a small app that will do it for me and notify when the page updates. So I ended up putting together WWDC Alert App and have pushed it on github – https://github.com/rmatta/WWDCAlertApp for anybody to download and install.

Here’s a quick list of its features,

  • Manually refresh WWDC page
  • Display a timestamp of the last time it refreshed
  • Check for updates on WWDC page every 2 mins in the background
  • If the page changes, locally notify on the device
  • If there was an error loading the page, notify as well
  • If for whatever reason app is terminated by iOS or killed by the user, notify
  • Every notification also puts a badge on the app icon, which is cleared the next time app is opened

Quick Note on Battery and Location Services Usage:

The app runs in background by using location services so be aware of two things,

  • On startup it will ask to use location service. Make sure you permit it, otherwise it won’t work when backgrounded
  • Due to the use of location services and constant network to refresh, it uses higher than average battery power. On my iPhone 5, it used about 15% of battery over 6 hours.

Please be aware that this app was put together in an evening and is not well-tested. I have been using it for past 12 hours and it seems to be running fine. But if you find any issues with it please do let me know and I will try to fix it. Also feel free to update, refine, improve and send git pull requests 😉


Wishlist for next Pebble

About 2 weeks ago I finally got my Pebble watch. I was very eager to get it; however, as I started setting it up, I noticed there was something lacking in the overall experience that made it feel antiquated. It reminded me of the calculator watches from the late 70s. Don’t get me wrong, Pebble is a great first version of a vision, but its kickstarter budget and lack of integration leverage (with iOS) is obvious.

In an ideal world, a Pebble with following features would be really awesome,

  • Retina + Touch screen
  • Better UI – Navigating through various menu screens was difficult and took a bit to get used to with so many buttons on the watch. This is probably one of the reasons where 4 buttons with a small display gave it a feel of calculator watch
  • GPS
  • WiFi, LTE and possibly carrier integration. This would be a killer feature. As much as we love our smartphones, I feel they are too clunky to carry during a run/workout. Imagine going for a run without having to carry your phone and still seeing an important notification/text buzz on your wrist

I understand that the above list is not easy and would require a lot more effort and resources (funding and partnerships), but I hope Pebble is iterating and will continue to innovate or for that matter even get acquired by someone that can empower it to possibly do the above faster. I have no clue what and if Apple is cooking up for an iWatch – but I wouldn’t be surprised if it has some flavor of the above. But I digress, iWatch is just a figment of imagination for now..

I tweeted that may be I should sell my pebble watch, but I still have it and will probably keep it, because I admire the effort and realize that innovation can’t happen overnight.

Update: It occurred to me this morning that my wish list is for the scenario when I go for a run and would mostly use such a watch. Hence I felt the lack of GPS. It also is probably a totally different context (device) where the watch could takeover the function of a primary device i.e. receive messages that are usually received on a phone.

Running goals for 2013

Primary goal: get back to running consistently again and build back weekly mileage.

Race goals: I am registered for 2 races and plan to register for at least 1 more,

  1. BAA 5K in April
  2. Newton 10K in June
  3. Will register for BAA Half marathon in October. This one sells out fast, so hopefully I can register before it fills up
  4. (Stretch goal) KC Marathon; that happens to be a week after the BAA Half

Race time goals: Ideally, time and other life commitments permitting, I can train well enough to run around 7:15 min/mile pace for the 5K and 10K. For the half, I would like to fall somewhere close to 1hr 40min total time, but we shall see. Based on lack of training, I am not sure where I will end up with these goals. But I am hoping to be somewhere in the range because this is first year when I am primarily focussed on speed work over endurance.

KC marathon goal is really for me to be able to get back to running marathons again.  If I can maintain decent training through Summer, I will run the KC marathon as a fun race and still do the BAA half marathon as the primary race for Fall.