Tag Archives: iPhone

Photo Hack Day NYC 2011 And My Hack: AllPaper

This past weekend I participated in my first NYC hackathon. The New York Hackathon is a mythical beast. They’ve been written about quite extensively, but you really need to just show up to one to know what it’s all about.

This particular hackathon (Photo Hack Day) was organized by Aviary, with sponsorships by Bing, Pepsi, PBR and others. There was plenty of food so that hackers didn’t have an excuse to leave, ever. I still ended up going home to get some sleep on Saturday night before the demo on Sunday.

I really think I picked a good first hackathon to attend, as the prizes were pretty insane. First place got $5000 and the cash prizes for second and third place were quite good as well. On top of those, there were prizes for best use of certain APIs. Face.com’s API stood out as a popular one; 500px had quite a few users as well.

I ended up working on a project I had wanted to build for a while: a custom collage creator for your iPhone wallpaper. I called it “AllPaper.” It seemed pretty catchy and I don’t think there’s a product with that name yet. I integrated Instagram into it first, then threw support for 500px, PicPlz and Facebook before calling it a hack. I also integrated the Sincerely Ship Library which lets you turn your collage into a real postcard. I’m really looking forward to trying that out!

Overall I’m pretty happy with how the hack turned out. I can probably turn it into a real app fairly easily with some tweaking here and there. As this was my first hackathon, I noticed a few interesting things about the top hacks. There was some grumbling about how many of them seemed “hardcoded.” I wonder if presentation really counts more than actual hack-worthiness these days. You could spend your time actually coding something, or you could create the facade of something that looks even better, but is not really that worthy of being called a “hack.” It seems that the presentation wins over the true hack-worthiness, as one of the cooler ones, a jailbroken iPhone that took MMS messages and uploaded them to a web service, won nothing.

Coming away empty-handed was a little damaging to the ego, especially after winning something in my last hackathon, but my ego’s not too bruised. I hate to sound like I’m complaining! Almost all of the presentations were well done, and the winners certainly did deserve to win. I’m hoping to participate in something similar again soon, as the atmosphere was really enjoyable.

Mapskrieg iPhone/iPad App Launch!

It’s been about 4 years since I announced the launch of Mapskrieg, my Google Maps and craigslist mashup web app. Since then, I’ve gone to school (again), worked for Microsoft and quit, and made a few apps. Today, I’m happy to announce the launch of my newest app, Mapskrieg for iOS!

I’ve been working on this app for a few weeks, and I think it’s ready for public consumption. It’s basically Mapskrieg, but developed natively for the iPhone and iPad. In the past, I’ve taken a sort of iterative approach of releasing fairly minimal apps and improving on them. For example, I released Threadless as an iPhone only app and later added the iPad support. I wanted to release Mapskrieg on both platforms so the launch would have a little more bang. Plus I think the iPad app is the better of the two, and I really wanted that one to stand out for the release. I’ve been getting much more comfortable with mobile development, and I’m very happy with the rate at which I was able to conceive and release this app.

That’s not to say I didn’t struggle or learn anything new with it. While a lot of the concepts are borrowed from my Threadless iPad app, I had to do a lot of stuff I hadn’t done before. For example, since Mapskrieg is going to rely on iAds to make money, I decided that both the iPad and iPhone versions would support iAd. Apple, in their infinite wisdom, made the split view controller a very useful and now, standard, design paradigm. Unfortunately, they don’t provide any support for using it with iAd at all. What the fucking fuck, Apple!? So I had to basically recreate the Split View (well, the landscape mode at least) in order to support iAds. It’ll be well worth it if I can rake in some iAd dough, though!

This post also comes almost 1 year after I quit my job at Microsoft. That milestone probably deserves its own post, but I’ll just say that I have not yet regretted my decision in the very least so far. This is as fun as it gets, folks!

Edit: Oh, I forgot to link to a demo video that I recorded for a contest. Check it out in case you don’t have an iOS device:

♥s Threadless for iPad Release!

About a week ago I thought about working some more on ♥s Threadless, my fan made iPhone app. I originally designed it for the small iOS devices like the iPhone and iPod touch, and figured I would do the proper iPad version later. I got the itch, so I got to work figuring out what an app on the bigger screen would look like.

