Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-settings.php on line 512

Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-settings.php on line 527

Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-settings.php on line 534

Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-settings.php on line 570

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1244

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1442

Strict Standards: Redefining already defined constructor for class wpdb in /home/martingo/martingordon.org/blog/wp-includes/wp-db.php on line 306

Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-includes/cache.php on line 103

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /home/martingo/martingordon.org/blog/wp-includes/cache.php on line 431

Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-includes/query.php on line 61

Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-includes/theme.php on line 1109

Strict Standards: Declaration of Walker_Comment::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/martingo/martingordon.org/blog/wp-includes/comment-template.php on line 1266

Strict Standards: Declaration of Walker_Comment::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/martingo/martingordon.org/blog/wp-includes/comment-template.php on line 1266

Strict Standards: Declaration of Walker_Comment::start_el() should be compatible with Walker::start_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/comment-template.php on line 1266

Strict Standards: Declaration of Walker_Comment::end_el() should be compatible with Walker::end_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/comment-template.php on line 1266

Strict Standards: Redefining already defined constructor for class WP_Dependencies in /home/martingo/martingordon.org/blog/wp-includes/class.wp-dependencies.php on line 31

Strict Standards: Redefining already defined constructor for class WP_Http in /home/martingo/martingordon.org/blog/wp-includes/http.php on line 61

Strict Standards: Non-static method unfancy_quote::init() should not be called statically in /home/martingo/martingordon.org/blog/wp-content/plugins/sem-unfancy-quote/sem-unfancy-quote.php on line 55
<br /> <b>Strict Standards</b>: call_user_func_array() expects parameter 1 to be a valid callback, non-static method unfancy_quote::strip_quotes() should not be called statically in <b>/home/martingo/martingordon.org/blog/wp-includes/plugin.php</b> on line <b>166</b><br /> Martin Gordon's Blog / 2008 / July

Rejected (Twice!) From the App Store

I am now a proud member of the elite group of developers who have had applications rejected from the iPhone App Store.

The application I have been working on since a few weeks after the SDK came out is Flickup, a simple Flickr uploader. When Apple announced the July 7th deadline, I pulled an all-nighter that day to finish it up and submitted the app to Apple around 6am in order to meet the 3pm deadline for inclusion in the App Store at launch. When the App Store is launched on Thursday/Friday, my app is nowhere to be found and the status remains "In Review". I sent an email on Saturday to Apple asking why Flickup was still in review and I received a non-response three days later telling me that "In Review" means my application is being reviewed by Apple. I responded immediately clarifying my inquiry and I finally received this response yesterday:

At this time, Flickup cannot be posted to the App Store because it does not allow the user to logout or change the Flickr account that they are using.

In order for your application to be reconsidered for the App Store, please resolve this issue and upload your new binary to iTunes Connect.

This is a perfectly valid critique, and an oversight on my part, but did it really take them two weeks to tell me about it? Would they have even told me had I not emailed them about my app's status? In any case, the time it took to get a decision on Flickup gave me time to fix some bugs, and of course add the required logout functionality.

As an aside, the Flickr Authentication API's Implementation Guidelines merely states, "Users must be provided with 'logout' functionality." The API documentation does not provide any way to revoke tokens and log users out. I had to resort to directing users to their revoke permissions page instead.

In the mean time, the App Store turned one week old and gripes about the review functionality sprouted everywhere, particularly with regard to the ability for people to review an app without actually having used it. This "feature" of the App Store prompted the cheapskates out there to use reviews as a medium to complain about price. Taking this to heart, I spent some time last week preparing a demo version of Flickup that would allow people to sample the app before dropping two Washingtons on the full version. I submitted the demo version on Friday and received a decision today:

Flickup Demo cannot be posted to the App Store because it is a beta or feature-limited version. Any reference to demo or beta needs to be removed from the binary and metadata. Free or "Lite" versions are acceptable, however the application must be a fully functional app and cannot reference features that are not implemented or up-sell to the full version.

In spite of the lightning fast turnaround time, I am still just as angry about this rejection than the last one since there was no prior warning (in program agreements or otherwise) that demo versions would not be allowed. It's hard to believe that Apple isn't aware that people are crying out for demos and trials; going as far as explicitly prohibiting them (while letting all other sorts of crap through) is nothing short of infuriating.

Technorati Tags: , , , ,

iPhone App Store Thoughts

Twitter is great for those fleeting thoughts one has that maybe aren't work blogging about, but are worth saving all the same. I had a bunch of these thoughts last Thursday when the iPhone App Store went live and I was testing out all sorts of applications. Here are the relevant ones:

07:24 App Store is live on my phone!
07:36 First tweet from Mobile Twitteriffic.
07:47 Replacing all my webclips with proper iPhone apps.
10:19 Exposure's "Near Me" feature is broken. What are "metres"? :-p
10:23 Is anyone else able to use the Facebook app? I'm getting a "Cannot connect at this time." error.
10:39 Protip: Do not enter your News Gator credential into NNW Touch if you haven't logged into the account in a year or so.
10:47 Now we know why Apple stopped including remotes with Macs: They'd rather you buy an iPhone and use Remote.app instead. Talk about upselling.
13:58 Shazam accurately found two songs playing at the restaurant during lunch today. Midomi did not.
14:18 It's annoying that I have to keep retyping my iTunes password almost every time I want to download something from the App Store.
18:35 Facebook app gets a big "meh" from me. Much less functionality than the webapp.
18:42 Putting on an extra polo shirt while Loopt installs.
19:22 It appears I haven't opened NNW since Feb 07. I can't give up GReader, so it looks like I'll need to come up with an On The Go feed list.

