Some great SpriteKit resources

In order to start getting some games on the store quickly with my challenge I'm having to cram a lot of SpriteKit knowledge.

It seems everyone has a different idea of how things are done and surprisingly some of the most experienced iOS developers I've seen are still using old methods of doing things, possibly because they are coming fresh from Cocos2D.

Right now I have 5 different sample projects open with different implementations of an entity class, as I observe each of them I have been using ideas I've liked and trying to write the code as robust as possible, at times it sort of feels like music, like a different person would have a completely different interpretation of what is good or bad but neither are technically wrong.

It's an interesting world of 2D development to be working in, here are a few tools I've found along the way which have been useful:

  • SKPhysicsBody Generator  - This website is great, you can drag in an image then draw a polygon and get the code straight away to put it in your app. I even took this a little further by making a simple spreadsheet tool which prepares the results for a plist and method to loop through creating the physics body from a plist file.
  • Kobold Kit - I haven't used it myself by this looks promising and I will probably be implementing in at least some of my apps when it reaches version 1.0.
  • iOS Games by Tutorials - This book has been a fantastic learning reference, I've picked up a lot of useful information and their additional tools are great. Easily worth the price. (Disclaimer: I am affiliated with the Ray Wenderlich Team).
  • Cartoon Smart on Udemy - I love the work these guys do, while their Obj-C is still back in Cocos2D land, their examples are fairly top notch and its really good to learn something from a different perspective than just RW.
  • Apportable -  While I am yet to try it, Apportable sounds like a high quality and reliable way to convert your Sprite Kit projects in to a format usable on the android platform. If it works then you have just increased your market size with minimal effort.

5 Possible Uses for Notography iOS

As I've said before, it is sometimes hard to sum up what "Notography" does easily but I can definitely tell you some potential ways that it could become an essential tool on your iOS device which you can't live without!

1) Building Inspections - If you work in the property market or are a real-estate agent then you will need to take a lot of photos. Sometimes it may be hard relating all of these pictures back to their respective properties, especially if you are giving them to someone else to document. Notography can record the date / time and geocode an accurate address and print it directly on the photo, so all the proof is right there.

2) Live Blogging an Event - If you are at an important event or function as a journalist you need a way to get your content out there and fast, what you don't want is someone else to rip off your content or to post something which looks unprofessional. With Notography you can have your presets set up the day before so that all you have to do is snap and share instantly. It will put your companies copyright information or watermark on the images before sending them, it is quick so you aren't taking your eyes off the action and can auto-enhance the images so they look great and professional.

3) Photo Diary for Holidays - The quick snap and share is great for capturing your adventure without being taken out of the adventure, the different filters and date/time stamps, location details, etc can really help you recall where a photo was taken later and make it look like you are having a great time! Custom text means you can set up titles like "Canda 2014" so you can remember exactly which holiday you were on.

4) Water / Power Meter Inspections - This may seem like an odd item to have on the list but being able to have a static inspection number and automatically geocoded address means its very easy for those back in the office to process.

5) Concept Design Artist - Easily watermark every image you photograph, you can also choose the save the original image on your phone so it is maintained without layered text or filters. This gives you a sharable copy and safe original for later use. 

Any occasion where you want to prepare templates for your photos before hand so that you can instantly automate the process and choose to share via social media, email, airdrop, etc. 

Any occasion where you need to automate useful text to remember where and when the photo was taken.

Any occasion where you want to protect your copyright and/or produce a professional looking image every time you take a photo.

Notography Updated for iOS7

"Notography" breaks my rule, when designing iOS apps I try to stick to the simple rule of:

"If you can't sum it up in one sentence, it's too complicated"

That said, it is the app I am most excited about. It is artistic, it has flair and it is unique in a way that even if someone tried to copy it, they will probably misinterpret what it is and botch their design.

Notography can't be summed up in one sentence but it is definitely something special and those who understand it, love it.

