Making an App Out of Love

Email This Post Email This Post

The developer’s mind

As a developer I’m always thinking about ways to use software to solve a problem. So, when something happens in my personal life that prompts me to think “damn, there should be a (better) way to do this”, I immediately start thinking about ways to solve this with software.

And this is exactly how Kush got started.

The problem

One day I went to the gym with my wife. While she was in the weight room I was running in the treadmill. The treadmills are on a balcony overlooking the weight room downstairs so I could see my wife from the treadmill depending on where she was.

We both work out with our iPhones playing music or podcasts and at one point I wanted to send her a message to let her know I could see her and I was thinking about her, just to make her laugh. But have you tried running in a treadmill and texting at the same time? It’s way harder than while driving (just kidding, I don’t text and drive). And so the thought inevitably came to my head: “There should be a better way to do this”. And Kush was born.

I laid out the idea in my head and started thinking about ways to make an iPhone app that was easy to use (required very little touches) but, at the same time, had the power to send meaningful messages to your significant other. And that was very nice to look at!

The solution

A couple of days later I had a rough prototype. I installed it on our iPhones and we started using it in our daily lives. The app had a different sentence maker with fewer sentences but already had most kissing sounds it has now.

As we started using Kush it was evident that this was an app worth making not just for our own use but something others could benefit from. Because of the unique kissing sounds, you immediately know when a message arrives it’s from your partner. Knowing that someone was thinking of you is a great feeling. Even though the messages are all pre-made there’s so many to choose from you can see the person chose that message just for you.

Kush has made this type of short and sweet communication more frequent among us. Before Kush I remember thinking many times a day about sending her a quick “Hello” but wouldn’t, either because I was too busy to type a message or because just a “Hello” would be stupid and I couldn’t come up with something that was much different to an “I love you”.

I contacted a designer who is a friend of mine and we started working on the look of the app. As I was thinking about ways to promote the app I just remembered that Valentine’s day was just a couple of weeks away! The thought was not obvious to me before because in Brazil Valentine’s day is in June, not February (we already have Carnival in February…)

The deadline

We decided to try to release this on Valentine’s day. Working on the code like crazy, my wife was writing romantic phrases for the sentence composer and my designer started to draw and produce all graphical elements. We submitted the app for Apple to approve Thursday morning and asked for an expedited review saying it was an app for couples and that we would love to have it for sale by Valentine’s day. They granted me an exception (thanks Apple) and the app is now available in the App Store! We also managed to make a very nice video explaining Kush. Thanks to my designer for the video and his girlfriend for the voice over.

We’re really anxious to see what’s going to happen now. I hope that the app gets used by many many couples; and that they also benefit from Kush the way my wife and I do. One thing I can vouch for personally is: your wife may leave home angry about something, but after a “Kush” she will come home happy to be your wife ;]

Supplements for weight loss and energy supplements for weight loss and energy. Tinnitus reduction tinnitus reduction. Webcam anal webcam anal. Gmod tower piano lessons gmod tower piano lessons. Cure for hsv cure for hsv. Effective weight loss supplements for women effective weight loss supplements for women. Laser hair loss comb reviews laser hair loss comb reviews. Free beginner sheet music for piano free beginner sheet music for piano. Leanspa acai consumer reviews leanspa acai consumer reviews. Acai diet benefits acai diet benefits. Tinnitus how to stop tinnitus how to stop. Young webcam tubes young webcam tubes. Holistic treatment for pcos holistic treatment for pcos. Lipro diet pills herbal lipro diet pills herbal. Sex on cam tube sex on cam tube. Gynecomastia treatment natural gynecomastia treatment natural. Can acyclovir prevent herpes can acyclovir prevent herpes. Was kann ich gegen rosacea tun was kann ich gegen rosacea tun. Latest acai berry diet latest acai berry diet. Curcumin dosage gynecomastia curcumin dosage gynecomastia. Medication pcos medication pcos. Growth hormone price in india growth hormone price in india. Weight loss fasts weight loss fasts. Cam transexual gratis cam transexual gratis. Milf on webcam milf on webcam. Yamaha cvp 509 yamaha cvp 509. Male breast enlargement products male breast enlargement products. Fibroid tumor pregnancy pain fibroid tumor pregnancy pain. Hyperbare sauerstofftherapie tinnitus kosten hyperbare sauerstofftherapie tinnitus kosten. Acai pillen acai pillen. Natural remedies curing fibroids natural remedies curing fibroids
Email This Post Email This Post

