iPhone_AppStore_Logo_2-1

Reply to your overlords when your application is rejected.

I recently submitted an application called Nudge! to the App Store. Like most of you, I get a little antsy too waiting for the emails to come in with status updates, hoping to see it ultimately get approved and appear on the store hours later. It’s exciting!

Nudge! support site link.
Nudge! link to the App Store.

After a bit, I received an email stating that my application was rejected because it did not first obtain user permission for Push Notifications. Interesting. I was using UILocalNotifications, but not remote ones. I quickly scanned my code looking for mention anywhere that it had code support remote in the project. Nope. Perhaps a new evaluator saw the notifications without an alert asking if it was okay to display them, and flagged me.

I followed a link in the email to the Resolution Center, where I could reply to the rejection reason right there, and I mentioned that I was using local notifications and not remote ones.

An hour later the app went back into review, and then about 15 minutes later I saw “Preparing for App Store” – and got excited. Sure enough it was quickly approved, merely by pointing out the problem to Apple.

Moral of the story – don’t be afraid to politely push back when you’re unsure of an app rejection. Or you think the rejection doesn’t have true merit. I was happily surprised that they quickly escalated the situation and saw the rejection was faulty and then quickly took care of it.

Happy 30th Anniversary Macintosh!

O Captain My Captain

