Free Code!

For Sunlit 1.1 we decided to expand the import capabilities to include both Flickr and Instagram photos. One of my challenges in developing the interfaces was to simplify down the various functions available from Flickr and Instagram’s APIs and to try and provide a somewhat consistent interface across the two services for the app despite their differences. Writing this code was no mean feat for me as I had to implement OAuth not once, but twice because Flickr and Instagram use slightly different variations so I couldn’t simply reuse the code across the two classes.

By the time I was done, I was relatively happy with the interface I had created, and in the spirit of openness and sharing with the community in which I develop, I have decided publish the source for querying and requesting data from both these services in my open source toolbox code. Affectionately named UUFlickr and UUInstagram, the classes are relatively simple to use, and you should be able to get you up and running quickly. The only moderately tricky part is updating your app to handle the URL callback mechanisms required by the OAuth implementations. I had fun developing this code, and hopefully someone will find this useful. If you’re interested in using it in your project but need a little help, feel free to ping me and I’ll see if we can’t figure it out.


What the Flappy Bird Knows

The strange case of Flappy Bird seems to be all over the Internet right now. If you’re unfamiliar with the app, take a moment to educate yourself. Reading comments from its creator, it’s clear that the developer did nothing to promote his app, and obviously had no idea that the wave of success was coming his way. Anyone with a discerning eye that plays the game will also come away confused because quite bluntly, there’s nothing noteworthy here. Instead, what you see is a bizarre case of mob mentality charging through the App Store, and ultimately, I feel sorry for him. However, what concerns me most about this situation is that it highlights all the things that are wrong with the App Store and the most troubling aspects being that these two things have now become the accepted norm:

  1. The App Store is viewed as developer hostile
  2. Success on the App Store is more or less a lottery ticket.

The App Store is Apple’s ace-in-the-hole advantage in the Smart Phone platform wars and it should do everything it can to protect that advantage. As a case in point, I recently tried carrying a WindowsPhone for a week (more about that in a different post) and I found the device quite pleasing overall, but ultimately I couldn’t get past the lack of essential third party apps. This is Apple’s huge advantage, and as a platform, it is in Apple’s best interests to treat the App Store as a meritocracy where the best of the best rise to the top. Right now, that isn’t happening. I really hope that someone at Apple is paying attention.

Apple’s Next Love

Apple’s next product is going to be a smart band. Not a smart watch; a smart band. The difference is subtle, but significant: a smart watch implies that the device’s input is chiefly on its face and that its primary job is to display information to the wearer. As a long time smart band wearer, I can tell you that a smart band very rarely displays information and is much more important as an information collector, and this is where it gets interesting: Apple’s next product is going to convince you to put a device in direct contact with your skin. If they succeed in convincing you the things that can be done are limited only by the complexity of its sensors: heart rate sensors, respiration sensors, temperature sensors, vasculature visualization, non-invasive glucose monitoring, and more. This also falls in line with some of Apple’s recent hires: Roy J.E.M Raymann, Michael O’Reilly M.D., Nancy Dougherty, Ravi Narashimanetc. This has the potential to radically change healthcare in our world. Apple’s new device could revolutionize how we think about detection and prevention, and if you ask any medical expert they will tell you that prevention and detection is orders of magnitude more important than treatment.

Manton Reece thinks that Apple needs to fall in love with their next product category, and I think he’s right, but I actually think that Apple has fallen in love with its next product which is exactly why it hasn’t launched yet. One of the problems with being in love with something that you’re developing is knowing when to ship 1.0. It needs to be right. It needs to be perfect. I have a feeling, though, that they’re getting close, and when they do finally announce it, we’re going to be amazed.

The Schemes of Sunlit

One of the things that we established early on as a core principle for Sunlit was that we wanted to make sure we were focused on story telling and the sharing of stories and not on things on the periphery. Many times during development, we were tempted to create an über-camera or a whiz-bang photo editor, however the App Store is full of other apps that do these things and do them well. We do include a fairly simple camera in the app as well as some beautiful filters that can be applied, but what we really envisioned was people using either the built in camera app or a great third party app (such as Favd) to take their photos and then create a story with Sunlit using the pictures they had already taken.