The PhotoAppLink library story

Email This Post Email This Post


Today is the day os the official launch of the PhotoAppLink library. The library is a joint effort of me and Hendrik Kueck from PocketPixels, maker of the ever top selling ColorSplash. We have a website if you want to know the latest about this. This post is to tell the story behind this.

The problem

Since the first version of my first iPhone camera app, Snap, I wanted my users to be able to share their annotated images with as many services as possible. I did the obvious: Twitter, Facebook, Tumblr and I still want to add more to this list.

But one thing was still not possible: how could I share the images with another app? How can I send an image from Snap to Instagram so that users can apply some filters and share? How could I send it to AppX so that users could add filters, frames and a lot more that AppX might offer?

And also the other way around. What if a user takes a picture with AppX and wants to add some text on top of it? AppX might not offer this, but Snap does. Wouldn’t it be nice if AppX could open Snap with an image, Snap could add notes to it and then send the result back to AppX? There is just no way of doing this. Or at least not until right now.

The proposal

What I wanted (you’ll understand the past tense in a moment) to propose was really quite simple, but quite ingenious (or so I thought).

The iOS API allows us to Implement Custom URL Schemes. I wanted every camera or image processing app to implement a custom URL scheme so that we can all exchange images with each other.

So I hashed up a way to Base64 encode an image and send it to another app using these custom URL schemes. It worked well in some tests so I wrote a library and started sharing it with some top devs in the photography section of the app store.

Some people didn’t even respond, but Hendrik Kueck from PocketPixels, maker of the ever top selling and very fun ColorSplash responded telling me he had a similar idea over a year ago (and I thought my idea was so original…) but he didn’t get a lot of people on board so he kinda forgot about it.

He sent me his code and I think my email made him regain his enthusiasm so we decided to iron out a few missing things in the library that would make adoption much easier and try to get more people on board.

So when I checked his library I saw that his idea, even tough it was using custom URL schemes, was to use a custom pasteboard to pass data around from one app to the other. WAY better than Base64 encoding everything. What a revelation that was.

So I threw away most of my code and ported my app to use his code in about an hour. It’s called PhotoAppLink (mine would be called iOSImageShare, even his name is better… damn….) and he even registered a domain for it.

How does it work?

There’s a Readme file with code and a step by step tutorial on how to implement this into your app but first let me explain how it works. It’s really very simple.

When you want to send an image to another app, we just create a custom pasteboard with a common name and paste the image NSData (jpeg encoded to a very high quality) to this pasteboard. We then open a custom url registered by another app.

The system then opens this other app that knows is being called to open a custom url. The app checks the shared pasteboard, gets the image from there and then… well, that’s up to the app. In the case of Snap, I’ll open the annotation screen so that the user can add notes. In ColoSplash it will open the app and prepare it for processing just as if you were getting an image from your Camera roll.

So, all very simple, right? Well, if you’re paying attention there’s one thing that’s missing here: how do I know what URL to open?

Who wants to play?


So, you decided to implement PhotoAppLink on your “soon to be the best” camera app but you feel lonely. You don’t really know to what other apps you can send your images to. Well, not to worry my friendly app, we got a solution for you.

We will host a plist on our website called photoapplink.plist. This file will contain information about all compatible apps. If you implement PhotoAppLink in your app you just have to send us an email about it with all your info and we’ll add your app to this file.

Our library then simply downloads this file and uses UIApplication’s canOpenURL: to check if the app is installed. The library will also download all the compatible apps’ icons (and cache it) automatically on the background.

When your user wants to send a picture to another app you can use an UIViewController from the library that handles everything, from showing compatible apps to sending your image.

But if you don’t like the interface we built or if it doesn’t fit your app, no problem. The library can provide all the information about compatible apps so that you can build your own interface. Or just change the interface we provide to fit your app.

