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 / flickr

Growing Up Star Wars: 1977-1985

Growing Up Star Wars: 1977-1985

A nostalgic look back at the world-wide Star Wars phenomenon through the creativity of the first generation of young people to experience it. Vintage photographs and scans of childhood Star Wars drawings, costumes, toys, homemade crafts, birthday cakes, local showings and events ( and local ads for such ) and more. The focus is on the personal experience and the variation & customization that was common in the early days of Star Wars.

I was clearly born 10-15 years too late.

Crazy Easy

Merlin Mann on iPhone development (from the SF iPhone Dev Camp):

Think about having the courageousness to make an app that is crazy easy. Instead of making a circus that’s really fun to play in, just make something that’s easy to get in and out of quickly without hassle.

Yes! This is exactly what I'm going for with Flickup. I wanted it to be dead simple to post photos to Flickr and I think I've gotten pretty close. While I don't want to add frivolous features, there are some that are reasonable to consider - uploading to a set, security settings, etc. I struggled to fit the metadata view onto one screen and now I'm faced with the challenge of adding these new features without undermining the simplicity that I was going for in 1.0.

Technorati Tags: , , , , , ,

Flickup 1.0 Is Out!

A few hours after my post about being rejected from the App Store, Flickup was approved. If that was all there was to the story then I would have posted about it immediately. Sadly, however, it took nine days from the time Flickup was approved until the time it was actually available for sale on the App Store.

In preparing the now-defunct demo version of Flickup, I stumbled across the contracts page on iTunes Connect and realized that my Paid Applications Contract wasn't complete. I completed it on July 17th and incessantly refreshed the contracts page to see if it had been approved yet. When Flickup was finally approved hours after my last blog post, I was met with the status of "Pending Contract" and frustration returned. I would have thought that three days would have been enough time for someone to review the contract, but apparently that wasn't the case. Having given Apple some breathing room, I finally sent them an email on the 24th asking how long the process would take. Their response? Nothing.

I didn't hear anything from Apple until the contract was approval last Monday, July 28th and the status changed to "Ready For Sale." When I finally got tired of searching the App Store every few minutes to see if Flickup was listed, I sent Apple another email. Again I received no response. It wasn't until I saw a tweet from Jon that I learned that Flickup had finally been posted and that the three week ordeal was finally over.

When I first started working on Flickup I set a lifetime sales goal ("If only X number of people ever buy the app, I would be satisfied"). I'm happy to say that I reached 10% of that target in the first full day alone. Since the app went live, I've been answering support emails (already!), pushed out (well, submitted to Apple anyway) a new version with some bug fixes, and already started working on some new features.

Now go out and buy it!

Technorati Tags: , , , , ,

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: , , , ,

De 7 A 11 Y De 15 A 17 H

De 7 A 11 Y De 15 A 17 H

De 7 A 11 Y De 15 A 17 H

Originally uploaded by Martin Gordon.


1st and 10



1st and 10

Originally uploaded by Martin Gordon.

As part of the Line (for Basketball season tickets), we went to Princeton last Saturday to watch the Quakers suffer their third OT loss in a row.

The rest of the photos from the game are here and some other photos from Friday night at the Line are here.

Technorati Tags: , , , , , , , , , ,

Facebook Does Blogs Notes

Facebook released their notes feature today, which is basically a blogging system inside of the Facebook network. The posting and importing features have already been covered, so I wanted to touch on a few things that I find interesting that may have been skipped over.

First off, the blogging system is very well integrated into the network. Facebook has modified the notion of Trackbacks/Pingbacks by allowing users to reference their friends in posts. Similar to the way pictures can be tagged, posts referencing users can be tagged as well. In the "My Notes" section, you can then view notes others have tagged you in, or view your friends' latest notes. There's also a "Read more notes about …" when you view anyone's profile and they have notes tagged with their name. I really like this feature because it adapts the great features about blogs (quick and easy posting interface, trackbacks, and comments) very well into the network. Compare this to MySpace's blogging functionality which is just bolted on to the network and doesn't provide much integration other than authentication for comments. Sadly, no RSS feeds are available for the notes and the developers' API doesn't have notes hooks built-in yet.

Second is the ability to import blogs. This is also a great way to integrate several (well, just one) other network (such as Flickr or del.icio.us) with an RSS feed. The downside is that you can only follow one RSS feed at a time (though previously imported and unlinked posts will remain). So for someone who has two blogs, a Flickr photostream and del.icio.us bookmarks he might want to potentially share, the only solution is to merge all the feeds into one or pick his favorite.

Picking a favorite RSS feed is like picking your favorite child, so I went with the former option. The first few RSS combiners I tried stripped all the HTML, including line breaks, and only showed partial posts, so they were quickly dismissed. This happened with about 3 or 4 combiners, and then I found this list of RSS re-mixers on RSS Compendium. I haven't had a chance to go through the list yet, but when I find one that works, I'll be sure to report back. If you know of one that works for sure, let me know and I can save myself some time.

Technorati Tags: , , , , , , , ,

First Flickr, Now MySpace

There's been a power outage at the MySpace data center. To keep our minds off of it, they've included a Pacman game for us to play in the meantime.

So who wins? Flickr's coloring contest or MySpace's Pacman?

Technorati Tags: , , , , , , , , ,

The Perils of Life on the Web

Flickr is down. According to FlickrBlog:

We've had a temporary storage failure affecting a sizable chunk of old Flickr photos and are moving about 20 terabytes of photos across a few thousand miles (between two of our data centers) to ensure consistency and smoothness. ALL PHOTOS AND DATA ARE SAFE AND NOTHING HAS BEEN LOST.

Even though nothing was lost, this event does bring up a serious issue now that a lot of people are keeping the bulk of their lives online instead of on their local machines. Giving in to a false sense of security, I'd venture to say that a large majority of people are even more lax about a backup strategy than they were when most of their stuff was kept locally. The ease of starting up a website is a double-edged sword; it's a by-product of the fact that most websites are hosted on commodity hardware – largely the same stuff that sits on your desktop.

The only difference is that you aren't in control of the backup strategy. Flickr may have a great backup strategy or they may have gotten lucky. We don't know and we probably won't. But hopefully this little incident will push people to order DVDs of their Flickr photos or download their GMail to POP or even to create utilities that'll get your data back in your control.

Now that we're practically placing our lives in the hands of others, we just need to decide just how much actually trust that those hands won't drop us.

Technorati Tags: , , , , , ,

Firedancing

Firedancing 12

My friend and housemate, Brian Keller, took up the hobby of firedancing a few weeks ago and he put on his first semi-public performance on for us last night. I was able to get some pretty spectacular long exposure shots of him and they're up on Flickr. The photoset is available here.

Technorati Tags: , , , , , , , , , , ,