iOS Developer conference video resources

Conferences are a big part of many indie iOS developers career track. Aside from the standard networking that takes place at these events, it can be an opportunity to further your education in coding, design or marketing, do some self promotion, and perhaps even give a talk of your own one day (just as I get to do for the first time at NSNorth this year!)

Of course everyone knows about WWDC, the developer conference that Apple holds every year in June, but there are quite a few independent conferences all across the world. The range of topics between the different conferences is wide so how much is relevant at any particular event will depend on the person. Though the original purpose of this post was solely to put together a collection of links to the videos that have been put up for the talks presented, there is an added side benefit. If you are thinking of attending a conference then watching some of the videos can give you a better idea of which ones might be the right fit for you and help make sure you are using your time and money efficiently!

Read More

A patronage and crowd funding hybrid revenue model for indie developers.

One of the biggest challenges indie developers face is how to break away from the race to the bottom when its comes to the pricing of apps. Free and freemium apps seem to have won out and changed consumers expectations of what they should or should not have to pay for. And when new alternatives are suggested, or attempted, I am always fascinated to see what they might offer to developers. Two of these in particular, patronage, and crowd funding seemed like they could have offered some help. But both seem to have offered little to indie mobile developer, and have several key flaws holding them back.

By examining and understanding the flaws of these two models it then becomes possible to see how a hybrid between the two could potentially create a new revenue model for app developers. It is this hybrid model that I want to lay out and send into the ether of the internet. Hopefully it will further discussions already under way and spark some peoples imaginations on what new, alternative, revenue models may exist for indie developers. Read More

Resources for learning Swift

One of the challenges someone wanting to learn Swift faces right out of the gate is knowing where to start in terms of learning resources. Because Swift is still a young, new, and evolving language it has not yet built up the knowledge base you would find with other languages and because it continues to evolve it is key that the information you are getting is up to date as well!

This is the launch page for the collection of Swift learning resources I have put together. It will not remain static. New resources will be added as they are released, and ones that are no longer relevant will be removed. I am not listing every resource I have ever come across either. The only things I am listing are material that I have used, or taken a really good look at, and found to be genuinely helpful. If you have something that you think is worth adding to any of the lists then let me know. You can leave a comment below or send me a message on Twitter @ManitobaNinja or @Third_beach Read More

Follow up on “So your app has bombed”

About a week ago I had put up a post called “So your app has bombed“. I won’t rehash the details so if you want to read, or reread, what it was about, you can click here to do so. The short version is that after launching my first app, Are You Faster Than, it did poorly in terms of downloads so I had gone back and reflected on why that was and what lessons I had learned from it.

After I initially wrote the post I figured that was going to be the end of that app and that I would move onto other things. But a couple of interesting things happened. Read More

So your app has bombed …

The scenario that doesn’t get discussed too often on developer websites and forums is what exactly happens when you create an app that no one cares about? Despite all the time, and effort, and thought you put into it, or whatever promotion you may have done, or how great it seemed in your head, no one wants to download it. For someone who is new to development this can be a crushing blow to your ego and motivation. But it is almost certainly going to happen to you at some point, maybe even multiple times, and there are some valuable lessons to be learned from it.

As you might guess I wouldn’t be writing this article if this wasn’t something I had experienced myself. So I will start with a very quick summary of how I got to my own day of reckoning. About a year and a half ago I had decided that taking up iOS development was something that I really wanted to do. It was sparked by a number of ideas that I’d come up with that I wanted to put out into the world, and the release of Swift, which for someone with no programming experience, seemed like the ideal language for me.

As I began reading, watching videos, and starting to code, I realized that a lot of the ideas I had were either not quite possible, or well beyond what a beginner could do. I didn’t let this get to me though. Instead I decided to create an app that was more within my reach and would give me much needed practice writing in Swift, and using Xcode. The idea was simple, an app that let you know if you were going slower or faster then a selected animal, appropriately called Are You Faster Than A … ? I’ve added a screenshot below to give a general idea as to what it looks like

.screen322x572

So over the course of a few months I put it all together. Finally I was happy with how it looked, and how it felt, so I went through the process of getting it submitted to the app store and after a few weeks and a few failed attempts it was finally up!

And no one really downloaded it. In the course of a few weeks there were about 15 downloads. This was a bit discouraging. So I went back. I added more animals to select from, and I changed my in-app purchase model so that all but a few of the animals were unlocked and for those looking to donate, if they liked the app, they would receive a super rad Shiba Inu as a thank you.

Once again I did my submission, watched it get released into the wild, and nothing. Just over a dozen downloads took place in the first week and then it fizzled back to a steady stream of zero. At this point it was officially a bomb.

Before I go any further I want to make a brief side note. When I originally put up this post I did so rather quickly and put down a number of thoughts about the experience that I was having at that moment in time. After it went live, and after a few comments I realized that I could have done a much better job going over why the app was not successful, in addition to talking about what I had learned from the experience. So everything from this paragraph on has been rewritten so that it more closely reflects what I wanted to discuss and get across to readers. So let’s start with the most important part of this experience…