That’s it?


Well, not quite. If you’re still not convinced that implementing this in your app was a good idea I think this will make you change your mind.

When we present a list of compatible apps to the user we can check what apps the user has installed but we also now have a bunch of apps that the user does not know about. So, in our UIViewController we have a button for “More apps”. This button will present a list of all the compatible apps the user still doesn’t have in a nice table with a nice button to get the app.

This button will open the AppStore app so the user can get this app immediately! AND it uses a link with your Linkshare site ID so you even get a commission on the sale.

So, your app can get more revenue selling other apps AND your app can now be discovered by users of other PhoneAppLink compatible apps. How cool is this!!!!!

And, again, if you don’t like our interface, just change it or roll your own using the information gathered by the library.

Let’s play?

Convinced? Great. There’s a very quick tutorial on how to implement PhotoAppLink in your app. It will take you about an hour if you use the controls we provide there and there’s a test app you can use to test interaction with your app. The whole process should not take more than 4 hours, with testing!

Check it out and let’s start playing together!

Arthritis in neck chiropractic treatment arthritis in neck chiropractic treatment. Hemorrhoids shoppers hemorrhoids shoppers. Human growth hormone tablets human growth hormone tablets. Release of growth hormone release of growth hormone. Psoriasis shot treatment psoriasis shot treatment. Webcam with gay webcam with gay. Hoodia sesriem hoodia sesriem. Diets help fibroids diets help fibroids. Throat pain tinnitus throat pain tinnitus. Cam male 4 cam male 4. Excessive sweating homeopathy excessive sweating homeopathy. Man boobs reduce man boobs reduce. Dating websites for herpes dating websites for herpes. Macau dating site macau dating site. Perspiration odor removal wool perspiration odor removal wool. Tabletten gegen tinnitus tabletten gegen tinnitus. Ringing in ear treatment ringing in ear treatment. Chubby gay webcam chubby gay webcam. Webcam transex webcam transex. Easy songs for the piano easy songs for the piano. Candida albicans in stool treatment candida albicans in stool treatment. Treatment for thumb arthritis treatment for thumb arthritis. Stop makeup sweating off stop makeup sweating off. Online piano tutorials online piano tutorials. Psoriasis treatment india dr batra psoriasis treatment india dr batra. Chronic hair loss treatment chronic hair loss treatment. Maximum dosage metformin pcos maximum dosage metformin pcos. Products like duromine products like duromine. Vegan diets weight loss vegan diets weight loss. Yoga helps fibroids yoga helps fibroids. Transvestite webcam transvestite webcam. Magical slimming capsule magical slimming capsule. Natural medicine uterine fibroids natural medicine uterine fibroids. Straight men cam straight men cam. Acai 3000 free trial acai 3000 free trial. Natural remedy for ovarian cyst pain natural remedy for ovarian cyst pain. Natural remedy for bv natural remedy for bv. Homeopathic remedy for ovarian cyst homeopathic remedy for ovarian cyst
Email This Post Email This Post

That’s why I do what I do

Email This Post Email This Post

As a software developer I get a lot of pleasure when a code that I wrote, all those ifs and methods and classes, turns into a real thing, something on my computer screen, doing what I have summoned it to do.

But I get even more pleasure when I see someone using these things, when I meet someone that tells me how wonderful it is, when I see someone I never met before interacting with it with pleasure, when I see a kid using it so naturally.

And I thought it could not get better than this, but it can.

I released Snap a few weeks ago and I was getting some attention for it. AppAdvice already wrote a review of version 1.00 and when I released version 1.01 we decided to do a giveaway together.

Christine Chan asked her readers to describe in the comments how would they use Snap if they got the promo code and one guy caught my attention with something I never thought it would be used for:

James F Bagnell Jr MS
March 26, 2011 • 2:55 pm

“I am a behavioral specialist who works with Autistic children. As part of their Social Skills training I’ll use this app to take snap-shots of the items they use and the people they work with to set up a picture schedule that will lay out their daily routine (which always includes reading them the AppAdvice daily app). Since the parents of the children I work with are less fortunate, I try and make use of the resources I have available. Thanks for keeping me updated on new apps like this one! AppAdvice is the best.”

That really moved me. When the giveaway was over I asked Christine if this guy was one of the winners. If not I was gonna give him a promo code anyway. As it happens he was one of the winners and Christine was nice enought to send another email asking James to contact me, which he did the next day. I asked him if it was OK for me to write about it and he said yes.

Of all the uses I imagined for the app, using it to help autistic children was not one of them, so I was curious as to how it was being used to this end. James explain on another email:

“Autistic children learn in differing ways than those without. One of the ways I teach my clients is through the use of Social Scenarios. These are little homemade picture books that use photographs of everyday people, places, and events that Autistic children encounter throughout their day. One example (which I am working on right now) is a social story that lays out the daily schedule of one of my clients in order to help him transition. The first picture shows his alarm clock displaying the time he is to wake up. The next photograph shows his dresser and the heading reads “this is my dresser, I keep my clothes in here to wear. What will I wear today?”. This continues through the daily rituals of the child and helps him to transition better by understanding his expectations.”

I researched a bit and this is called “Social Stories“. According to wikipedia:

Social Stories are a concept devised by Carol Gray in 1991 to improve the social skills of people with autism spectrum disorders (ASD).
Social Stories are short stories written or tailored to an autistic individual to help them understand and behave appropriately in social situations. The stories have a specifically defined style and format.
They describe a situation in terms of relevant social cues, the perspective of others, and often suggest an appropriate response. They may also be used to applaud accomplishments; roughly 50% of all Social Stories are targeted to be used for this reason.

So, using Snap I took some pictures around my house and played with it a bit:

These were done using version 1.10 of Snap that’s waiting to be approved by Apple as I write this. Hopefully this new version will make the app even better for people like James. I think James might like the AirPrint capability of this new version. This might allow him to make his social scenarios even easier: just snap a picture, write what you want and send it to an AirPrint compatible printer.

Before Snap I didn’t know about Social Stories and had no idea Snap could be used to help autistic children. So now I’m wondering, what else is Snap being used to? The giveaway gave me a lot of examples that I haven’t thought of and I’m sure there’s a lot more uses for it that will never cross my mind.

And this is what I love doing what I do. The bits and bytes are just the raw material I use to build software that can be used by people in ways that are far beyond my imagination.

So, think you can do something cool with Snap that I haven’t thought of? Leave a comment and you might win a copy of Snap.

You can also discuss on HN, Digg or Reddit.

Tinnitus retraining therapy (trt) tinnitus retraining therapy (trt). Songs for beginners on piano songs for beginners on piano. Hyperhidrosis shop hyperhidrosis shop. Hair fall after transplant hair fall after transplant. Tube boy cam tube boy cam. Rosacea amino acid treatment rosacea amino acid treatment. Home remedies hemorrhoids treatment home remedies hemorrhoids treatment. Arthritis degenerative disk disease arthritis degenerative disk disease. Cold skin sweating cold skin sweating. Uterine fibroid reduction uterine fibroid reduction. Gay cam for iphone gay cam for iphone. Slimquick hoodia women results slimquick hoodia women results. Medicine herpes over counter medicine herpes over counter. Psoriasis stoppen met roken psoriasis stoppen met roken. Ladyboy webcam video ladyboy webcam video. Tinnitus holistic treatment tinnitus holistic treatment. 2013 gop candidates issue comparison 2013 gop candidates issue comparison. Plaque psoriasis treatment at home plaque psoriasis treatment at home. Porn tube cams porn tube cams. 30 x 40 shop plans 30 x 40 shop plans. Will help heartburn pregnancy will help heartburn pregnancy. Bv shipping benin bv shipping benin. Bv and fertility bv and fertility. Alternative health uterine fibroids alternative health uterine fibroids. Cam sex arab cam sex arab. How do i stop clenching my teeth in my sleep how do i stop clenching my teeth in my sleep. Hemorrhoids baby delivery hemorrhoids baby delivery. Flohwalzer piano tutorial flohwalzer piano tutorial. New diet pills 2014 uk new diet pills 2014 uk
Email This Post Email This Post