PKCLsoft
Where great things start…
  • Home
  • Blog
  • Money Up Credits
  • Crazy Balloons – Word List Gallery
  • Tap Times Tables
    • Times Tables Reports
    • Reviews
    • Suggestions and Credits
  • uAlertMe for iAlertU
    • Using uAlertMe for the first time
    • Network Settings
    • Other settings
    • Ready to Connect
    • Connected!
    • Configuring your Mac
  • Support
    • Crash reporting
  • Privacy
    • COPPA in the US
  • World of Hex Press Kit
Select Page ...

Tag: app store

App Development tools - What I use.

pkclsoft April 25, 2015 Advice, cocos2d-iphone, Coding, Programming

I’m about to embark on a collaboration with another developer.  We want to create something new and fun.  One of the first things to crop up is the tools that we use.  In the interests of documenting what I use, I thought I’d write it as a blog post for all.

One of the amazing things about software development is that we developers can be very passionate about what we use, and how we use it.  Some developers love getting their hands dirty by doing all the hard stuff themselves.  Some like the ease of point-and-click programming (and there are some of that wouldn’t call that programming, but we’re probably being snobbish).

Me?  I’ve been around long enough now to have got my hands dirty on a  whole bunch of things over the years.  I started out with AppleSoft Basic on an Apple IIe, and progressed through a whole suite of tools and languages until the Apple IIGS was discontinued in the mid-nineties.   I could go on about those days and the years between then and the current “App” development wave, but that’s not what this post is about (if you want to hear more about the “good old days”, then let me know via comments; if there are enough then perhaps I’ll take a stroll down memory lane).

I won’t attempt to compare what I use against what others use here; this is simply a write-up of what I use, and briefly, why.

I would like to point out though that this post is probably best for other developers, or budding developers.  I will use terms and jargon here and there that won’t mean much to non-developers.

Programming

Perhaps it’s something to do with my age and where I’ve come from, but I like coding by hand.  Don’t get me wrong, I’m happy for an IDE (Integrated Desktop Environment) to do some simple stuff for me, but for a lot of it, I’m more than happy to type things out from scratch.  The act of typing in code, even what might be template code to others, connects me with what I’m doing; it’s an opportunity to construct the tapestry as I work, to think as I type.  Having a lot of it done for me means that typically, I’m allowing the tool to dictate limits and sometimes, it’s own design, on what I am creating.  Coding by hand means that the limits are my own.

For iOS App development, my coding environment of choice is Apple’s Xcode.  This is a terrific, free, IDE that comes with absolutely everything a developer needs to code an app and submit it to the App Store.  Now I say everything, and it’s true, but in reality there are things like images, icons, sounds, documents, etc that also help to make up an app, and creation of those falls to other tools.

Xcode is freely available from Apple at: https://developer.apple.com/xcode/downloads/

Apple has traditionally encouraged the use of Objective-C for all development.  Most developers either love or hate Objective-C.  I actually enjoy it as a language.  When Apple introduced Swift in 2014, I was a bit surprised.  I knew that lots of people don’t like Objective-C, but I didn’t think people would be so happy to see a replacement.  Swift has so far managed to fail to capture my attention.  I have no desire thus far to change; Objective-C works, and works well.

App User Interface

Apple, for the iOS environment pushes it’s own UIKit and I’ve used this in several of my apps.  It works well, and it’s very powerful.  I don’t however like to use UIKit for the educational apps, and games that I create.  For these I have used Cocos2D.  I’ve been using Cocos2D since it was version 0.99.  It’s now up to version 3.3.  Most of my educational apps use version 2.2 of Cocos2D, though future apps will most likely use version 3.3 or later.

If you want a copy of the Cocos2D version (based on v2.2) that I use, visit: https://pkclsoft@bitbucket.org/pkclsoft/accessiblecocos2d.git

This GIT repository contains an entire Cocos2D project that I put together to demonstrate the use of Apple’s Accessibility API in conjunction with Cocos2D.

Going forward, Cocos2D is now integrated into a new IDE called SpriteBuilder, which is freely available at: http://www.spritebuilder.com, SpriteBuilder provides a very powerful environment that allows you to design the UI of your app in a way that can be built for both iOS and Android.  I have yet to test/try the Android side of things, but feedback from other developers who have used Apportable which has been integrated into SpriteBuilder, has been very encouraging.