I feel like I've let a few fans down with the delayed release of patch 2.01, when iOS7 was released it came with unexpected challenges. While it is yet to be confirmed I believe there is a bug in iOS7's AVfoundation framework (the tools used to directly control the camera), specifically it caused memory issues when repeatedly opening the camera, which is a fundamental part of my apps design.

It took a long time and a lot of trial and error to come up with an effective work around for the problem. I am very pleased with the solution I came up with and Notography users can enjoy a faster and more robust experience than ever before.

I'm really excited to share version 2.01 with you, it has been submitted to Apple for review and hopefully will be available sometime within the next week. Thank you for your continued support and my apologies for any issues the delayed release of this patch has caused.


Why developers should start caring about AutoLayout

WWDC this year gave the impression that Apple really wanted to push developers to start building apps with auto-layout. Historically auto-layout has been kind of difficult to use which lead to people hard coding their layout constraints or having fairly static UIs. In iOS7 there have been a lot of improvements which makes auto-layout a lot more appealing. Why should we use it though? 

Apple don't push a particular technology unless they plan for it to be used. We've already heard rumors of a larger screen iPhone later this year and while we all thought it would be up-scaled, it feels now a lot more like it will be expecting apps to have used a responsive design.

It wouldn't surprise me if all apps which don't have auto-layout properly configured will be automatically disabled for download on this device until the issue is resolved. This may seem crazy in the apple environment but it would definitely force developers to start designing their apps for auto-layout.

There are a lot of ways this can go but one thing is for sure, auto-layout deserves a second look if you had previously given up on it.

Hidden jobs in indie development

If you are an indie developer working on your own, it's easy to get stuck in the mindset that you have one main role "Software Developer". While this may take up a large portion of what you do and you may be a professional in your field, it does not mean you will be successful. To be a successful indie developer you need to recognize all roles you are responsible for. 

Marketing and Sales

It's not enough these days to throw a product down there and see who comes. You need to be "always closing" as it is called in the world of sales. Not all developers are good salesmen, you either need to become one or get one. When someone wants to talk to you about your apps you need the best way to sell your idea, to make the audience believe your product is worth buying. This is fundamental and important and should not be taken lightly. 

Marketing should not be an after thought that you pursue within the week Apple take to approve your product. It should begin at concept, you need to plan from day one how you will promote this product and even get people in the industry involved with the key functionality design of the product.

I cannot stress how important it is to build your marketing while your build your product.


It is inevitable at some point you will need to pay taxes for the products you sell, having done a lot of work with financial data before I tried to do this myself. What you should be aware of though is this puts a lot of risk on yourself, you are a developer not a registered tax accountant. You don't watch for changes in Tax Law, you don't look for every single deduction, you have no idea how to handle your financial records and that is perfectly normal.

I highly recommend outsourcing to a Tax Professional and just getting them to show you the basics of what you need to do, how to register your business and keep records and let them worry about the rest. 

Project Planner

On your first project it isn't unusual to get an idea, sit down and start coding. Doing this will almost always set you up to fail. 

You need it to be clear in your head what this project is, what your minimum viable product is and how long it will take to reach that stage. There are many ways to plan each project, find one that works for you. 

Understand that your time is not free. The time you spend on your products could be time spent doing contract work at an hourly rate. You need to apply those same rates to your time to make sure the project will be viable in the long run. 

and the rest... 

The point is, you need to be prepared to step outside of your comfort zone, to do things outside of the scope of just programming. If you can't do that, find someone who can and employ them.  Good luck starting your indie software business.

Priority shift

With "Notography" (My latest photography app) we have now reached a stage of doing the final polishing and preparing promotional material for launch, which means I now have time to move back on to updating my previous projects. I don't plan to pick up a new project until "Defects Collector" reaches a point where I am happy with it.

I have a list containing 27 features I want to implement, which is huge! I also want to implement them within the next 2 months, also big. I think I can make this happen though, I really want "Defects Collector" to be a flagship app for our Asset Management section and I believe it has unlimited potential. I believe it can do things that other copycat apps cannot.

Thank you to everyone who has sent me suggestions and comments on this product, now I promise you I will deliver.