Monday, July 9, 2018

Programming - Advanced Level Lesson 3 - App Programming

When we are dealing with app programming in this third lesson on programming, we are doing so because apps have taken on a whole new meaning for users nowadays. In the old days users of a certain program were in front of their computers. Nowadays, people are running programs on either their smartphones or tablets.


These are divided into two major groups, namely
  • iPhone users
  • Android users
  • Windows users

When I mention Windows, it's actually a very small number of smartphones that run the Windows mobile operating system. As I am writing this, less than 5% of smartphone users run the Windows system, so it's not where your audience is... :-)

iPhone users - operating system iOS
iOS is controlled by Apple, and therefore it's only iPhone users that run the iOS operating system. There are some people who have created hacks so you can run iOS on non-iPhones, but I won't be dealing with it as it is a dangerous path to follow - and I guess it's only very few people who use such a feature.

Anyway, when you have created an app, it has to pass through an Apple approval team before it is available for users through iTunes or the App store.

That final part CAN be quite cumbersome for programmers. We had a Danish company that wanted to create a play guide for children, and they had delays of several days from release until approval, and had to go through TWO of these processes before it was approved for distribution...

Android users - A Great Majority
Android is currently the most used operating system. It is an open system, and therefore the potential for error is also bigger. In theory. Most do however find that it is much easier to create apps for Android as there is quite a lot of help to get from forums etc.

Why Aren't Everybody Using One System?
Well, that is the question every IT-nerd has asked himself for decades. Open systems would save us all a lot of time because you don't have to proceed all over when you want to create programs for multiple operating systems.

Anyway, since we won't get all IT companies to come together, we can't focus our attention too much on this aspect of the world of IT.

What we CAN, and SHOULD focus on is much rather to focus on good programming practices. As you read in lesson 2 where we went through different systems to program webpages, and in lesson 1 where we discussed how much programming has changed from line-based to object oriented and procedure-based programming, so you should remember to keep track of changes as you make improvements in versions of apps.

Let's say you were programming for BOTH the Android and iPhone systems. You want to keep a changelog of BOTH versions separately. Why? Because changes you implement in one system may not be done for the other - and vice versa.

Your changelog is your documentation of issues you have dealt with, and you save yourself a lot of time when you keep track of these changes - especially when people leave reviews in either the App Store or on Google Play.

Very Important First Issue: Screen Sizes
For rather obvious reasons you want to know the screen sizes of smartphones you intend to program for. You need a piece of paper to divide the screen so you can see that the design you are programming will be easy to use (and see!) for the average user. Don't use colors that don't blend well on screen. Be mindful of user happiness being your primary goal. People will delete your app if they don't like it - and if that happens at the welcome screen, it's going to be uphill to achieve success, as I am sure we can all agree upon.

Similarly, be mindful of whether you need to use sound in your app. If you do, have a loudspeaker in one of the corners that people can mute - again think user friendliness in all aspects.

Once you know what you want to create you want to choose your app builder software. Since programs change on a regular basis you want to Google this, or maybe ask a friend if you know someone who has already made an app. You might also check your smartphone and see who created your favorite app. Sending them an e-mail and asking what program they used could start off a good partnership when you might end up talking about similarities between your two endeavours.

Don't be shy and secretive when you want to market an app. You need the help of others, just as they need you. Once you begin to see the people around you as colleagues rather than competitors everything does become much easier.

Best of luck out there.

PS: As always, if you're missing anything, you are welcome to add a comment. They are very welcome. :-)

No comments: