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.

productshot.jpg

The quiet part of the year

I don't like keeping users of my products in the dark but there really hasn't been too much to share in the last few months, partly because I needed a break and also because I wanted to concentrate on my day job. I haven't given up on making products though and have been working hard with what time I have to be able to provide you with great products!

Here is an update on where I am at with each product:

Defects Collector - I would love to increase the rate additional features are added to this product but if i was going to do that then I'd have to change it to a subscription based model. Which I don't want to do because there are already products like fulcrum which offer fantastic subscription services and I want this app to stay in the domain of a "pay once" product for easy and fast inspections.

Notography - Big update coming soon, plenty of improvements to take advantage of iOS7. 

 Flood Damage Assessment - This product is now fully owned by Shepherd Services Pty Ltd and it's development can be followed on their website.

My list of outstanding projects hasn't been updated in a while, a few things have changed but I am committed to delivering on schedule.

The void

Every time a new version of iOS has been announced there is always what feels like a void of any actual activity. It doesn't make sense to put out any app updates because there are such big changes coming soon. My time is better used to keep downloading the Xcode and iOS builds to get my mind in the game and watching / reading all the new stuff from WWDC.  

It feels like we were just getting comfortable with iOS6 and now iOS7 with it's completely different way of thinking has been thrust upon us.  It's a good thing, change is good, it stops us developers from getting completely burnt out.

So what are my priorities for iOS7? 

  1. Notography - This app has received a great response, I have a lot of new features and a whole new design ready for iOS7, it's going to be great!
  2. Defects Collector - I have been wanting to release an update for this for ages! iOS7 will be that time. 
  3. Wicked Freefall! - I really want to make big improvements to this app. May even start from scratch and re-imagine it... i still find it fun but it needs more and it needs modern objective C
  4. Evil Block Company - Not much needs to change, minor improvements. 
  5. ManaSlam - I'd love to re-release this game, my original iOS title that deserves love. 

Early testing of iOS7 have shown positive results and possibilities to improve products. Can't wait to share with you all what I have been working on. 

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.

Accountant

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.

What does the introduction of MFi game controllers mean for developers?

Another WWDC and another swag of great feature and framework updates for iOS and Mac OSX. The introduction of Sprite Kit and update of Game Center is a much needed step in the right direction for producing more and better games on iOS but one feature that really interests me is the introduction of MFi game controllers. 

In the past if developers wanted to be able to support controllers on their iOS games they would have had to use 3rd party bluetooth controller which pretty much just emulated a keyboard being attached. This wasn't bad but it also wasn't overly popular and had limited use. The iCade was a popular devices along with the iControlPad, there was even an app so you could use a second iOS device as a controller called Joypad. All of these systems were fairly easy to implement, the problem is though not many developers did, instead opting to focus on the built in tools like accelerometer and on screen controls. 

So the introduction of controllers that are easy to implement to a consistant standard is a pretty cool thing. What do developers have to think about though?

Opportunity

Very soon when kids go to their apple stores or local electronics store they will start seeing some very interesting controllers on display, there might even be demo units out for kids to have a play on. They will probably sell reasonably well and in the short term if there are only a handful of games which support these controllers then you have a huge opportunity to boost sales of your apps. 

It's also an opportunity to do things differently, there has always been a gap between games based on consoles and those based on touch devices due to the difference in controls. This is no longer such an issue. 

People don't remember all the products that do great things, only the ones that do them first. 

Balance

Gameloft also released a controller once for use with their games, it's sales were pitiful but that may just be because it only worked on a very small selection of their games. One thing that really stood out on their first person shooters though was that it was much easier to aim at something with a controller than with the touch screen, just like it is easier to drive a car with a controller than an accelerometer. 

There is a huge balance risk here as the control scheme could potentially change the difficulty of the game quite heavily and reaching a mid point is hard work. In a first person shooter you may have to have higher aiming assists and racing games may need more powerful driving assists, etc. You also run in to the problem that the Wii had with Mario Cart by designing it to work with those annoying plastic wheels, the game became so simplified that it just wasn't fun to play with a controller, there was no depth and nothing exciting about driving.

Reaching a midpoint where both playing with the device or with a controller feels equal will be the hardest thing developers need to deal with.

Hybrid Controls

One idea Apple seemed keen to push was using the controller for some things but then using the screen or accelerometer when it makes sense to. The case controllers that keep the device in the centre could make use of this fairly well. 

To me, it seems like something worth exploring. That same theory is what made the Nintendo DS a very popular console before the rise of iOS gaming, so it is definitely an area worth exploring. I'm sure finding a new and exciting hybrid control scheme would be a great way to get featured by Apple. 

The challenge here is supporting gameplay when a controller isn't actually connected, you need to be able to design it in a way so that the two control elements don't get too jumbled when you are just playing on the single screen. 

Don't forget the screen!

While controllers are cool, not everyone will use one and not everyone who uses one will take a controller everywhere they go. You should still offer the alternative of onscreen controls or similar and unless you specify your app is controller only fairly clearly and have good reason for it, your app would probably be rejected. 

Airplay

Imagine you have a computer or iDevice with an Apple TV and controller in the house, you can pretty much emulate a console experience! Playing the game live on TV with your controller while the computer or iDevice handles the game like a console.

Optimising your game to run over airplay could extend sessions of play quite significantly, don't believe me? Try comparing the average play time of a kid sitting in front of a TV playing a game to that of a kid sitting in their bedroom on an iDevice. More play time means more iADs presented, more in-app purchases bought and more feedback on your product.

Cool! So how do I get started? 

If you are a registered developer you can get started right now, the only issue you will have is that you will have a small testing window to see if it is all working. The first controllers come out in fall around the same time as iOS7. 

One final thought... 

If you can now share the same achievements and leader boards over both OSX and iOS and share game data and state information via iCloud between OSX and iOS AND use the same controller for both OSX and iOS AND use Sprite Kit to developer games that will work with the same code on both OSX and iOS.... doesn't it seem like the era of true mobile gaming has begun where you can start, stop and pick up your game / match from where ever you are and whatever device you are on? The first game to take TRUE advantage of the opportunities Apple have provided, will be pretty damn awesome!