I’ve owned an Apple computer for every day of my life since the release of the Apple ][+. I could spend an hour waxing poetic about how amazing the hardware and the software have been in my opinion. How I’ve felt the technology, not just used it.

Today I merely want to congratulate Apple Inc. on this great milestone. And to say thank you for all of the great work I’ve been able to do using your tools. I’d like to thank you for the inspiration that you’ve provided. You’ve made countless people happy, and none more than I. Happy 30th Anniversary to the Macintosh. A fluttering jolly roger, raise a grog to Steve.

Here’s To The Crazy Ones. The misfits. The rebels. The trouble-makers. The round pegs in the square holes. The ones who see things differently. They’re not fond of rules, and they have no respect for the status-quo. You can quote them, disagree with them, glorify, or vilify them. About the only thing you can’t do is ignore them. Because they change things. They push the human race forward. And while some may see them as the crazy ones, we see genius. Because the people who are crazy enough to think they can change the world - are the ones who do!

I have one of these

What to do about Arduino city?

My desk is an absolute mess. Arduinos. Components. Little bits of stripped wire insulation. Capacitors. Diodes. Wires. Solder. USB cabling. You get the picture. I don’t have a workbench but a repurposed computer desk.

What do Arduino aficionados do with all their gear to keep things neat? I just ordered a 24 drawer storage desktop cabinet (should fit Arduino boards and everything else), but that’s only a small part.

Relocating and looking for school information?

One of the things a family needs to consider when relocating (even within the same town) is getting a sense of the quality of the local school systems. This includes private versus public. Which areas are great? You can base your decisions on local gossip or you can base your decisions based on real-world reviews.

There is already a website that one can use as a tool – greatschools.org. It does allow for reviews and for the reading of reviews, as well as searching based on a search field. The data is pretty good as far as I can tell – but I’m not sure the UX is as good as it could be. It’s not optimized for mobile rendering as far as I can tell either.

It has a lot going for it – it would be nice if there was a mobile application for it. One of it’s nicer features is the ability to look at school and district boundaries with schools displayed with their rating icon. I don’t know how fresh the icons are, but it’s definitely a good start.

Apple’s Automatic Station Tuning Patent

It’s not here, but Apple was awarded a patent for it.

I’ve been personally waiting for something like this for a while. Apple knows enough about our behaviors at this point to be able to pull together some content it predicts we’d like. But this is the kicker… it will pull radio, music, television, movies, onboard media, etc. For a media player or mobile device… so iPhones to iPod Touches to Apple TVs to … ?

Continue reading

A new theme

While I loved the previous theme, the flat design aesthetic seems to have taken and even stronger hold in the universe, and thus I’ve gone… flatter. This theme is also more responsive and is a little more mobile-friendly than the last.

It doesn’t like cover images for posts as well as the previous – so I have some post cleanup to do there. Perhaps go without them altogether since more and more data consumption is being done on mobile devices where it’s not as important to include honking big images to stun and dazzle.

I am still in the process of cleaning things up around here too. The blog(s) haven’t been high on my radar as I am involved in several projects that don’t allow for a lot of extra time. Anyway, I’ll kick these tires myself and see how things hold up. And then get back to some spring cleaning – most likely in the spring.

A Flash-based scrum tool

Open Source AS3 Scrum Tool?

I am not sure how active the non-gaming Flash development community is. I am not sure if anyone will see this blog post as I’ve become a whimper on the thorax of an ant in terms of blogging activity. So… I am thinking of starting up work on an open source scrum tool. Why?

I’ve seen plenty of web-based and other scrum tools that require a monthly fee, free couple team member one project deals, etc. While they might be pretty good, they aren’t free and also powerful. I am looking to bridge that gap with something powerful, free, and open source so if there is something you’d like to add or modify, you can. Make it your own tool – check in a branch.

Is there any appetite for such a thing? I’ve already started coding up the UI and have about half of the Backlog coded. It’s not a small project… and realizing this I wondered about the open source angle. Get a bunch of talented people chewing on this thing and create something powerful, beautiful and available to any and all who would like to use it.

My personal cadence outside of work hours is slow… so in my own interests and those who’d like to download and use something for their own development – this makes sense to me.

Let me know and I can post up to github.

My second dance with Nike Support

Background

I previously owned the first generation of the Nike+ Fuelband. I previously had the Jawbone Up, and while I liked it, the cap started to become loose and it hurt my wrist throughout the day. Anyway, the pawl on my Fuelband spit out it’s internal spring somehow and I needed a replacement spacer – which Nike was quick to get to me.

So when the Nike+ Fuelband SE was announced, I was intrigued. I pre-ordered one with the orange accents. It looked good, was announced as having better water resistance, BTLE syncing, and came with the ability to track sleep (something I liked in the Jawbone Up).

I’ve been generally quite pleased with the Fuelband SE. I originally had some problems getting the band to sync to the iOS application, but after Nike sorted out the bug, things improved and worked.

What just happened?

At work one day the band suddenly felt loose. I looked down, it had become un-clasped. I reached down to clasp it back together and something shot out of the rotary pawl on the band itself… meaning now that spacer cannot be attached back to the band. Unwearable.

Room for design improvement

Let me say that there is something Nike can do to improve their Fuelband SE design. If they made a rotary pawl that was thin and actually screwed INTO the band instead of being integrated, they could ship out little rotary pawl segments instead of doing what needs to be done right now…

Nike is sending me a replacement band, after I supplied them with my credit card number, and when I get the new one, I return the old one. Pretty easy and it will only take a few days. If there was an operational Nike store near me, I’d just go there and swap it out. Alas.

This is going to cost Nike a whole new band — all because a little spring or something shot out of the rotary pawl… a 0.5¢ part? Since this is the second one I’ve needed repaired/replaced and there seems to be a robust support need for this on their own website, Nike should get on this and make it

  1. Easier to send replacement parts for connection to the band itself
  2. Cheaper to supply replacement parts
  3. Offer one to actually purchase replacement parts (such as the rotary pawl) ahead of time in anticipation of hardware failure

Anyway, thanks to Nike Support’s Twitter account, I was able to initiate things, then it went to emails, I supplied a photo, and then needed to make a 30-minute phone call with a friendly gentleman named David in order for him to issue a new Fuelband knowing what my credit card information was in case I didn’t return the old band.

iBeacons development… speed

So now that iOS 7 is finally out – it took me a little while to get used to the aesthetics and I only have nits with default button hit-area designation (there is none) & the appearance of UIPickers (really?!) – I’ve been playing with CoreLocation / CoreBluetooth and the beacon functionality. It works pretty well 99% of the time.

However I find that the averaging of the beacon accuracy doesn’t match with the typical speed of someone walking with an iOS 7 device in their hand/pocket. The ranging trip events (immediate, near, far) or straight accuracy numbers have a lot of averaging built into them. The polling of signal(s) is easily quick enough, but walking up to my iPhone 5 takes a few seconds before correctly reporting the accuracy… accurately. Sometimes it can take a little longer than a few seconds.

This translates into a feeling of lag. The technology isn’t laggy… the averaging (however it’s accomplished) seems to be the bottleneck. No one wants flaky or intermittent reporting. But there is a fine balance here. You want UIs to be snappy and responsive.

If a user walks close to a beacon, you want that UI to fire right away. Otherwise you’re standing in front of one for a while before the UI can trigger. You may lose that user for that item as they have moved on – or you might pop a UI for something they are no longer standing in front of. A case of musical UIs gone astray.

Perhaps it’s a lot snappier on a 5S or even 5C (doubt it), but as it stands now it’s borderline production ready unless I am doing something wrong in my code.