To build an app starting from SpriteBuilder, for both iOS and Android, you will need the Apportable Xcode plugin, available from: https://store.spritebuilder.com/products/spritebuilder-android-plugin-starter

SpriteBuilder creates, from your design, and entire Xcode project that you can then add code to, and build for submission to Apple.  They integrate well, and the powerful thing is that once you open up the Xcode project, you can forget about SpriteBuilder if you choose and hand code the rest of the app.  I really is, for me, a good blend of the two.

If I’m building a UIKit app, then I do everything in Xcode.

Code Management

When I first started working with Xcode, I used “cvs” to manage and control the various versions of my code.  It worked well, but in the years since then, the development world has moved on.  These days, the trendy choice is “git”, and for me, it’s a good choice.  It works well in a local environment, and I’m able to set up remote environments so that I can easily backup my code to a file server, or the cloud.

For code version control using “git” I used SourceTree, by Atlasssian.  SourceTree is available for free from: sourcetreeapp.com  It’s a great tool, very powerful and integrates beautifully with a cloud based service called BitBucket, also by Atlasssian.  I use BitBucket because I can create unlimited private repositories for free, and it’s very handy for sharing code with other team members.  I use SourceTree on my Mac to manage daily commits of code, and then push those commits to the cloud or a file server periodically so that I have backups.

Artwork

For a lot of my apps, I’ve created most of my own artwork.  Until late last year I did all of this using a free app called “GIMP“.  It’s a great tool, and for people, like myself, who work on a very low budget, it works well.  It’s cross platform and there’s even a version on iOS called ArtStudio (though they don’t call it GIMP, when you look at it’s feature set, and menu structure, I’m convinced that’s it’s built from a GIMP codebase).

With the new version of Money Up, I moved to the Adobe Creative Cloud suite, and Photoshop.  Whilst I enjoyed GIMP and became proficient using it, I now really enjoy the power provided by Photoshop and the higher quality outputs achieved by using Vector based shapes for the drawings.  GIMP is a raster based editor, and as such, is unable to export cleanly scaled images in the same way.

Sound and Music

Before I mention the tools I use on my Mac to edit sounds and music I want to mention two websites I use to source most of my sounds and music:

incompetech.com – This is a wonderful site by Kevin MacLeod who shares a vast library of his original royalty-free music.  I’ve used a number of pieces from this site; the ability to browse using a terrific filter makes life much simpler.

freesound.org – This site is a powerhouse, full of sound recordings.  Be careful to observe the licenses attached to individual recordings.

For most of my sound editing, I use Audacity, a free and yet, very powerful sound editor.   When I needed to clean a large number of sound recordings for Money Up however, I used Audition CC, part of the Adobe Creative Cloud suite.  For me, it’s not as intuitive as Audacity however it’s very capable, and some things are easier to do.

I always export my sounds as “AIFF” files, but I don’t use those within the apps that are submitted to Apple.  Most apps don’t need high quality sounds, especially for simple sound effects.  What I do, is run a short script over all of my “AIFF” files, to convert them to “CAF” files which take up less space, but still sound just fine on an iOS device.

This script comprises:

#/bin/sh
FILES=`find . -name \*.aiff`
for F in $FILES;
do
  DF=`basename -s .aiff ${F}`
  echo "Converting ${F} to ${DF}.caf"
  afconvert -d aac -f 'caff' -b 65536 "${F}" "${DF}.caf"
done;

Video Creation

I’ve previously written here about how I create my App Preview videos.  Here is a link: http://www.pkclsoft.com/wp/creating-an-app-preview-my-way/

Handcrafted Apps for Kids

admin August 5, 2014 Advice, Announcements

There seem to have been a number of blog posts of late talking about how difficult it is for indie developers to make a sustainable income from their apps.  The app store has evolved over the past few years, and not all of us developers have managed to find that pot of gold.

For example, I consider myself an indie developer, though I don’t try, and never have tried to make a living from my apps.  Yes, it would be nice to be able to, but I’ve not managed to create any of those app store hits, and I didn’t enter this game early enough to establish my ‘brand’ before the app store became crowded.