And here are some quick reviews that I posted on Ars:

AIM - This is slightly less useful until push functionality is available.

Facebook - Looks promising (at least better than using the web interface), but I can't get past the login screen ("Unable to connect at this time.") NOTE: I have been able to login and the app has less features than the mobile site. So far this is the only app I'm considering going back to the webclip.

Twitterrific - Pretty nice. Definitely beats the Twitter's mobile site. Photo integration and location updating are cool too.

Exposure - Nice, but limited on 2G. Not sure how often I'll look at Flickr on the go, but photos near me might be cool if I'm traveling.

CheckPlease - Works fine for me, but the icon is a bit dark for some reason.

NetNewsWire - I made the mistake of adding my NewsGator account after not visiting it for over a year. I'm a Google Reader guy so I'm curious to see how I'll put NNW to use.

NYTimes - Beats hitting up any mobile site, although the ads make the reading area a bit too small.

Bloomberg - Another NYT-style app. Being able track my stocks in nice, but I don't think it would replace the Stocks.app until they added a graph to it. Also, entering the number of shares using scrollers is pretty dumb.

Box Office - Looks good and the near me functionality works great.

Urban Spoon - Shaking for a random restaurant is cool, except that the first time I shook it came up with a restaurant that I hate.

Currency - Simple widget-like app. Nothing too fancy, but it's useful at time when I want to depress myself about how poorly the US Dollar is doing.

Dial Zero - This uses gethuman.com to show you how to get a human on the phone instead of dealing with automated systems. I rarely need to call tech support lines, but when I do, I'll hit up Dial Zero instead of the company's web site.

Cube Runner - One of the few free games out there. Very well tuned accelerometer handling, but not very fun. A nice tech demo, if anything.

midomi/Shazam - Both are "ID this song" apps that I haven't tried out yet. Cool and useful if it works well. NOTE: Since posting this, I've found that Shazam works infinitely better than midori, even though midori looks to have a few more features.

Remote.app - Looks just like iTunes on the iPhone except your music plays on the computer/Apple TV instead of the phone. This is really killer for Apple TV as it obviates the need to use the pretty-terrible Apple Remote. I'm hoping it lets me type into Apple TV searches as well, but even just scrolling through media will be much better on the phone than with the remote.

Fun Fact: To say that Thursday was just a tweetful day would be an understatement: I made 17 posts to Twitter out of 740 total. To put that in perspective: I've been on Twitter since early Feb 2007. That means 2.29% of my tweets came in just .2% of the time I've been on Twitter. Yowza.

Technorati Tags: , , , ,

Back

So it's about time I get back to posting here. I've been away from here for far too long, just shy of three months, longer than any other break I've taken.

My case of "noblog" wasn't isolated, however. Prolific blogger and VC Fred Wilson, had nothing blog worthy to say one day in mid-June, after finding something to write about every day for the past five years. Instead, he made a handful of posts on Twitter and Tumblr that day. As he put so bluntly, "I think its time to acknowledge that long form blogging every day may be coming to an end."

Other bloggers were also not putting as much down as they'd like. Russell Beattie, who took a year off from blogging before returning in April 2007, also found it difficult to keep up with a rigorous blogging regimen: "So I'm going to start blogging regularly again… A couple months ago, I was getting sick of blogging and decided to ratchet down the number of posts I wrote in some sort of attempt to change things up and maybe improve the quality of the blog. It didn't work."

So after an 8-post April and a 2-post May, Russell was back up to around 20 posts in June, about what he was doing prior to the two "slow" months.

Fellow Arsian Josh Bancroft not-so-recently wrote about how he wants "write more. Do more. Hack more. Learn more." In that post he writes on a topic that I've touched on a bunch of times over the years - making the transition from consumer to producer. I think Josh is way more on the producer side than I am, and his desire to move even further in that direction makes me think I could push myself a bit more in that direction as well.

That is not to say that I haven't been producing content just because I haven't been blogging. I've been twittering a whole lot more (although the number of tweets I put out fluctuates tremendously from day to day), and perhaps the number one enemy to my desire to blog is Google's "share with note" feature that they introduced in early June. Instead of linking to an interesting item here, I can just share the item and a few words to my Google Reader friends. It is much easier than preparing a post on a blog, for better or worse.

And of course there's the iPhone SDK. I've been working on a few ideas (for myself and others), one of which was finished just this morning and submitted to the App Store (more to come on that once the NDA expires).

Perhaps my hiatus was part of a more general trend towards something else (Twitter, FriendFeed, Google Reader Shared Items, etc). Even if that is the case, a personal blog feels, well, personal, and even if it doesn't provide value (or as much value as the aforementioned services) to the reader, it does provide quite a bit of value for the author, and I'll keep doing this until it ceases to do so (with month-long gaps at times, naturally).