To us, the true beauty of Sunlit is how it pulls together the value created from other platforms (, Dropbox, Ohai, etc.) and creates something that combines all those things into something that is somehow more moving than any of them alone. To that end, it was important that we provide a way for Sunlit to fit into this evolving macro-system because we recognize that the best apps and the best user experiences come when things work cohesively. We are always re-evaluating how we can do this best, but I am very happy that Sunlit launched with 1.0 support for a number of URL schemes, including support for the x-callback specification. We also have a number of actions that can be invoked externally to allow other apps to extend support for Sunlit into the activities that they do well. The URL schemes are documented here and are updated as we add support for other actions. If you are interested in adding support for any of these and need assistance, feel free to shoot me a message on ADN (@cheesemaker) or post your question in the Sunlit Glassboard Forum (invite code SUNLIT) or just shoot an email to

Now go build something great!

Sharing About Overshare

As Manton explained on his blog, we have been working on Sunlit for a long time. During that time, I can tell you that Sunlit changed and evolved from what we originally had envisioned. However, if you listen to Core Intuition, you know that we’ve been beta’ing the app for quite a while. So, when Jared Sinclair and Justin Williams announced the Overshare Kit open source replacement for iOS UIActivityViewControllers, we had a hard decision to make. We had to decide if it was worth adding new functionality at such a late point in our development or if we could live without it.

Now, I don’t want to get into a UI/UX design war with anyone. I know that there are various, differing opinions on the look and feel of iOS 7 and I am but a humble developer. However, if you have ever implemented a custom UIActivity in iOS it is undeniable that the monochrome icons that you are forced to use look inexcusably ugly. In fact, they are so disappointingly ugly that Manton and I felt that we had no choice but to use Overshare Kit.


I am proud of many things that we’ve built into Sunlit and our support for Overshare Kit is one of them. I love the iOS development community and Jared is a great guy so being able to support a project that he owns and cares about is a good feeling. We also had the opportunity to contribute directly to the project and a number of changes that we made for Sunlit made it back into the master branch. To me, this is the heart and soul of iOS development. It’s doing things with other people that share your value of quality.

If you are a developer, and you haven’t checked out Overshare Kit, you really should. It allows you to create beautiful sharing activity views. It comes with some of the most common ones out of the box (Facebook, Twitter, etc) and is fairly easy to extend. Jared is also very responsive with suggestions/fixes for things, and while it’s only been around for a few months, I can’t recommend it highly enough. Oh, and if you’re having trouble integrating it, feel free to hit me up. I’d love to see more apps using it.

Sunlit Is For Me

If you don’t like my new app Sunlit, I will still be happy. Don’t get me wrong. I hope you like Sunlit and it helps you do things with your photos and memories that you couldn’t do before, but if you don’t like it, I’ll still be happy. I’ll be happy because Sunlit is for me.

Sunlit is an app that I’ve wanted for years and I’m thrilled to finally have on my phone. One of my absolute favorite uses for Sunlit is for capturing memories from smaller events. These are events that while important, don’t tend to have the significance of a wedding or Disneyland trip so the photos often never see the light of day. With Sunlit, however, I can now do something meaningful with these photos.

Earlier this year while Sunlit was in beta, I went to a birthday party for my wife’s mother. There were about 15 people present and the celebration went on for around 2 hours. During that time, I snapped close to 60 photos of the party. Some of these photos were blurry, some of them were decent, but a few were quite good. On our drive home, I picked the best ones and created “Nana’s Birthday” story. I then used Sunlit to publish “Nana’s Birthday” and suddenly I had a story captured on a web page that I could share with my wife’s family quickly via an email or SMS message.

This is an important thing to me. Before Sunlit, these photos were just photos. The effort to take them was almost more work than it was worth because they would rarely be seen by me, let alone anyone else. With Sunlit, photos turn into memories. They turn into something beautiful that I can share and that can be appreciated and loved by the people I care about.

So, if you don’t like Sunlit, that’s ok. Sunlit is for me, but Sunlit is also for sharing so I really do hope you like it too.