With a few exceptions, I’ve focused my attentions on kids educational apps.  It’s what I enjoy writing.  I know that, even though my apps might not be runaway successes that are loved by all, they are loved by some, and that’s good enough for me.  I know that my apps are used regularly by some people; maybe not a lot of people, but by some.  I want my kids educational apps to be fun, and helpful; it’s what got me started when I wrote Tap Times Tables.

Early on in this adventure I discovered the Moms With Apps forums where I found other developers.  I was looking for help because whilst I knew how to write an app and make it work, I had no idea on how to market it or sell it.  I know a lot more now, and that is largely because I found Moms With Apps.  The people there, especially the team, headed at the time by Lorraine were so helpful, and through them I discovered “AppFriday”.

“AppFriday” has been, for several years now, an opportunity for developers of kids and family friendly apps to promote their apps at a discount, or for free in attempt to gain more visibility, connect with customers, and hopefully increase sales.

What many of us have found is that AppFriday has been very successful overall, however there has always been an undercurrent of wishing we, as developers didn’t have to mark our apps down so much so that we could not make enough income from them to keep developing.  For some time now I’ve tried to avoid setting my apps to free, only doing so when combining it with other promotions, or when I was basically desperate enough for a sale that going free wasn’t going to lose me anything.

Most of the times I set my apps to free, I would see a little kick, but that would only last a day or so.  So whilst AppFriday was helpful, it didn’t produce any big sales numbers.

Something that a number of developers have been noticing for a while now is that the number of people turning up for AppFriday has dropped off, and that when an app is set to free, there have been some unusually large educational volume purchases.  I can speak for everyone here, but in my case, I set Tap Times Tables to free on the 25th of April.  Leading up to that date I was making roughly 1 or 2 educational sales each week.  Since that date, I’ve had one single educational sale of Tap Times Tables in the US.

Edu Sales up to April 24           Edu Sales Since April 25

 

 

 

 

 

 

 

As the images  show, educational sales in the US prior to setting the app to free on the 25th of April were a significant proportion of my sales.  Since then however that has changed dramatically.

This observation (and I am not the only developer to make it) plus the oft mentioned race to the bottom for prices has led the AppFriday team to try something new.  When AppFriday went on hiatus for the Northern Hemisphere summer break, the team sought some feedback from developers on what we wanted to do when the hiatus was over.  Did we want to continue with AppFriday in it’s present format (i.e. discount or free promotion only) or did we want to try to try something new?

Well, as I just mentioned, the decision was to try something new.  As of the 1st of August 2014, AppFriday has changed to a new format where the only apps that are promoted are apps that meet the guidelines shown at: http://www.appfriday.com/About

Now, instead of promoting discounted apps, we are promoting quality apps that have been Handcrafted for use by kids, that are family friendly, and safe to use.  This new emphasis is an attempt to shift the focus of customers so that they will hopefully place some value on the apps that they purchase.  We want people to buy our apps because they meet a need; that they are fun, friendly and helpful.  Getting people to download something just because it is free or discounted heavily doesn’t encourage buyers to value the apps or what they can do for their kids.

It is also an attempt to return to the days in the app store when you had a new app and actually had a way to let people know it.  When many of the developers in the Moms With Apps group began this journey, Apple provided a space in the “New and noteworthy” area of the app store.  This gave customers a way to see the new apps, regardless of who published them.

The “Best New …” area in the app store these days is not actually a list of “new” at all; it’s a curated list of what is selling well.  Sometimes there are new apps in there; but most of the time the apps there are not actually new.  People like to see new, shiny things on the shelf; even if it’s just to take a look and consider whether they want it.  This new AppFriday is our effort to give you a new way to find the new apps, and the freshly updated apps for your family and your kids.

So this Friday, when you see developers and other people on Twitter using the #appfriday hashtag, take a real look at the apps.  See if there is something you need.  Are your kids struggling with their Times Tables?  Do they need help with spelling?  Do they need a fun distraction like colouring in, or playing with concepts such as recycling, body parts, reading, etc?

And, if you do purchase an app, and you like it, don’t be afraid to pop into the App Store and post a review to let the developer know.  Reviews make a big difference.  Even if you don’t like something about an app, the developers would love to hear from you via email (most of us provide links to support sites).

You can add widget to "blog" widget area by going to Appearance > Widget

Copyright © 2012 pkclsoft.com. All Rights Reserved