I knew that I wanted a grid-y layout as opposed to the list-y one of the iPhone/iPod, which was partly the reason why I hadn’t done the iPad version yet. Lists on iOS are easy because they’re given to you for free. Grids are a whole other beast. Luckily, I ran into a framework (AQGridView) on GitHub that does grid layouts in a tableview-y sort of paradigm. The framework was still a little beta (or alpha) as I had to go in and change a few things that were crashing, but it did succeed in making my job a lot easier overall. I’d like to try contributing to that code to improve it, but I guess that’s another post altogether.

After getting the grid stuff working, I decided to use a modal pop up view to display the images and sharing options all in one view. Since the iPad has much more screen real estate, it’s easy to design things without running into space issues. You don’t, however, want to just stick a billion buttons in because you can. I think this design does a good job of showing enough stuff to the user, but not too much stuff too soon.

I still have some bugs to fix, mainly with memory management due to the grid view stuff. If you have any suggestions, feel free to comment on this blog!

Hopefully the iPad app continues the mission of the iPhone app, which is to provide a really easy and fun way to browse and share awesome Threadless designs! I may have been an early iPad doubter, but I really believe that it’s a great device for consuming content. Even on my iPad 1, the designs and colors just pop on the app. At least I think so. But you don’t have to take my word for it!

Get the app if you don’t have it already!

U of M 2010 Mobile Apps Competition – FTW!

Continuing in my tradition of winning contests that I entered with very little expectation of actually winning, I got an email a week or two back about the University of Michigan 2010 Mobile Apps Competition that I entered in November. The competition is open to students, faculty and staff at the university. Since I’m working on a part time basis at the university, I figured I would enter a few of my apps. I chose Checkmate and ♥s Threadless, and made some awkward demo videos of each (warning, don’t play these simultaneously or your head might explode from too much Hung voice):

Checkmate ended up winning third place out of many many competitive entries (leaders and the best!), so I’m super happy about that. Here’s a story in the University Record about it. The HiJack project that’s been getting a lot of press was the grand prize winner. Props to those guys!

Winning a prize in this contest was a really nice way to start my year. It’s really encouraging me to continue doing mobile apps and exploring what’s possible.

Impressions of Android From an iPhone User/Developer

I just got an Android phone, the HTC Hero, to play around with and perhaps develop on. It was only $55 on Ebay (including shipping) which seemed like a steal to me. I’m currently using it on WiFi without any phone service (the phone has a bad ESN, so that’s probably why the price was so low).

My first impression as an iPhone user is that the interface is really clunky. There just isn’t as much attention payed to detail. For example, there are often measurable delays between pressing a button and seeing something happen. This happens when I try to add a widget to the home screen or open an app that hasn’t been opened into memory. If I press a button and I don’t see something happen immediately, I will assume I missed the button and press it again. This is extremely frustrating since the iPhone animates immediately upon user interaction. The iPhone may not be any faster than my Android phone, but it at least gives the illusion of it (which is probably just as good in terms of usability).

Another thing I noticed is the lack of “back” buttons in the Android apps. Even Twitter lacks the onscreen back button. I assume this is following some kind of standard Android paradigm of favoring physical buttons over onscreen ones. It took me a while to get used to hitting the physical back button (and home, menu and search for that matter) instead of looking for navigation on the screen. While this is a different paradigm, I’m not sure I’m in a position to say it’s worse, better or on par with the iPhone. My suspicion is that the lack of onscreen navigation requires the user to go through more context switches (screen to physical button back to screen) which is disorienting. This is made worse by the fact that there’s seven fuckin’ buttons on my particular phone! I’m sure people adapt and get used to it, but I’m personally used to having just one button that takes me to the home screen (oh, and the volume and lock buttons, but they don’t serve dynamic functions in applications (unless they want to break the App Store terms)).

About the only positive thing I can say about the Android platform is that Google is integrating the shit out of it with their own services. I only have to sign in once with my Google account and I get Voice, Talk, Maps, Search, Goggles, Places, Latitude, Market, Contacts, Gmail, YouTube and probably some other things I’m forgetting. The voice commands are incredibly cool, though I wonder how many times I’d actually use them instead of doing things the normal way. Oh, another positive is that Angry Birds is free on Android, though my device is way too slow to run it.

I’m currently using a ROM with 2.2 on my HTC Hero, so that might account for some performance issues (though I thought it was supposed to be faster). I’m still kind of unimpressed by Android as a whole though, especially in terms of end to end usability. I originally got this device so I could test code on hardware, but I’m not so sure I even want to develop for Android anymore. I’ll probably end up writing some simple code, at least.

Does anyone with a newer Android phone want to debunk or argue with anything I’ve written?