…why did the app bomb?

There are a number of reasons why it bombed. The first is that no one knew about it. A really successful app will at some point take on a life of its own and through word of mouth or via social media and websites it becomes self promoting. It generates buzz. It takes on a life of it’s own. However you want to describe it.

But, before it gets to that point it has to be marketed, promoted and people need to be directed towards it, and persuaded by something more than just “everyone is downloading it” to give it a try. It could be sending out emails to websites and blogs telling them why they should review and talk about it. Perhaps you buy advertising on a digital advertising network or a podcast. Telling everyone you know to download it, and try it, and talk about it. Whatever it is that you decide you need to do to promote and market your app doesn’t matter as much as simply doing something.

And that was my first mistake. I sent out some tweets, and even had a small recommendation from a site, but I never pushed and pursued it in any kind of meaningful way. No one really knew it existed, and I wasn’t trying to change that. Even though it is the coding and design work and creation of a product that lead me to do this, if I want to make a real go at it, then I had to accept that self promotion is also a key element that cannot be ignored.

The second reason has to do with the app itself. Ultimately it was a fun idea, but beyond an initial test run of the app, what would keep the user engaged and make them want to use it again? The answer was not much. Starting off simple was a conscious choice to not overly complicate things, and make it more likely that I would complete the project in its initial form. And that was still the smart approach. But there are other features that would make it far more interesting and engaging. One that I have implemented, and will be in the next release, once the review process is done, is fact cards for each animal so that you can see some basic information about them. Other ideas that are in the back of my mind, and just require a bit more experience to implement, are social features, challenges, saving top speeds, quizzes, and further expanded fact cards. With these elements it will still be possible to keep the app simple but offer a lot more reason for the user to continue to use it!

Finally, it also bombed in part because having a hit app was never really the goal in this instance. I came up with the idea because I personally thought it would be fun, and it covered a lot of aspects of iOS development and Swift that I wanted to learn for other projects I had in mind. That I put it on the app store was a bit of an after thought when I started to see how it was turning out. And that is something that might seem small but is really important. If you are not passionate about your app, or even passionate about sharing it with as many people as you can, your not going to be motivated to promote and market it and do the coding and design to make it really fantastic experience! If you don’t care, no one else will, and it will almost certainly bomb. Beyond it failing…

…what else did I learn from this experience?

Going through this process was also instructive in a lot of other ways. I will jump right into what are the most important take away points for myself:

  • Being able to go back and see what a mess the underlying code was in the first version of my app was both frustrating and exciting. Trying to build on top of poorly laid out code caused many hours to be wasted as I refactored and restructured the program to be far more functional, readable, and more efficient. But it was super encouraging to be at a point where I could recognize my past mistakes, and fix them!
  • Doing as much pre-planning and storyboarding (the pen and paper kind) makes a huge difference in helping you organize how your program should look and be structured. When done right it can serve as a roadmap or checklist for what needs to be done next and makes your project both more efficient and less frustrating (at times).
  • There is no sense programming way beyond your skill level. I was able to complete the project because even though I still had to learn as I went, it was still somewhat within the scope of my understanding. The times when I had the most amount of trouble was when I tried to do something that was well beyond my capabilities. Pushing yourself is important, but to a point, and finding that balance is important if you want to keep learning but not put walls in front of yourself.
  • I was having fun doing it all! For all the challenges and long nights and moments where it didn’t seem like I was getting anywhere I was still really enjoying coding and designing and learning. And if your doing something your not enjoying, what’s the point?

So what next?

For the time being, this will likely just continue to be an app that I work on because I simply find it fun to do so. I like going back and seeing what I can refactor. I will probably keep adding new features as my knowledge of Swift and Xcode grows, and when I am able to do so with a decent amount of confidence. If that is all the app remains as then thats quite alright because building it was still a great learning experience! And if I do one day decide that it has gotten to a point where I think a lot of people would really enjoy it, well, now I also know that I will have to step into a different role and do the promotion and marketing that is required.

 

And when I have an app bomb in the future it will likely be related to a different set of reasons and circumstances but as long as I, and anyone who goes through it, can take a few lessons away from it you at least have a much better chance the next time out!

 

 

 

 

 

Designing apps for cold weather use

Designing for cold weather might not seem like a topic that is going to be applicable to someone living in Miami or Brisbane. But it actually is because it will benefit almost all of an apps user base. What I talk about here can be just applicable to users who find themselves in rain, or high wind, or some other weather condition where long term use of your phone or tablet is not a desirable experience. It just so happens that, living in Canada, and in the prairies, cold weather is a reality for 4 – 5 months of the year and has lead to a lot of thinking of how apps work in those conditions.

So what are the challenges cold weather causes? This is pretty straightforward and I am sure most people could come up with most of these on their own.

Read More