Professional Documents
Culture Documents
ak an a
M ps tod
s
apme
ga
iOS 7
Go beyond iOS
make cross-platform
apps and games!
WorldMags.net
Make
the switch
from Android
Use gesture controls
O Move your contacts
O More secure
Every iPhone
feature explained
www.myfavouritemagazines.co.uk/computer
WorldMags.net
WorldMags.net
Welcome!
WorldMags.net
| 3
WorldMags.net
Xcode
Apples own toolset for iOS-friendly app creation
14
18
20
22
24
LiveCode
You can use plain English scripting with this software-building toolkit
28
32
34
36
38
40
42
44
46
48
Unity
The cross-platform development facility for 2D and 3D games
52
56
58
60
62
66
68
70
72
74
106
112
114
120
126
132
App Marketing
Follow these guidelines to get your app noticed and downloaded!
138
146
4|
152
156
WorldMags.net
Got an ideaWorldMags.net
for an app? Daunted by the process? Use our
comprehensive guide to the tools, the development process,
and the marketing to create your own App Store sensation!
WorldMags.net
| 5
WorldMags.net
iStockphoto
6|
WorldMags.net
Think clean: resist the temptation to put any more features than necessary on the screen.
things very well. That way, youll have
a way to distinguish your app in an
already crowded marketplace.
It can be helpful to ask yourself
the question: What is my apps unique
selling point? A feature is almost never
unique, but the way its presented to
the user can be. Similarly, its possible
to make an otherwise commonplace
type of app much more enticing by
appealing to a specific market.
The App Store has a vast catalogue
of apps, so its important to seek a
section of the marketplace where you
can make an impact. Maybe your app
is a calculator aimed at home-theatre
installers, or a notepad for dentists, or
a game that teaches molecular biology.
Theres always someone out there
who believes they dont quite have
the perfect app for their needs yet
so seek out those opportunities by
being specific about what you want
your app to actually do.
Once youve honed your apps focus
and target audience down to a fine
point, the next major step is to choose
which specific features to include.
Picking features
Our experience of desktop apps on
computers tends to make us assume
that its better to include as many
features as possible, and even to
advertise our apps based on plentiful
functionality. On mobile devices, the
reality is a bit different. People will be
using your app almost anywhere they
might go, and may not want to spend
time devoting their full attention to their
WorldMags.net
| 7
WorldMags.net
8|
Interaction design
While the interface is the appearance
of an app the look theres a
corresponding aspect of the user
experience that we must design just
as carefully: the feel or the interaction
model. Weve all used apps that look
gorgeous and do their job well but
feel awkward to actually use, and those
apps often end up being removed from
our Home Screens. Designing how an
apps interface actually behaves and
works involves psychology much
more than visual design.
iPhones, iPads and iPod touches are
objects that we interact with directly,
using our fingers. There are powerful
and pervasive expectations we have
WorldMags.net
Usage scenarios
One of the main attractions of mobile
devices is that theyre with us no matter
where we are. Theyre not chained to a
desk or in a room at home; theyre in
our pockets or bags, available anywhere,
whenever we might need them. This
opens up a lot more situations where
apps can be useful, but it also means we
have to consider the physical needs and
environment of the user, as well as the
task they want to perform.
We cant assume, for example, that
the user is sitting down, or not in
motion, or can hear any sounds the
device is making. Instead, the user
might be standing at a bus stop,
walking down the street, in a noisy
restaurant, or even in a moving vehicle.
The users environment has a huge
impact on how your app will be used,
and whether itll be usable or not.
The most obvious limitation is
that your app will often be used onehanded, which has implications for the
spacing of controls, and the reachability
A users environment
has a huge impact
on how your app
will be used
require sustained attention. If youve
ever tried to compose a text message
on a bus or train, you also know that
it can be very difficult to hit small
on-screen targets when your body is
moving so design your interface with
sufficient allowance for larger controls
and plenty of spacing. Put ease of use
before aesthetics every time.
Finally, its easy to forget that for many
of us, impaired attention, cognition,
QUICK
TIP
iOS itself
provides a
wealth of
examples of
different types of
app, including
list-based,
hierarchical
interfaces, grids,
and even apps
that mimic realworld devices. If
youre having
trouble finding
the right
interface, take
inspiration from
Apple.
WorldMags.net
| 9
WorldMags.net
1 Be useful immediately
2 Be glance-friendly
3 Be the user
4 Be forgiving
5 Be open
10 |
Even apps that mimic real objects benefit from clean, minimal design, with options clearly marked.
can always go away and come back again with
their data. Openness of this sort breeds trust,
and can actually make people more likely to
try your app in the first place.
6 Limit gestures
WorldMags.net
10 Be trustworthy
WorldMags.net
iPad
Make more of the worlds best tablet
all
For owners of
iPad models
with iOS 7
WorldMags.net
XCODE | Introduction
12 |
WorldMags.net
Introduction
WorldMags.net
| XCODE
Learn
Xcode
Every Apple developer will use these
powerful development tools, so lets
start learning our way around them
pples Xcode environment is vital for anyone making iOS
or Mac apps, and it packs in a full set of incredibly powerful
tools for that purpose. Xcode enables you to check your
code for bugs, to run through it slowly and, crucially, to
test it in a simulated iOS device, or to load it onto real devices. Well take
you through Xcodes tools, and show you how easy it is to start building
apps that have Apple-like interfaces by just dragging and dropping. Well
look at how you can pass data through different parts of your apps, too.
14
18
20
22
24
WorldMags.net
| 13
WorldMags.net
IT WILL TAKE
20 minutes
YOULL NEED
OS X 10.9, an Apple ID
14 |
WorldMags.net
Getting started
WorldMags.net
| XCODE
Editor
Most of your work will be done in
editors, which enable you to modify the
current file. There are many editors available,
each aimed at a different type of file.
2
2
1
Debug area
This is where you can control the flow of
4
your app while it is running and see any
output and error messages.
Writing in code
A programming language is similar to
a human language, but is much more
rigid in its structure. The basic construct
is a statement, which is like a sentence.
In Objective-C, statements end with a
semicolon. These statements are
collected into methods. A method is
a unit of code that can be called from
other code. A method can have data
passed to it and potentially return data.
For example, if you were building a
calculator, you might have an add
method that takes two numbers and
returns a single number. You could also
have methods for subtract, multiply,
A compiler takes readable programming code and converts it to 1s and 0s so that a computer can run it.
divide and any other operations your
calculation might perform. Finally, these
methods are grouped together into
objects. An object usually represents
some entity or concept in your app, and
contains methods used to work upon
that concept for example, a calculator
object that uses our calculation
methods to produce a result.
Along with the Objective-C language,
Apple provides a large number of
WorldMags.net
ERRORS?
If you get any
compiler errors
or warnings (red
octagons or
amber triangles)
while following
these tutorials,
dont panic. Just
check that you
havent missed a
step or mistyped
some code.
| 15
WorldMags.net
FINDING
VIEWS
If you ever get
lost in Xcodes UI
or cant find a
particular view,
go to the View
menu in the
menu bar. The
options in here
enable you to
show and hide
any part of the
main Xcode
window.
Getting around
The final tool is the iOS Simulator. As
the name suggests, this is an app that
simulates iOS on your Mac. You can use
it to see how your app will look on lots
of different devices, without needing to
own them all.
It doesnt completely replace the
need to test on an actual device, but it
allows you to develop your app without
needing to have an iPhone or iPad
constantly plugged in and perhaps
more importantly, without needing to
pay for a developer account to be able
to load your app onto such devices.
1 Getting Xcode
16 |
2 Creating a project
WorldMags.net
Getting started
WorldMags.net
related to the first editor by selecting a
mode from the breadcrumb bar. This is
useful when connecting controls in an
interface to code, since you can have
both files up side by side.
On the right-hand side of the window
are inspectors and libraries. The available
inspectors depends on the type of
editor. The code editor doesnt provide
many options, but the interface builder
editor has inspectors for editing the
attributes, size and connections of a
control. Below the inspectors are the
libraries, which contain reusable items
such as snippets of code and UI controls.
The debug area usually appears at the
bottom of the window. If you havent
run an app yet, it may not be visible. This
is where you can control the flow of an
app and see the data and output while
the application is running.
Finally, there is the documentation
window. This isnt part of the usual
Xcode window and can be brought up
by selecting Help > Documentation &
API Reference from the menu bar. This
window gives you access to Apples
extensive documentation library. The
sidebar on the left enables you to
browse through the documentation
3 Choosing a template
| XCODE
JARGON
BUSTER
APIs (Application
Programming
Interfaces) are
methods you
can call to create
an application.
SDKs (Software
Development
Kits) are
collections of
APIs, generally
aimed a certain
platform. Xcode
comes with SDKs
for both iOS and
OS X.
4 Setting up a project
Finally we need to set some initial properties for the project. The
most important is the Product Name, which is what our final app will be
called. Enter Temperature Converter in here. If you wish to change the
Organisation Name or Company Identifier, do so. The company identifier
must be in reverse DNS format, which is a reversed web address (so bbc.
co.uk becomes uk.co.bbc, apple.com becomes com.apple). Leave the Class
Prefix blank. Finally, make sure Devices is set to iPhone. Now click Next
and youll be prompted to choose where on disk to create your project.
WorldMags.net
| 17
WorldMags.net
Anyone can do it
IT WILL TAKE
30 minutes
YOULL NEED
OS X 10.9, Xcode 5+
QUICK LOOK
WORKING WITH XCODE
Editor modes
Object library
These three
1
buttons enable
you to switch between
the three types of editor
mode: Standard,
Assistant and Version.
Running code
View options
These options
2
enable you to
show and hide the
various UI panels
including navigators,
the debug area and
the utilities panel
(containing inspectors
and libraries).
WorldMags.net
18 |
| XCODE
1 Set up a workspace
2 Add controls
3 Create an outlet
THE EDITOR
4 Create actions
-(IBAction)convertToFahrenheit:(id)
sender also between the curly brackets.
WorldMags.net
| 19
WorldMags.net
IT WILL TAKE
30 minutes
YOULL NEED
OS X 10.9+, Xcode 5+
Storyboards let you visually build your UI and see the flow of your apps screens.
20 |
WorldMags.net
Multiple screens
WorldMags.net
| XCODE
OPEN
QUICKLY
4 Create segues
6 prepareForSegue
A segue already exists for the first row in our table, but
we need to create segues for the other two rows. Right-click
on the second row and drag to the details view. When you let
go, a pop-up appears to select a transition type. Choose the
Push Selection Segue. Now do the same for the third row.
- (void)prepareForSegue:(UIStoryboardSegue *)segue
sender:(UITableViewCell *)sender {
}
JARGON
BUSTER
setTitle:sender.textLabel.text];
and try tapping rows to see how the detail view changes.
destinationViewController setDetailItem:sender.
detailTextLabel.text]; . Run the app with the play button
WorldMags.net
| 21
WorldMags.net
IT WILL TAKE
30 minutes
YOULL NEED
OS X 10.9+, Xcode 5+
GitHub has thousands of projects with publicly available source code that you can download and explore.
much more complex data sets for
example, a table allows you to group
rows into sections, which can have
headers and footers. Rows can also be
added, deleted or even reordered.
Table view
If you look at ViewController.m in the
project for this tutorial, youll see a set
of methods already implemented. These
are the required data source methods
22 |
WorldMags.net
| XCODE
2 Adding rows
Open ViewController.m. Look for the line //Step 2 Adding Rows . The lines below are commented out (and
probably coloured green). Select those lines (not including
the //Step 2 line) and hit +/. This will uncomment those
lines. Run the app and try clicking the Add button a few
times: new names should animate in.
Lets look at what this code does. The first line adds a new
random name to the end of our array. The randomName
method is implemented at the bottom of the file, but we
dont need to know how it works, only that it does. Now we
want to update the table to show this new content. We could
simply use the code [self.tableView reloadData] , which
would cause the table to refresh all its data, but we want
to have our new row animate in. To achieve this, were first
creating an index path object to represent this new row.
Remember, we start counting rows from index 0, so the
last rows index is one less than the number of names. The
second step is to tell the table to insert a row at this index
path with a certain animation. Were using the auto option,
which will choose the best animation for the inserted rows.
4 Moving rows
JARGON
BUSTER
An array is an
ordered list of
objects. Each
object in an array
is assigned an
index. The first
object is index 0,
the next index 1
and so on. An
array has a count
property that
returns how
many objects
it contains.
3 Deleting rows
WorldMags.net
| 23
WorldMags.net
XCODE | Debugger
IT WILL TAKE
30 minutes
YOULL NEED
OS X 10.9+, Xcode 5+
2 Setting a breakpoint
4 Continuing execution
TOOL
SCHOOL
Dont like
a keyboard
shortcut? You
can modify
shortcuts from
Xcodes
preferences, in
Key Bindings. It
can be helpful
to change Quit
from +Q
so you dont
accidentally quit
Xcode rather
than your app.
24 |
WorldMags.net
Debugger
WorldMags.net
| XCODE
KEY
STEPS
6 Viewing variables
7 Editing variables
8 QuickLook
Restart the app (click play) and click the button in the
app to hit the breakpoint. Hover over the number variable. A
number will appear; we havent actually set the variable yet.
Step over and hover over again. It should now equal 5. Step
over again, watching how the variable changes.
WorldMags.net
| 25
WorldMags.net
LIVECODE | Introduction
26 |
WorldMags.net
Introduction |
WorldMags.net
LIVECODE
Learn
LiveCode
This cross-platform development tool
makes it incredibly easy to put together
both simple and complex apps
earning to code with advanced tools like Xcode is absolutely
worth it, but when youre first starting to get a handle on
what kind of apps you might make, it can be daunting.
LiveCode is a different development environment, with its
own language but one thats extremely simple and easy to read, yet
still capable of making powerful apps. Our tutorials will introduce you
to LiveCode, and help you to quickly create a range of working, practical
apps, so you can see how versatile coding can be.
28
32
34
36
38
40
42
44
46
48
WorldMags.net
| 27
WorldMags.net
IT WILL TAKE
15 minutes
YOULL NEED
LiveCode
Community Edition,
OS X 10.5.8 or later
28 |
WorldMags.net
LIVECODE
LiveCode Dictionary
Contains everything thats
3
in the language; every
keyword, message, property,
control structure and more.
Inspector palette
Gives quick and easy access
to practically every property,
parameter and behaviour for every
item in a card, and for the card and
the stack itself as well.
4
LIVECODE
WORDS
If youre not sure
what keywords
do or you want
to know details
about a phrase,
the searchable
LiveCode
Dictionary is a
great resource. It
shows how
something is
used, gives
examples of it
being used in
scripts, and
provides links to
similar entries in
the language.
WorldMags.net
| 29
WorldMags.net
STAND
ALONES
Building a
standalone app
is easy, but its
worth looking
at the options
provided in that
Standalone
Applications
Settings window.
Things here can
get ignored, but
keeping version
numbers up to
date can help
you keep track
of which is the
newest version
by checking
its Info window
in Finder.
Standalone Application Settings is where you set up your app so it can be run on different platforms.
might not have AM or PM shown in the
time. Fortunately, checking the English
time rather than just the time makes
sure you always get the AM/PM suffix no
matter how the users Mac is set up.
Now lets turn this into a standalone
application that can be run by your
friends without having LiveCode
installed. First save your stack, naming
it Hello Dave.livecode and then choose
1 Beep
Start by making a new mainstack from the File menu. Thats your
new LiveCode document, which includes your first card. Go to the Tools
palette and drag any Button object onto your card. This is automatically
selected with the Edit tool, which is the second of the two arrow buttons
at the top of the Tools palette.
Click the Code button in the Toolbar to open the Code Editor window,
ready to add/edit scripts for the selected object. As a button, it has a
mouseUp handler ready to use. In the empty second line, type the word
beep. Click the Apply button, switch to the Run tool, and click the button.
30 |
2 Hello Dave
Add a text field to your card, then tell the button to put some
words into it. Drag a Scrolling Field object onto the card. Hover over the
items to see the descriptions. In code terms, this is field 1. Go back to the
Code Editor window and replace beep with these two lines of script:
put "Hello Dave, how are you doing?" into field 1
revSpeak field 1
This puts the quoted text into field 1 and then speaks whats in the field.
Click Apply, then click your button with the Run tool.
WorldMags.net
3 if-then-else
LIVECODE
JARGON
BUSTER
Those camelCase
words you see in
scripts are
normal here.
When words are
joined together
to create the
name for a
message, it
keeps things
more legible if
the original
words are given
initial caps. When
reading scripts,
returnInField is
more legible
than reading
returninfield
for instance.
WorldMags.net
| 31
WorldMags.net
IT WILL TAKE
30 minutes
YOULL NEED
LiveCode
Creating a colour-picker app takes a fairly small amount of code, thanks to LiveCodes smarts.
a place you can run one-line or even
multi-line scripts without having to
create something in your stack to hold
them. Type set the textHeight of
field "info" to 60 and then hit the
Return key to run this instruction. As
long as you were paying attention
earlier and actually named the field
LiveCode is good
at maths, which
means you can get
it to perform some
complex tasks
properly, this does the text height
adjustment for you.
LiveCode has some very useful tricks
that make sampling colours surprisingly
easy. First, theres a built-in function
called mouseColor. In a nutshell, a
function is a bit of script that does
something and passes back the result,
and the job of this one is to tell you
the RGB value of whatever your cursor
happens to be over, no matter what
application youre pointing at. Try it: type
put the mouseColor into the
32 |
WorldMags.net
LIVECODE
When you put some data into a line of the field, it replaces
everything that was already in that line. When you put
something after (not into) a line of the field it gets added
to whats already there. So, the first line of code above
replaces any data in that line with the # symbol (+3),
and the rest add the format-converted data to the line.
Now, when the colour of the card is dark, its hard to read
the black text. It would be useful to have the textColor
(the colour of the text) change to white, or 255,255,255
in RGB, when the card turns dark. To find out how dark a
colour is, add up the red, green and blue number values. The
brightest possible is 765 (255+255+255), so if its less than
half that, its dark enough to use white text instead of black.
on idle
if the optionKey is down then
get the mouseColor
set the backgroundColor of me to it
end if
end idle
JARGON
BUSTER
Put these lines straight after you get the mouseColor in the
card script, and you see the RGB code presented in a slightly
more understandable form.
Now for the maths: converting the RGB (0-255) numbers to
hexadecimal, so you can recreate a sampled colour in a web
page. There are many ways to approach this, and the shortest
is to use the format() function, which converts any data to
one of many different encoding formats. Pass two bits of data
to this a code saying what format to convert to, then the
data to convert and you get converted data back. Here,
%x tells it to convert to hexadecimal, so thats the first part.
The second is that item 1 of it reference. Then do the
whole thing again with item 2 of it , then item 3 of it .
The LiveCode Dictionary has more details, if you like.
Concatenating
running multiple
things together
is done with the
& symbol. It joins
things together
without any
space between
them; put two
together ( && )
and you do get a
space between
the items, so
"this" && "that"
produces the
result this that.
WorldMags.net
| 33
WorldMags.net
IT WILL TAKE
30 minutes
YOULL NEED
LiveCode
Make software that extracts data from any web page what you do with it then is up to your imagination.
on mouseUp
put empty into field 1
put URL "http://www.billboard.
com/charts/hot-100" into theData
URL "http://www.billboard.com/
charts/hot-100" into field 1 does
then
else
put the result into field 1
end if
end mouseUp
34 |
WorldMags.net
LIVECODE
repeat with x = 1 to 4
put "ftp://" & field "name" & ":" & field
"password" & "@" & field "URL" & field "file" into
theFTPURL
Its not pretty, but this uploads whatever you type with no further fuss.
JARGON
BUSTER
Understanding
the LiveCode
language is the
key to success.
Use the LiveCode
Dictionary to
learn how
different words
work, click the
See Also links
to find similar
words, and
use the
Documentation
tab in the
Code Editor.
4 Sanity check
WorldMags.net
| 35
WorldMags.net
IT WILL TAKE
30 minutes
YOULL NEED
LiveCode
This creates a script that grabs and speaks information from a remote location, once every minute.
that the download was successful. Put
the downloaded data into field data,
and then unload the downloaded URL
to clear the cache:
on allDone tURL, tStatus
if tStatus is "cached" then
put URL tURL into field "data"
unload URL tURL
end if
end allDone
36 |
WorldMags.net
LIVECODE
1 Going further
2 do
With a few additional lines, your app can run custom remote instructions, including AppleScript.
do as AppleScript
4 Background operation
JARGON
BUSTER
The do
command lets
you create new
scripts on the fly
to run in your
code, but its
easier to
assemble these
first in a field if
theyre complex,
instead of using
& or && to run
elements
together.
WorldMags.net
| 37
WorldMags.net
IT WILL TAKE
30 minutes
YOULL NEED
LiveCode
LiveCode is an easy
software-creation tool
which can create apps
that do, well, practically
anything. In this part of our series, well
explore making a window into randomly
selected custom shapes no more
boring rectangles for us! and moving
it around the screen at will. Begin by
choosing File > New Mainstack to create
a new LiveCode project to work with.
To start with, lets look at creating
the custom window shape. This is
controlled, logically enough, by a
LiveCode property called windowShape.
Traditional windows (or stacks) have a
windowShape setting of 0, which means
it follows the normal operating systemcontrolled appearance. But if you have
an image in your stack that has some
kind of transparency mask, you can set
the windowShape to the ID number of
that image. The result: its clipped to the
visible parts of the image, whatever that
might be. If the image mask is 1-bit then
the window has a sharp cut-out edge. If
the mask is an 8-bit alpha channel one
something you might make as a
Photoshop layer mask before exporting
as a 24-bit PNG, for example then the
window and its contents will take on
the transparency of the graphic.
The image well use as our test is
going to be sourced directly from an
online location, thehelpful.com/
livecode/windowshape/1.png, although
you can use any other. First, drag an
image object from the Tools palette
onto your card and then use the
Inspector palette to name this logo.
Next, open the Message Box (click its
The windowShape property can be used to clip a window to any shape you like.
icon in the main toolbar), type the
following single line: put URL
"http://thehelpful.com/livecode/
windowshape/1.png" into image
"logo" and hit the Return key to run it.
38 |
WorldMags.net
LIVECODE
1 Going further
2 Global variables
This is the entire script of this project, from image downloading to custom window dragging.
already there, we add a line that says put empty into
gLeft to load a new image whenever the mouse button is
released. We use this in the next part as one way of checking
whether or not the mouse is down while it is being moved.
4 Dragging
JARGON
BUSTER
Handlers are the
on something/
end something
lines that hold
your script
instructions.
Events such as
tapping or
clicking down
trigger
mouseDown
handlers,
releasing the
mouse triggers
mouseUp, and
so on.
5 Testing
WorldMags.net
| 39
WorldMags.net
IT WILL TAKE
30 minutes
YOULL NEED
LiveCode
Keeping track of
information is something
we all need to do.
LiveCode is exceptionally
good at this; it can be used for
everything from a simple card-based
flat file database to the front end for
powerful SQL systems, and everything
in between. We wont go into SQL here,
but we will create a simple yet effective
card-based record-keeping system. Youll
quickly see how you can adapt this
easily to almost any real-world scenario.
To begin with, well be using multiple
cards within a LiveCode stack or
window. Think of this as a kind of virtual
Rolodex, or just a stack of file cards.
Well set up a structure of text fields to
store your information, then well add
some all-important searching features
to help you quickly retrieve whatever
you need.
Start by choosing File > New
Mainstack in LiveCode. Next, resize the
window to be like a traditional 35-inch
index card around 600 pixels wide.
Using the Inspector palette, name the
stack Data and untick Resizable in the
Size & Position pane.
Now go to the Tools palette and drag
three Text Entry fields, a Scrolling Field,
an Image Area object, and three
Rectangle Buttons onto your card.
(Hover over each icon and read the
tooltip to see which is which.) Arrange
them to look something like the
example below and name them, too:
a Text Entry field called title at the top,
the Scrolling Field as info on the left, a
Text Entry notes field on the right, and
the three buttons (named New Card, <,
This kind of card-based database is very handy, as shown by LiveCodes own Dictionary stack!
and >) and the remaining Text Entry
field, called page, along the bottom of
the card. LiveCode will show this
structure on every new card if we group
the items together: select them all, then
choose Object > Group Selected. In the
Inspector, youll see that the Shared
group and Behave like a background
options are ticked.
Dont ungroup the item, or this will
stop working. To edit these objects or to
40 |
WorldMags.net
LIVECODE
1 Going further
2 Add Objects
A popup palette window is useful for searching through whatever content you choose to store in your creation.
put the title of button "Focus" into theFocus
set the defaultStack to "Data"
This preamble done, the rest of the script is a simple if-thenelse structure which should be easy to follow. Remember,
theSearch contains whatever someone typed into the Search
field, and theFocus contains whatever choice is showing in
the popup menu.
3 Search script
These instructions will run your search in one field or across everywhere.
JARGON
BUSTER
Stacks can be
opened as
regular windows,
floating palettes
or processblocking modal
dialogues. Add
as palette to a
go to stack
command to
open a palette;
topLevel is
normal; modal
and modeless
are specialist
dialogue types.
4 Window control
WorldMags.net
| 41
WorldMags.net
IT WILL TAKE
30 minutes
YOULL NEED
LiveCode
Use the LiveCode Dictionary to find the full details of any command, function or property.
a couple of variables. The next line sets
the rect (short for rectangle) of the work
field to be zero pixels from the left of
the card edge, 22 pixels down from the
top. The right edge is set to the width
of the card (in the variable we called
theW), and the bottom is set to the
height of the card minus 20 pixels. This
makes it the full width of the card and
almost the full height.
Building a word
processor is a useful
exercise in resizing
objects and handling
external files
The field we called count is
controlled in a similar way, but its
shorter and positioned along the
bottom of the card. Click Apply, then
switch to the Run tool and try resizing
the window. For bonus cool points, turn
on the Live Resizing option for the stack
in the Inspector palette.
Key release
Now for the live wordcount. In the
same stack script area as above, make
a new handler called in keyUp . This
is triggered every time a key on your
42 |
WorldMags.net
LIVECODE
1 Adding menus
2 Edit Menu
The Menu Builder makes menu creation exceptionally easy, including generating script templates.
put it into field "work"
end if
With just a few lines of script you can make a truly functional tool.
JARGON
BUSTER
Global variables
will store data
until the app is
quit, and can be
used by any
handler script at
any time. Local
variables are
available to all
handlers in one
Code Editor view.
Temporary
variables last
only while a
handler is
running.
Save As must first ask the user to choose where to save the
new file and what to call it, using the ask file command. We
assume the user knows enough to put .txt, .html, .php or
whatever is appropriate at the end of the file name. The
result is put into the global gTheFile variable (so we can do
regular saves later), then we go through the same process of
opening the file, writing to it, then closing the file again.
ask file "Save this as"
if the result is not empty then
put it into gTheFile
open file gTheFile
write field "work" to file gTheFile
close file gTheFile
end if
The lines to put into the New menu items script are put
empty into field "work" and put empty into
gTheFile , and the Quit menu items script is simply quit .
WorldMags.net
| 43
WorldMags.net
IT WILL TAKE
30 minutes
YOULL NEED
LiveCode
The cloning instructions that duplicate and position new objects in the game are stored in the cards script.
The line first tells the item to move in
front of anything else, and the second
makes it follow the mouse. Once you've
applied the script, go to the Inspector
palette and untick the Visible checkbox
so that this item is hidden. Now go to
Object > Card Script and type on
makeNewShape to create a custom
handler that runs when you click the
object. Inside this well put a total of
eight lines of script. The first, clone the
44 |
WorldMags.net
LIVECODE
1 Going Further
2 Colour blocks
3 Colouring code
Let your users create shape collages with the safety of a click-proof backdrop that can be enabled when needed.
graphic from thehelpful.com/livecode/fuzzyfelts/trash.png.
Once you have a suitable image in PNG, GIF or JPEG format,
click the Message Box icon in the Toolbar below the menu
bar. Choose the second icon from the left, the Multi-Line
version, and add the following two lines:
4 Trash icon
Each graphic uses the same code, assigned from a hidden objects script.
JARGON
BUSTER
The random
function
produces a
random result
from 1 to the
given number.
To get a result
starting higher
than 1 just add
to the result. Use
randomSeed to
ensure greater
randomness in
one session see
LiveCodes
Dictionary.
Press the Enter key (by the numberpad) to run the instruction
(not the Return key by the puncutation keys, which is actually
functionally different). If youre using a keyboard with no
separate Enter key, hold down the key to make Return
act as Enter. Find and select the image you want; it will be
imported as fully-embedded pixels shown within a new
image object. This method is better than using the Inspector
palette to select an image source, because it doesnt need to
keep track of the original image file. Delete the original trash
image object and rename this new one trash so that the on
mouseUp handler in the card code that looks for an
intersection with an image called trash will still work.
5 Backdrop
WorldMags.net
| 45
WorldMags.net
IT WILL TAKE
30 minutes
YOULL NEED
LiveCode
Two fields and two buttons is all thats needed, but a few extra items can make it look a little more finished.
bits of information, will be remembered
permanently and are available globally
to other scripts you write.
Inside the mouseUp handler, we're
first going to deal with selecting the
font file and then reading its data. The
answer file instruction in our first
line opens a standard file selection
dialogue. The next line will check to see
if the user cancelled this; the it variable
stores the path to the selected file, so if
46 |
WorldMags.net
LIVECODE
1 Font name
2 Merge data
The other half of the process: merging and exporting the XML file.
A full iOS Font Maker utility made previously that has a few more features, but its built on this core functionality.
JARGON
BUSTER
XML is simply
a way of
organising data
in a logical,
structured
manner. Its the
basis of app
preferences files,
and here its how
iOS profiles are
made. We just
merge data into
an XML template
and save the
results to disk.
WorldMags.net
| 47
WorldMags.net
IT WILL TAKE
45 minutes
YOULL NEED
LiveCode
Test your work in the iOS Simulator, a virtual iPhone or iPad on your Mac.
the Lock Text option for this and the
now field. Put the then field at the top
of the card, put the year field below it
and the now field below that.
Much of our code will be the same
for iOS as it would be for Mac for
example, mouseUp will simply refer
to touches instead mouse cicks.
Select the year field and click the
Code button. Create a mouseUp
mobilePick theY, it
48 |
WorldMags.net
LIVECODE
2 Test
3 Cross-platform
else
-- do Mac stuff
else
-- do iOS stuff
end if
Where weve put --do Mac Stuff, youd put your code.
JARGON
BUSTER
Want to know
more about
numFormat?
Confused about
mobilePick? The
Dictionary icon
in the Toolbar
will help you find
technical details
and expand your
understanding
of LiveCode. You
can also ask
questions online:
forums.livecode.
com.
4 Testing on devices
WorldMags.net
| 49
WorldMags.net
UNITY | Introduction
50 |
WorldMags.net
Introduction
Introduction |
WorldMags.net
UNITY
Learn
Unity
This cross-platform 2D and 3D games
development tool is used by some of
the biggest developers around
earning how to use a truly powerful tool is something
that can set you up for a career of innovative development.
Unity is a games development environment thats equally
at home making basic 2D games just as much as epic 3D
masterpieces. Its a bit different from tools focused just on making apps,
but well guide you through exactly how it works, and well build a fully
functional 3D puzzle game with an animated character, sound effects
and a title screen, before adding touch controls to make it work on iOS.
52
56
58
60
62
66
68
70
72
74
WorldMags.net
| 51
WorldMags.net
Were going to be
making a 3D
puzzle game.
IT WILL TAKE
30 minutes
YOULL NEED
Unity, a free download
from unity3d.com/
unity/download
52 |
WorldMags.net
Build a game
WorldMags.net
| UNITY
Move
Click a GameObject with this tool
selected and youll see three arrows
representing the X, Y and Z axes. Click and
drag to move your GameObject.
2
Rotate
Alternatively, click a GameObject with
this tool selected and youll see three
arcs representing the X, Y and Z axes. Click
and drag to rotate your GameObject.
3
Scale
All the tools are consistent. Select a
GameObject to see the three arrows.
You can scale just one axis or all three.
4
GAME
OBJECTS
Inspired by Sokoban, this is the view of our 3D crate-pushing game when viewed from the in-game camera.
plug-ins and even complete game
projects for you to learn from and
modify. Reassuringly simple!
So what is it were going to be
building for our app? Its going to be
a 3D take on the classic crate pushing
game Sokoban. In case youre unaware
of the game, Sokoban (Warehouse
Keeper in Japanese) is a puzzle game
where the player is required to move
boxes or crates around a level,
WorldMags.net
GameObjects
are empty boxes
that you can
attach Unity
components to,
be it an audio
listener, a script
or physics. Every
object used in
Unity is a
GameObject
with a
customised set
of components
attached to it,
which define
its behaviour.
| 53
WorldMags.net
HAVE
A PLAY
Unity comes
pre-configured
with multiple
window layouts
try them all
out and see
which you like
best. Go to
Window >
Layouts and
select one of the
options. Find the
one that suits
your working
style best and
get comfortable
with it.
Multiple tabs
Unity itself can be a bit daunting to look
at when you first open it up. Youll have
multiple tabs visible, titled Hierarchy,
Scene, Project and Inspector. There will
also be two tabs that dont have focus:
they are Game and Console.
The Project tab is a list of all the
scripts, models, sounds and textures
available to use in your game. You can
drag items into this window and Unity
will import them.
Once you have something available
inside Unity and you want it to appear
in your games level, you will have to
54 |
2 Device 6 Simogo
WorldMags.net
Build a game
WorldMags.net
can see the numerical values for the
properties of any item you select.
Moving on to the tabs that dont have
focus, first up is Game. This, like Scene, is
a visual representation of the items in
the Hierarchy, but rather than being able
to view the items from a free-floating
perspective, your view will be that from
the scenes camera what you will
actually see when the game is being
played. Unity allows you test your game
from inside the editor, switching to and
rendering it in the Game tab.
Finally, the Console tab will display
any messages that Unity broadcasts,
along with any debug information that
you chose to output to it. When you test
your game in the editor, pay attention
to this tab, because it will inform you of
any warnings or errors that need fixing.
Youll possibly notice that we havent
covered where youll be writing the
code that will be required for our game.
Thats because we dont actually write
it inside of Unity. When you run the
installer for Unity, another program,
MonoDevelop, will also be installed.
MonoDevelop is an open source
integrated development environment
for Linux, OS X and Windows. The
| UNITY
Our games
main character,
Astro Dude!
JARGON
BUSTER
We havent covered
writing the code here
because we dont
actually write it
inside of Unity
Youre going to
see a lot of talk
about scenes in
this series on
Unity. A scene is
essentially a level
in a game.
GameObjects
can be added to,
and positioned
in the scene and
then displayed
by the camera.
Need to display a
new area? Show
a new scene.
WorldMags.net
| 55
WorldMags.net
IT WILL TAKE
60 minutes
YOULL NEED
Unity
The import dialogue window shows all the files well be importing with the Unity package.
for a name. Give it the name Scenes and
then press Return. Now that we have a
folder to store our scene, we can save
the current one. Click File > Save Scene
and then double-click the Scenes folder
you just created, which should be visible
within the Save dialogue (you might
need to press the down arrow next to
the name to expand the folder selection
options). Name the scene GameScreen.
Prefabs can be
placed into any
number of scenes,
multiple times per
individual scene
The name of the scene is important:
its what youll use when you want to
display it, and needs to be descriptive
enough that when you have multiple
scenes in your project you can identify
what each scene is without having to
load it up to check. Were going to have
only two scenes in our project, but its a
good idea to try to get into good habits
from the outset. Were going to create
the game scene first and add the title
screen in after weve got the game
working as it should.
56 |
WorldMags.net
Build a game
WorldMags.net
| UNITY
These are all the prefabs you should have after importing our Unity package file (see step 1 on the left).
3 Shaders
Click the MoonReflection skybox to reveal six images that get mapped to a cube.
QUICK
TIP
Shaders sound
complex, but
Unity ships with
around 80 of
them, so chances
are you ll never
need to think
about writing
your own. If
Unity doesn t
offer the shader
you need, take
a trip to Unity s
Asset Store to
find one that
does the job.
4 Skyboxes
WorldMags.net
| 57
WorldMags.net
IT WILL TAKE
2 hours
YOULL NEED
Unity
This is what the code you enter at the top of your Sokoban.cs file should look like
a variable in C# is specifying whether
its public or private, then the type of
variable it is (an integer, for example)
and then the variable name.
Our level data is going to be stored in
an array (see the box on the far right for
more info) not just any array but a 3D
array. This shouldnt be confused with
58 |
WorldMags.net
Create a level
WorldMags.net
| UNITY
The Inspector panel should look like this once youve added your script.
The BuildLevel() function this section of code will enable us to build our game levels.
3 Instantiation of Prefabs
JARGON
BUSTER
An array is data
structure that
stores a
collection of
values of the
same type.
Arrays are useful
because instead
of having to
separately store
related data
in different
variables you can
store them as a
collection in just
one variable.
WorldMags.net
| 59
WorldMags.net
BEFORE
AFTER
IT WILL TAKE
30 minutes
YOULL NEED
Unity
60 |
STARTING IMAGE
WorldMags.net
Adding textures
WorldMags.net
| UNITY
1 The Crate
2 The Floor
4 The Player
5 The Wall
position
6 Camera
and colour
3 The Goal
FINAL
IMAGE
7 Ambient light
WorldMags.net
| 61
WorldMags.net
IT WILL TAKE
90 minutes
YOULL NEED
Unity
This is our new character much more fun than that cube guy, eh?
the player is created and place its feet
on the floor. While were here, well make
another change, too. Just below the line
thePlayer.name = "Player"; add:
int pRow;
int pCol;
bool isPlayerMoving;
pRow = i;
bool isPlayerRotating;
pCol = j;
int rotationSpeed;
The Update() function is called once every frame, so the game will be constantly checking if the player is trying to move.
62 |
WorldMags.net
int movingSteps;
int tRow;
int tCol;
Animation thePlayerAnimation;
Add a character
WorldMags.net
| UNITY
1 The variables
3 Moving forwards
This is what your project should look like by the end of this instalment.
JARGON
BUSTER
There are many
types that a
variable can be
but the ones
well be using
most are ints,
which are whole
numbers; floats,
which are
numbers that
can have a
decimal point;
and bools,
which represent
a value of either
true or false.
4 Turning around
WorldMags.net
| 63
WorldMags.net
THE CLOUD
COMPUTING MANUAL
iPAD MINI:
YOUR COMPANION MANUAL
WorldMags.net
WorldMags.net
ON SALE NOW!
DELIVERED
DIRECT
TO
YOUR
DOOR
ORDER ONLINE AT WWW.MYFAVOURITEMAGAZINES.CO.UK
FIND US IN YOUR NEAREST SUPERMARKET,
NEWSAGENT OR BOOKSTORE!
RASPBERRY PI
MADE EASY
WorldMags.net
WorldMags.net
IT WILL TAKE
90 minutes
YOULL NEED
Unity
66 |
By the end of this instalment well be able to complete our level... if you can solve it.
GameObjects currently in the scene
and find the first one with this name.
The function to enable this is called
Find(). Its an expensive call (in terms
of processor resources) to make, so we
need to store the result, meaning that
we dont need to call it every time we
need to target the characters animation
component. Inside the Start() function
and below the BuildLevel() call add the
following code:
thePlayerAnimation = GameObject.
Find("playerAnimated").animation;
thePlayerAnimation.Play("idle");
WorldMags.net
Adding movement
WorldMags.net
| UNITY
Much smaller this time round, this function turns our player.
This function will deal with moving our character and crates from one part of the level to another.
3 Array modification
Once the player has moved from one tile to the next,
we need to update our level array to reflect the changes.
Thats done with the following lines:
levels[currentLevel][pRow + tRow][pCol + tCol] += 4;
levels[currentLevel][pRow][pCol] -= 4;
JARGON
BUSTER
Every object in a
scene has a
Transform. Its
used to store
and manipulate
the position,
rotation and
scale of the
object. By calling
the Translate()
function that
belongs to the
Transform you
can increment
the position of
the GameObject.
The first line updates the tile we moved to and the second
line updates the tile we have moved from. We add or remove
4 from the value that is already there (0 for floor, and so on)
rather than just overwriting the value, because that way we
know if the player is on a goal tile or not.
After that, the movingCrate string is checked for a value
and, if we have one, the same logic that was applied to the
player position above is applied to the crate position. The
crate instance is then renamed to reflect the tile it now
resides on and the movingCrate variable is reset.
Finally the variables that represent where our character is
positioned in the array, pRow and pCol, are updated.
WorldMags.net
| 67
WorldMags.net
IT WILL TAKE
60 minutes
YOULL NEED
Unity
By the end of this part, your game will be playable from beginning to end.
68 |
Click File > New Scene. Save that new scene into your
Scenes folder and call it TitleScreen. Click your Scenes folder
in the Projects tab. Now click File > Build Settings. Drag
TitleScreen to the Scenes In Build area in this new window,
then drag the GameScreen scene over. Close the window.
WorldMags.net
Adding details
WorldMags.net
| UNITY
INGAME
OPTIONS
Currently we
restart the game
with a press of
the R key. This
could be
changed to a
button on the
screen or added
inside a pause
menu. Once this
project is
complete it
would be a
good idea to
revisit it and try
to make some
changes.
JARGON
BUSTER
WorldMags.net
| 69
WorldMags.net
BEFORE
AFTER
IT WILL TAKE
40 minutes
YOULL NEED
Unity
70 |
STARTING IMAGE
WorldMags.net
| UNITY
3 Update Update()
4 PositionCamera()
5 Acquiring a target
6 LerpAngle()
FINAL
IMAGE
7 LookAt()
WorldMags.net
| 71
WorldMags.net
IT WILL TAKE
40 minutes
YOULL NEED
Unity
We just need to add stars and sounds and then our game will be complete.
Were using a prefab for the starry
sphere, because getting the sphere to
show textures on the inside requires
code that goes beyond the level of this
tutorial. The process will be explained,
but the code will not be shown. It will,
however, be fully commented in the
72 |
WorldMags.net
| UNITY
if its not there, you can add one by clicking Component >
Audio > Audio Listener.
if (levels[currentLevel][pRow + 2 * tRow]
[pCol + 2 * tCol] == 5) {
audio.Play();
}
WorldMags.net
| 73
WorldMags.net
IT WILL TAKE
30 minutes
YOULL NEED
Unity
This is how well break down the touch input into forward, left and right controls.
three sections and setting everything up
so that tapping in the left-hand section
turns you left, the centre section goes
forwards and the right-hand section
turns right. You can see how the
sections will be broken up in the
screenshot above.
74 |
WorldMags.net
our
3 Adjusting
movement check
Edit your Sokoban script file and go to the
CheckIfPlayerIsAttemptingToMove()
function. We havent created the touchdetection function yet, but we can still add
the calls. Check for key input in three places:
KeyCode.UpArrow, KeyCode.LeftArrow and
KeyCode.RightArrow. Make those three
instances look like they do above.
Going mobile
WorldMags.net
| UNITY
The function
Touches
iOS devices are capable of tracking multiple fingers
touching the screen simultaneously. You can access
data on the status of each finger touching the screen by
accessing the Input.touches property array. In our function,
we always get the value of the first finger touching the
screen and perform the checks on that.
2
WorldMags.net
TAKING IT FURTHER
This is just the start of what Unity can do
its a full game development engine,
after all. If youd like to read about further
steps in this particular project, the author
has written a book, Ouya Unity Game
Development. It covers the same project
as here but in more detail, and also covers
setting up Unity to work with the Ouya
Android games console. Otherwise, there
are lots of great tutorials to find online,
and feel free to ask the author,
Gary Riches, any questions on Twitter:
@Gary_BBGames
| 75
WorldMags.net
76 |
WorldMags.net
Design
and test to
perfection
Making a truly great app is about much
more than code. Getting the details
right will make for very happy users
he saying measure twice, cut once applies to creating apps
as much as to anything else if you perfect your planning
and procedures, youll make fantastic apps, regardless of
how good your code is. Well show you how to plan your
app before you start creating it, how to think about the user experience
every step of the way, and how to really test your app, to make sure it
works perfectly for your users. Well also look at getting all the details
right, so your app gets onto the App Store smoothly and finds its users.
78
82
84
90
94
100
106
112
114
120
126
132
WorldMags.net
| 77
WorldMags.net
78 |
WorldMags.net
Think it through
If you offer In-App Purchases, then you
also need to consider how the store is
going to work. For instance, are users
simply going to receive a prompt to
purchase something using the standard
system alert, or are you going to put
time into designing screens to ease
them into the purchase slowly? Can
your users share content from within
the app using AirDrop, Twitter, Facebook
or some other third-party service? Think
about where that functionality would fit
best within the design of your app and
how people are going to access it.
Once you have thought about the
individual components of your app its
Flat or wide?
You may have noticed in the iOS Human
Interface Guidelines that Apple often
suggests flattening the information
hierarchy inside apps. This is never more
relevant than when designing an iPad
app as opposed to an iPhone one. There
is no shame in taking inspiration from
WorldMags.net
| 79
WorldMags.net
High fidelity
At this point, you should start to think
about the specifics of how different
parts of your application look. Are you
going to choose a standard iOS 7 look
and feel for your app, or will you go for
something more custom? Whatever
your choice, now is the time to build
mock-ups that look more like the final
product. If you struggle to get that
high-fidelity look then consider using
one of the many template documents
available, such as one from Teehan & Lax
(teehanlax.com/tools), which will help
you get that polished look and feel
without having to draw everything
from scratch yourself.
Its vitally important to test your
designs on real devices. Most, if not all,
of the handheld devices in use today
have double-density Retina screens,
whereas most of our desktop screens
80 |
Sites such as Teehan & Lax are great for ready-made resources.
WorldMags.net
On the move
Animation can also be useful for
educating the user for example, you
could show where information is being
moved around your app by animating it,
clarifying the actions that the app is
taking. Its also important to maintain
context during screen transitions
look at the consistent red circle when
navigating through the standard iOS
Calendar app.
The issue with the tools weve looked
at so far is that they build static screens.
Consider using something like Origami
(facebook.github.io/origami) or Adobe
After Effects (adobe.com) to build
animated or even interactive prototypes
at this stage.
If you consider all of the points
mentioned here and pull everything
together into pencil and paper sketches,
static or even interactive or animated
prototypes, it will force you to really
dig into your idea. Then, when you
come to either write code yourself or
hire a developer to write it for you,
magical things will happen and you
will find yourself with a more usable,
well-structured app, with the difficult
problems solved before you get
wrapped up in the implementation.
Prototype on Paper
Briefs
giveabrief.com, 139.99
If youre looking for something to show a client,
a pencil sketch might not be quite what you
need to blow them away. Briefs enables you to
import high-fidelity mock-up images, then
define hotspots, connections and animations.
Finally, connect your iOS device and install the
companion app for single-click deployment of
your prototype to real devices.
Fluid UI
Adobe Photoshop
fluidui.com,
from free
Fluid is a
web-based
prototyping
tool that
enables
individual
components
of mobile user
interfaces to be dragged and dropped to make interactive
prototypes that can also be viewed live on a device by sharing a
link to your finished prototype. Prototypes can be made using a
wireframe style or be made to look native with iOS 6/7 styles
that can be applied.
photoshop.com,
from 17.58 per
month
Photoshop is
the king when
it comes to
producing highfidelity artwork
mock-ups. It
may have
originally been designed for use by photographers, but it also
has all the features you need to produce beautiful, pixel-perfect
iOS mock-ups (as well as final artwork and design elements, of
course), and is the industry standard if youre working with
other designers and developers on your project.
WorldMags.net
| 81
WorldMags.net
2 Identify who
the product is
Thinkstock
82 |
WorldMags.net
Usually there are far more features we want to add to an app than is possible for a first
release, so prioritisation is important. Normally the most important factors are business
goals, technical feasibility and the needs of the user in a given timeline before launch.
The term MVP (Minimum Viable Product) is used to identify the very minimum feature
set with which its acceptable to launch your app. It is a wonderful thing to narrow the
focus of your app. Anything beyond that bare minimum can be worked into your future
plans, and reworked as needed after you get feedback from real users.
7 Involve
stakeholders
9 Flows and
wireframes
8 Check your
mindset
Its likely youre now ready to do the
visual design and development stages
on your app. Whether you are a solo
creator on a product or working as part
of a team, the UX mindset must be the
leading spirit through every stage. UX
threads the very best projects together
from beginning to end and beyond.
What would your users do? Let that be
your guiding light.
WorldMags.net
| 83
WorldMags.net
A journey of invention
Touch Press reveals the secrets behind its interactive science book
TOUCH
PRESS
Founded in 2010,
Touch Press aims
to create new
kinds of books
that reinvent the
reading
experience. The
companys titles,
crafted by a
team with
diverse skills, are
infused with rich
media.
84 |
A collaboration between
The Science Museum and
Touch Press, Journeys of
Invention tells the story
of science: 83 hand-picked objects are
woven into 13 distinct journeys, such
as Minds & Machines and Industrial
Adventures. Right from the initial
meetings, it was clear no app could
hope to comprehensively cover The
Science Museums vast collection.
We therefore centred on choosing
interesting objects that would be cool
in an app and representative of the
branches of science we were exploring,
says Fiona Barclay, Touch Press Senior
Producer and Editor.
Logistics were an ongoing challenge.
The objects ranged from handheld
WorldMags.net
Dont be afraid to
make changes if
something isnt
working You just
cant be precious
and for that we created a custom app
on the Mac to apply points of interest.
A looming hard deadline a launch
event at The Science Museum
eventually saw efforts largely switch
from iteration to optimisation The
interface on this app is particularly
Sound design
Audio is a major component of Journeys of Invention, right from
the very first screen, but in a much more integrated way than audio
files you tap to hear. By default its muted, but press the speaker
button and then zoom in using the usual iOS gesture. As you get
closer to the objects, youll begin to hear some of the sounds they
make, says Alan Martyn, Assistant Producer and sound guru. We
thought it would be nice to give the effect that you can hear the
objects as you pass them it makes everything seem more alive.
Naturally, there were limitations, in that Touch Press couldnt just
nip out and record a real Stevensons Rocket, or a bomb going off,
but soundscapes within the app merge found and created audio.
For the Apollo 10 Command Module, we mixed NASA archive
recordings with other sounds, to provide an idea of what it might
have sounded like had you been inside, says Martyn. Elsewhere,
there are real sounds from a VCS3 synthesiser and a Sno-Cat, but I
made the audio myself for the Cybernetic Tortoise from recordings
of little electronic motors and solenoids.
Martyn says that although such creative licence is necessary
if theres no existing recording of an object, searches can pay
dividends. With the microwave oven on the first screen, we found
an enthusiast microwave collector in the USA who had a working
When you zoom in on objects like this synthesiser, they start making noise.
example of that particular model. So we have a real recording of
the actual microwave thats shown in the app!
WorldMags.net
| 85
WorldMags.net
Quick access
Follow a path
Its alive!
Fast filtering
Zooming in
An alternative
2
approach to the app
is more exploratory
Journeys intersect,
showcasing the links of
scientific achievement.
You can leave one path
and join another.
Instead of being
3
static, like a book,
Journeys of Inventions
main screen is full of subtle
animation. Pulses indicate
the direction of journeys,
and items spin to show
they can be tapped.
Although initially
4
muted, the main
screen has audio, activated
by tapping the volume
button. When sound is on,
you hear how each object
sounds, and they get
louder as you get closer.
Journeys of
Invention
Sept
2011
A collaboration between
the Science Museum and
Touch Press, this apps
own journey from initial
spark to final product
took just over two years
Andrew Nahum,
Senior Keeper at
The Science
Museum, calls
Touch Press to
talk about apps.
86 |
Nov
2011
Touch Press and
Science Museum
staff have their
first meeting,
to discuss
collaboration.
Jul
2012
Design and
planning of what
will become
Journeys of
Invention begins
in earnest.
WorldMags.net
Sept
2012
Test shoots begin
on some of the
huge objects that
might be featured
in the app.
Jan
2013
Heads of
agreement are
signed, to identify
the requirements
of both parties in
the project.
Jun
2013
Touch Press works
on photography
and video footage
relating to rotating
objects.
Jul
2013
A full-day shoot
of the Apollo 10
Command
Module, to create
a 360-degree
panorama.
Nov
2013
The beta version
of Journeys of
Invention is
circulated, to
more widely test
UX and content.
Dec
2013
The completed
app is submitted
to Apple, after
several weeks of
polishing and
tweaks.
Dec
2013
The app is
released,
coinciding with
a launch event
at the Science
Museum IMAX.
WorldMags.net
| 87
WorldMags.net
When working on
the network image
(prototype depicted),
Matt Aitken visited the
London Transport
Museum to examine
how historical transport
maps evolved: We were
considering curved
rather than straight
lines. Academic papers
on schematic design
favoured straight
pathways and leading
the eye by omitting
90-degree angles.
88 |
WorldMags.net
One thing Touch Press iterated on a lot in this app and something
that wasnt entirely fixed until late on was how to navigate from
an object to one of several pathways. In this prototype, you see
several smallish links, echoing directions from the main network
screen, but they arent clear out of context.
WorldMags.net
If youre
considering
making your
own interactive
book, the main
tip from Touch
Press is to keep
things simple.
That might
sound crazy,
given how
ambitious our
projects are, but
we actually
dismiss loads
of ideas,
says Aitken.
In early
meetings, well
force ourselves
to quickly
narrow things
down to core
concepts, focus
on content,
and not get too
excited about
crazy interfaces.
Everything
should fall out
of great content.
Barclay adds
that you should
also get used
to being
efficient and
tidy regarding
document
structures and
file naming.
In one early
project we
worked on, files
were named
quite arbitrarily,
and when I was
later trying to
find certain
pictures, it was
enough to drive
me crackers. So
be rigorously
organised, or
your projects
development
will be
inefficient,
costing you time
and money.
| 89
WorldMags.net
90 |
WorldMags.net
Seek perfection
WorldMags.net
| 91
WorldMags.net
Photoshop Elements
At just 69, Adobes pared-down image editor
is a great way to create app icons. However,
because it is predominantly a photo editor, it can
be limited. Using Elements in Expert mode is the
closest youll get to full Photoshop, but some of
the tools work a little differently. The most useful
tool for creating icons is the Custom Shape tool,
which is like Paths in full Photoshop. These let
you create hard-edged vector shapes, perfect for
iOS 7 icons, but they rely on default options such
as circles and squares, or the odd custom shape
like a heart or arrow. You cannot draw your own
Custom shapes, and once youve created a shape
you cant edit it youll need the full version of
Photoshop for real tinkering. Another feature
of iOS 7 icons is gradients, which is possible in
Susan Kare:
icon creator
Elements, though not always easy. The gradient
tool works only on rasterised images meaning
that shapes must be simplified (converted from
vector lines to rasterised pixels). You can get
around this using the clipping mask, which will
pull the path info in your shape layer through to
a new layer with the gradient placed above it.
Pixelmator
Pixelmator is a much more specialised imagecreation tool than Photoshop Elements and is
packed full of tools for creating icons. At 21,
its a bargain. Its Pen tool enables you to create
fantastic vector images for your icons in the
same way you would in high-end apps such as
Photoshop and Illustrator. As well as a traditional
Pen tool for drawing points and curves, there is
also a freehand pen tool for creating your own
shapes, and a grid for increased accuracy. Shapes
can be edited after theyve been created, and
you can add gradients and strokes to the paths
you create. You can even edit the direction of the
gradient using an on-screen gradient transform
tool. Boxes can have rounded corners and be
GIMP
If you want to create icons on a real budget, your
best option is GIMP, the free open-source image
editing package. Packed full of familiar high-end
image editing tools, all with highly customisable
options, it is incredibly feature rich; however, it
lacks much of the familiarity of other imageediting packages. It can prove quite tricky to get
used to working in it especially if youre familiar
with other packages, since many of the keyboard
shortcuts are different.
Like Pixelmator, GIMP has a powerful pen tool
for creating hard-edged, editable paths. With
freehand and polygonal pen drawing options,
these are perfect for creating icons. However,
unlike in Pixelmator, you can use paths only to
create images with; you cant create editable and
colourable shapes themselves. You can fill an
92 |
WorldMags.net
WorldMags.net
iPhone
Beyond the manual
NEW
For owners of
all iPhones
with iOS 7
Discover how to
customise your iPhone
and t weak functions
Your iPhone comes packed
with brilliant apps the
best of any smartphone
The 4-inch Retina
display makes t ype
incredibly clear
www.myfavouritemagazines.co.uk/computer
WorldMags.net
WorldMags.net
94 |
Starting to build
Ian Knapp is a self-taught coder. He
started out making websites, and
moved on to Flash. From there, he
WorldMags.net
A business brain
Transforming an original idea into a fully
functioning app might feel like the end
of the story, but now you need to start
thinking about pricing and marketing
to turn it into a business. Get either of
these wrong and your app may well
languish in the App Store, undiscovered,
unloved and unused.
Pricing apps is notoriously difficult.
Pitch it too high and customers will be
put off. Conversely, make an app too
cheap and punters might think its an
inferior product and pass it by. Knapp
tells us: Peoples perception of value
is vastly different for apps than for, say,
books or DVDs. Whilst many parents will
happily pay 10 for a textbook to help
their child learn their times tables,
they would view a 3 app as being
expensive, even if it was repeatedly
used for months on end with great
results. Weve tried to stick to a price
point between 0.69 and 1.99, making
our apps affordable to everyone.
Free apps that generate revenue
for their makers through carrying
advertising or offering in-game
purchases are, of course, very popular.
They get around the thorny issue of
pricing your app correctly and also have
the great perceived allure of being free
WorldMags.net
| 95
WorldMags.net
2
1
Be bold
A bold colour scheme
1 and minimal text
simplifies the navigation
process for children.
Friendly
typography
Where text is used
2
it is large, bold
and well spaced to allow
children to read it easily.
Squeebles:
the story
Ian and Florence Knapp,
the husband and wife
team behind KeyStageFun, have worked hard
to make their apps a
success
96 |
In the numbers
Start a collection
Little fingers
Large interaction
points are helpful
for younger children whose
fine motor skills are still
developing.
Jan
2010
Have the idea for
Squeebles while
trying to come up
with a fun way to
help daughter
learn times tables.
Feb
2010
After some initial
sketches, begin
developing the
app for iOS in
the evenings
after work.
Apr
2010
Finish and release.
Apple features the
app and it reaches
top spot in the
Australian
education charts.
WorldMags.net
Sept
2011
Ian Knapp leaves
his full time job to
concentrate on
Squeebles. Begin
using Corona SDK
for development.
Feb
2012
After featuring
in national
newspapers, and
on BBC Radio,
downloads
increase.
Nov
2012
Squeebles Times
Tables reaches
No 1 in Apples UK
education charts.
Further Squeebles
apps are released.
Jan
2013
Squeebles apps
released for
Android and
Kindle Fire.
Squeebles blog
is started up.
Jun
2013
Squeebles
Times Tables 2 is
released; receives
positive reviews
from customers
and press.
Sept
2013
KeyStageFun
launches a
competition
where young fans
can design their
own Squeeble.
Feb
2014
Squeebles apps
featured by
Amazon. In 12
months, number
of downloads
has tripled.
WorldMags.net
| 97
WorldMags.net
98 |
WorldMags.net
Textmate
Squeebles was
made using
Textmate
for Mac.
macromates.
com
Alongside the concept of gamification to
engage kids, Squeebles makers also
understand that kids are revolting, and
love to be revolted! Here we can peep
inside a Squeebles head a see its horrible
internal workings. Such hidden features
add layers to keep kids absorbed. Its a
masterclass in understanding your user!
WorldMags.net
Appfigures
Appfigures tracks
your downloads
and sales as well
as real-time app
store rankings
for iOS, Amazon
and Google.
appfigures.com
Soundrangers
Soundrangers
provides a great
source of lowcost sound
effects/music.
soundrangers.
com
| 99
WorldMags.net
Testing to perfection
Its important and easy to iron out bugs in your code
esting is the art, and the
science, of making sure
your app is as good as it
can be. Its one thing to
get it working, but another to get it
working well, and if youre charging for
it, users will expect it to be near-perfect.
There are two key elements to testing:
making sure your app is free from code
bugs, and making sure your app is free
from UX bugs.
Bugs in your code are inevitable.
Aircraft manufacturers go to
extraordinary lengths to develop
software without bugs, but even they
WorldMags.net
Testing your app means you can fix any big problems before your users see it.
WorldMags.net
| 101
WorldMags.net
Unit testing
102 |
WorldMags.net
Interface testing
Lets say youre building an app that
needs the user to log in with an email
address and password. You want to test
that the next screen shows correctly
after a successful login. How could you
do that? One option is to fire up the
Simulator and repeatedly type in details
yourself or do the same thing on a
device. But that can be slow and
tedious, and frankly theres always the
risk when building apps that if testing
something is slow or difficult, you tend
not to bother.
Fortunately there are some tools that
can help. With interface testing, the clue
is in the name. Its about ensuring that
all the visual elements of your app work
together. You can think of interface
testing as a pair of robotic hands that
can manipulate your app to run tests
over and over again. These can tap, type,
and swipe around the user interface,
and then test the results. Apple provides
a tool called UI Automation, which ships
as part of the Xcode suite. You test your
app by writing small scripts in JavaScript
to accesses individual controls in the
user interface. Each control sits in a
hierarchy of views so you could point
to a login button by referring to it as the
first button in the main window of the
front-most app on the Simulator. Once
youve found the button, you can tap it
in code and test the results in a very
similar way to unit testing.
Another option is an open-source
project called Frank. This finds controls
by looking for their properties. Its a bit
like CSS, but instead of HTML you can
Google Analytics
Leanplum
Zendesk
Integration testing
Integration testing pulls both unit tests
and interface tests together to make
sure that changes in one part of the app
dont cause problems somewhere else.
For example, you might change the
QA testing
Quality assurance tests are the final
piece of the testing jigsaw. Theyre
about checking the polish of your app
before launching. Unit and integration
tests will help to take care of the quality
WorldMags.net
| 103
WorldMags.net
104 |
WorldMags.net
LeanPlum enables you to implement and track A/B testing in your apps, for advanced testing.
anonymise data if youre concerned
about this), but it can be hugely useful.
A/B testing
Knowing what your users are doing
is helpful, but what if you need to
decide which way of implementing a
feature is most effective? A/B testing is
a technique widely used in the web
world. By building your site with two
Apptentive (www.apptentive.
com) make it very easy you
can integrate their feedback
modules with a couple of lines
of code. Reports are collected
on the services website and
give you a way to track whats
going on.
Outside of the app, its also
important to engage with users
on social media channels. You
can set up Google searches to
spot any mention of your apps,
and try to get a catchy Twitter
handle to complement the
name of your app itself. If users
are mentioning your app in
frustration, replying with a
friendly tweet and attempting
to solve their problem can turn
a potentially negative situation
into a positive one.
If youre using social media
such as Twitter and Facebook,
then tools such as Zendesk can
WorldMags.net
| 105
WorldMags.net
106 |
WorldMags.net
A technical mountain
Our app is a hybrid, Jones tells us. This
means that there is a native framework
controlling web views containing our
mobile website content. This gives
us the flexibility to make constant
improvements without spamming the
The app also offers casino style games, like Roulette and Blackjack.
your web experience will behave differently, and expect a different
experience, when using a touch-enabled device. Dont try to corral
users into behaviour; theyll always find their own and often
unexpected way of achieving an outcome.
WorldMags.net
| 107
WorldMags.net
1
3
Different screens
Accounts
Different events
Listen to radio
Popular features
A large menu
Additional gaming
products, such as
William Hill Roulette,
are also available via the
app. The app raises these
extras to the surface layer
so customers can discover
them easily.
William
Hill app
William Hill initially
offered a desktop-based
site; the William Hill app
story began in 2011, and
the firm has continued to
develop the product
108 |
Aug
2011
The company
begins to develop
its William Hill
native app for
Apples mobile
operating system.
Feb
2012
A team of around
eight people work
for six months to
produce the first
incarnation of the
William Hill app.
Apr
2012
William Hill listens
to customers
feedback and
begins developing
improvements to
the mobile app.
WorldMags.net
Dec
2012
William Hill
launches an iPad
version of the app.
This necessitates
a complete
redesign.
Jun
2013
The app hits one
million downloads,
and is featured in
the App Store
Sports category.
Feedback has been really important to the team. Customers are expecting
more and more from their apps, and development teams need to monitor this.
Be prepared to act on criticisms that may appear in reviews of your app
Jul
2012
Sept
2013
Nov
2013
Dec
2013
To ensure parity
between desktop
and app, advanced
payment options
are built into the
mobile app.
Feb
2014
The William Hill
app is now on
course to achieve
1.5m downloads.
WorldMags.net
| 109
WorldMags.net
110 |
WorldMags.net
If a user has placed a qualifying bet, they will be able to view a live
stream of selected races to see how their horse runs, which is especially
useful for customers on the move. Customers can see a list of the events
they have qualified for on one page, as well as other races that the
William Hill app offers the service on.
Designing to
keep your users
happy This is
tricky! Creative
Bloq details 20 of
the biggest UX
crimes at http://
bit.ly/1bRqkQE
Dont be scared
to prototype
There are some
fantastic tools for
prototyping.
Ben Jones says
he had plenty of
ideas on paper
that simply
couldnt be
transposed to a
mobile device.
Playing around
with ideas before
dev starts will
save time and
give you a more
customer-centric
product.
Designing with
new tools is
hard Theres
a lot of pressure
on designers
to abandon
Photoshop
when making
sites and apps.
Designer Sarah
Parmenter shares
her frustrations
about moving
away from paper
and Photoshop
at http://bit.ly/
1iVipqw
WorldMags.net
| 111
WorldMags.net
112 |
WorldMags.net
Coming up with
your apps USPs
Coming up with a unique selling
proposition, or USP, can make or break
your app. Heres the secret: the USP is
not about being the best at anything
its about being different. Its likely that the
customer will have a tough time deciding
between your app and others on the
market. All your hard work creating
compelling icons, screens and descriptions
will still leave a customer choosing
between you and somebody else.
The Things app is a great example
of hammering home a USP. There are
hundreds of task managers on the iPhone,
but Things focuses like a laser on telling
you how simple it is to use. Just about
every line in its description has the word
WorldMags.net
| 113
WorldMags.net
IT WILL TAKE
7-14 days
YOULL NEED
Computer, internet
access, Apple ID, bank
details, IRS Form SS-4
and fax machine
114 |
iTunes Connect
requires you to deal
with the IRS before
you even begin
submitting an app
WorldMags.net
Manage Users
You need to add users (even if its just
yourself) to iTunes Connect. You need
to fill roles of Admin and Legal, and on larger
projects you can also add Technical, Finance,
Sales and Marketing roles, if you like.
3
QUICK
TIP
Get an EIN from the IRS by filling out this SS-4 form and calling the IRS telephone line.
are based. Without your nine-digit EIN
you cannot upload an app.
To get an EIN, you must fill in a form
snappily called SS-4 (http://www.irs.gov/
pub/irs-pdf/fss4.pdf ) and pass it on to
the IRS. Unfortunately, you cannot fill in
the form online, and in our experience if
you fax it to the IRS it takes a long time
to be processed. The best way to get
your EIN is to fill in the form, so you
have all the details ready, and ring the
WorldMags.net
Your
International
Bank Account
number (IBAN) is
the same as your
normal account
number, with
the addition of
a few extra
characters. You
might find it on
your bank
statements; if
not, your bank
will be able to
supply it.
| 115
WorldMags.net
QUICK
TIP
Keywords are
words that
people will
typically use
when searching
for an app. You
should ensure
your App Title
and App
Description field
contain relevant
keywords, so
people find your
app easily.
116 |
WorldMags.net
JARGON
BUSTER
You now need to fill in the App Information field. This is the most
detailed form by far, with multiple sections that must be completed. It
includes Version Information, Metadata, Contact Information, EULA (End
User License Agreement) and Uploads (app icons and screenshots). The
App Description alone can be up to 4,000 characters, so its usually best
to create most of this information in advance and just paste it in. See the
walkthrough overleaf for a complete breakdown of everything youll have
to enter in this section.
SKU
The Stock
Keeping Unit is
a unique code
attached to your
app. You can pick
any combination
of letters and
numbers, but as
a general rule its
not a good idea
to start an SKU
with a 0 because
this can get
removed in
some databases.
When you have finally finished entering all the information about
your new app, click Manage Your Apps > View Details and Ready to
Upload Binary. Answer the Export Compliance questions regarding
cryptography (usually no, unless you know otherwise) and click Save.
Switch to Application Loader and click Deliver Your App. Now click Choose
and select Next. Review the Application Information and click Choose.
Now use Finder to locate the application bundle (usually a ZIP containing
the app files) and click Send.
WorldMags.net
| 117
WorldMags.net
The App Summary screen shows the App Metadata and Uploads (icon and
screenshots) for your app.
118 |
The Contracts, Tax and Banking screen has to be filled in thoroughly before you can begin to submit apps.
a person at Apple can simply say No
and all that time, effort and money will
be wasted.
The good news is that although
Apple individually vets each app, and
frequently rejects apps, its usually
up-front about the reasons why. So if
you fix the problem and resupply the
app its likely to be approved.
Apple will reject apps that are substandard from a developer perspective,
but by far the biggest reason your app
will be rejected will be the iTunes
Connect supporting material. Here are
some things to watch out for: make sure
that the icon in your app matches the
one you are supplying to the App Store;
dont use the word beta or imply that
your app is a work in progress; avoid
mentioning Android or any other
platform; be sure to name your app
consistently at all times; keywords
must relate to the app, so a photo
app can have image, crop, edit as
keywords, but Apple will block it if it
has games or babe. You also cant
mention competitors, so dont say in
your description Like Adobe Photoshop,
but free! or use keywords like Adobe
and Photoshop.
Apple also doesnt like anyone
putting pricing indications in the
marketing blurb or icon. This is because
Apple can change the pricing tiers at
any time, and your app will then be mismatched. (If youre ever having a sale or
similar and want to mention price, use a
percentage amount instead.)
You will also need to design an icon
and take screenshots to go with your
app store submission. The App Icon
WorldMags.net
1 Version number
6 Contact information
7 Review notes/demo
WorldMags.net
QUICK TIP
Dont use the word beta or imply that your
app is a work in progress at any point in
the app description or in screenshots.
Apple rejects any apps that arent
completely finished, or claim not to be.
8 Uploads
| 119
WorldMags.net
120 |
WorldMags.net
Stripping back
Alongside these developments, the
games visuals were streamlined to
become simple vector shapes, and the
lanes were joined in a circle, forming a
tunnel. The blue energy strips were
repurposed to become the scoring
mechanism, and multiple levels were
designed with distinct patterns.
All of a sudden, it all came together,
says Ian, adding that along the way the
discovery of the Higgs boson led to a
change in theme, that of the professorin-a-particle-accelerator.
For Ian, stripping back the game from
a visual standpoint was a big success,
matching the gameplays newfound
elegance with a purer visual style.
Colour became vital.
We took out the effects and textures
and, as we reduced detail, the choice of
solid colours became more important.
[The idea of ] making each levels
Power-ups were
ditched in favour of
more challenge and
variations in the levels;
speed became key
The more energy you collect, the
faster you go, which he says turned
Boson X into an interesting high-score
game: The faster you move, the less
score you can get from a blue platform.
Theres therefore probably a limit to the
Taking control
The cornerstone of any twitch game is responsive, intuitive
controls. Boson Xs system is unconventional, with you tapping
a side of the screen to jump left or right, tapping both sides of
the screen to jump ahead, and touching-and-holding in either
case to hang in the air.
For a long time, the screen was divided into three zones, with
the middle one used for jumping straight ahead, but it was too
easy to hit the wrong zone, recalls Ian. But we definitely wanted
touch-and-hold controls because swipes would introduce delays
and make it hard to control hang-time.
The final control system evolved from attempts to enable the
user to correct mis-touches: We wanted to allow someone to,
say, correct an incorrect left jump to a straight jump, and so
added a small time window in which the user could press right
after jumping left, which would adjust their direction to straight
ahead. After introducing this system, we found it easy to jump
ahead by tapping left and right simultaneously, and so the middle
zone became redundant.
The adjustment allowance was retained and gives an otherwise
quite demanding game a more forgiving edge. It was necessary
because its hard to touch two sides of the screen at exactly the
same time, says Ian. You need a small time window where two
On your first run of Boson X, youre shown how to control the professor.
presses count as having happened at once, but you also need to
initiate jumps without delay. So we initiate the jump immediately,
and correct it if necessary!
WorldMags.net
| 121
WorldMags.net
Pause mode
Blue platforms
High score
Endless void
Elbow patches
Your progress in
3
a level is charted at
the top right of the screen.
When the percentage hits
100, theres a lurching
animation before
everything ramps up
to truly crazy speeds.
The path
of Boson X
Although a simple game,
Boson X went through
many changes on its road
to completion, in part
inspired by the release
of two other iOS titles.
122 |
Mar
2011
The initial idea
is formed and a
basic prototype
created.
May
2011
Animated sprites
are added to the
game, improving
its visual style.
May
2011
Jon takes time off
to get married.
Ian switches to
another game.
WorldMags.net
Aug
2011
Temple Runs
release results in
the duo rethinking
their game.
Nov
2011
Work resumes,
with various
gameplay
experiments
going round
in circles.
Sept
2012
Super Hexagons
release inspires
the duo to simplify
the game.
Sept
2012
Boson X is
exhibited at
Freeplay 2012.
Its platforms
now loop to
form a circle.
Oct
2012
The game
switches from
entirely procedural
paths to predesigned patterns.
Dec
2012
Work begins
on tweaking,
polishing, play
testing and
adding music.
Sept
2013
The iOS version is
released, following
a free online PC/
Mac version.
WorldMags.net
| 123
WorldMags.net
124 |
WorldMags.net
As level detail was reduced, the choice of solid colours became increasingly
important. It was decided that two colour palettes for each level added enough
variety without being too distracting for the player. The art direction also took
some inspiration from old science books from the 60s and 70s.
WorldMags.net
Part of the
development
process lies in
knowing when
to use an offthe-shelf
solution and
when to roll your
own. In the case
of Boson X, Ian
actually wrote
the engine
himself in C++.
Its freely
available under
a liberal opensource licence
and Ive used
it for at least
two other
games, he
says, adding
that he
avoided using
a proprietary
engine like Unity,
for a number
of reasons.
I didnt want to
be at the mercy
of other peoples
design decisions
or bugs. I also
felt doing my
own engine
could improve
our workflow.
For example,
with my engine
it was possible to
quickly deploy
changes to an
iOS device over
Wi-Fi without
having to rebuild
anything in
Xcode. In
particular, this
allowed Jon
to tweak
parameters
and graphics
and try new
level designs
without having
to set up a full
development
environment or
learn Xcode.
| 125
WorldMags.net
126 |
Ambitious, confident,
unique and determinedly
unorthodox, Device 6 plays
with the conventions of
games and literature, to the point that
describing it as a game doesnt seem
to cut it. Instead, its part spy thriller,
part immersive adventure, and part
interactive drama. Moreover, it is a story,
centring around the kidnapped Anna.
She finds herself awakening on an
island, with no memory of how she
got there. Your task is to make sense
of what she discovers.
This is no ordinary adventure. Words
on the screen become corridors and
pathways to travel along by swiping and
reorienting your device; within the text
itself and elsewhere are glimpses of
WorldMags.net
Working on a vibe
Flesser explains that as much as
anything, Simogos approach to
development often relies on an idea
about a vibe early on, rather than fully
fleshed-out concepts. A piece of work
Judging feedback
Simogos Year Walk, though lauded, had also come in
for criticism regarding its wilfully opaque and overtly
cryptic nature, and so we wondered how Device 6 was
playtested, and whether any amendments were made
due to user feedback.
We try not to base any decisions on other peoples
opinions. We prefer simply watching or hearing their
thoughts about puzzles and interactions, and then
to draw conclusions ourselves, reveals Flesser.
With a creation such as Device 6, he reckons certain
rules work well in ensuring a successful outcome: It
is important all the tools the player needs to solve a
problem are available. But it is also really important to
present clues and cipher keys in the right context, so
the player is not flooded with clues without any idea
as to what to use them on.
By way of example, Chapter 4 was revised
mechanically the players had all the keys, but the
keyholes werent presented in an understandable
manner. And for Chapter 1, text was revised when
Anna sees the picture of the orange, a very early
Clues in cryptic puzzle games must be understandable, but not too easy!
puzzle (A framed number in the room where red meets
yellow in a frame.): Originally, it was mentioned in an
unspectacular way, so we had to make sure players
paid attention by making the situation more odd. We
also removed any combinations of red and yellow from
that chapters art, because we found a lot of players
were looking for literal combinations of those colours.
WorldMags.net
| 127
WorldMags.net
The story
Arguably the most
1
important aspect
of Device 6 is its words,
and theyre very clearly
rendered, which Flesser
says at the time was
something of a battle
to achieve in Unity.
Device
orientation
Although iOS devices
2
can be oriented in
any direction, few games
take advantage of this. But
right from the off, Device 6
has you rotating your
screen to follow the story.
History of
Device 6
Its no surprise Simogo
was methodical when
creating this ambitious
project; what is a surprise
is that the entire game
took only seven months.
128 |
Video elements
Interaction
Beyond swiping,
4
the only direct
interaction in Device 6 is via
buttons attached to visions.
The stripped-back interface
ensures the game doesnt
block you only your
inability to solve puzzles.
Mar
2013
Initial discussions
about making a
story-based game,
possibly about
corporate brainwashing.
Mar
2013
Story outline
finalised during
a single day;
ending and device
documentation
written.
Hidden
components
Asides in the text
5
frequently appear,
often written in a lighter
grey. Some appear to be
Annas internal dialogue,
but perhaps this is insight
into whats going on
Graphic design
A sharp sense of
layout and colour is
infused throughout Device
6. Flesser was inspired
by 1960s spy shows, but
theres a certain intentional
ambiguity regarding when
Device 6 is set.
6
Apr
2013
May
2013
May
2013
Daniel Olsn
sends over the
first demo for
the main theme
used in the intro
sequence.
First version of
level/text editor
completed,
enabling layout/
tweaks as the
game runs.
Chapter one
completed.
It serves as a
prototype for
the remainder
of the game.
WorldMags.net
Jul
2013
Aug
2013
Aug
2013
Jonathan Eng
sends first acoustic
demo of the song
Anna. Simon and
Magnus are
floored.
Sept
2013
Polishing the
game; although
since bugs were
removed on
finding them,
few remained.
Oct
2013
The game was
submitted to
Apple and made
available for
release on 17
October 2013.
WorldMags.net
| 129
WorldMags.net
During development, it
became apparent that it
wouldnt be possible to
interact with puzzles
directly within the visions
windows, because they
were too small. This drove
the idea of using buttons,
which later tied into the
overall narrative. This simple
interaction is particularly
powerful at the titles
conclusion
130 |
WorldMags.net
WorldMags.net
Simon Flesser
recalls there was
plenty of debate
regarding
whether to use
the Unity game
engine for
Device 6: We
knew that text
rendering in
Unity was
well, it wasnt
very good.
The stuff of
typography nerd
nightmares,
actually. But
since our
pipeline is based
around Unity,
and we knew
we wanted to
incorporate 3D
all of the blackand-white
visions were
composed and
animated in
Maya we
decided to
go for it.
Flesser says
Simogo
struggled for
quite some time
with the font
rendering, until
we decided to
get a plug-in for
it, which worked
out brilliantly.
Before that, hed
pestered Unity a
lot about the
problem: And
now theyve
changed their
font rendering
quite a bit, it
seems. I may
not go so far
as to say they
changed it
because of us,
but the timing
might, maybe,
perhaps,
possibly,
suggest that!
| 131
WorldMags.net
iStockphoto
Get your app noticed on the App Store with optimisation techniques
132 |
Ranking high
Before diving into picking the right
keywords, you need to understand what
determines your rank in the App Store.
Although there are countless factors
that can influence this, the main ones
are total downloads, download velocity
(how many downloads it has received in
the last 4872 hours), your title, keyword
field and ratings. There are other subfactors that can have an effect, such as
your screenshots and description (which
can increase conversion rates and
influence downloads), but these are
the three main high-level elements.
To start picking keywords, compile a
list of any words you think people might
WorldMags.net
Check relevance
Once you have a comprehensive list
of keywords, your next step is to start
filtering out the good ones. Although it
is not necessary, signing up for an ASO
Aim high
Difficulty and search volume work
together as the next filter. These metrics
are harder to determine without an ASO
tool, especially search volume. Generally,
the more ratings an app has, the more
total downloads it has. One method for
estimating search volume would be to
use a tool such as Google Keyword
Planner to estimate how often that term
is searched for on the web. However,
this is far from perfect and tedious! Its
much easier to input all your keywords
into an ASO tool and have it determine
search volume for you. Although Google
and Apple dont release exact search
volume data, proper tools can tell you
how often a list of terms are searched
for relative to one another. Use this to
determine which keywords are searched
for most. Its pointless to target words
with no volume, but be careful about
targeting terms which have high search
volume but for which you also wont
realistically be able to rank highly.
This brings us to the last major metric
to look at If youre not using an ASO
tool, the easiest way to check how
difficult it is to rank for a keyword is to
look at the top 10 apps that show up for
that term. Are they big brands such as
Amazon or eBay? How many ratings
do they have? What is their rating?
Compare these metrics to your app or
what you predict your app will have,
Best practice
The rest of your keywords should go
into the keyword field when submitting
your app. There are basic formatting
best practices youll want to follow
First, you dont need to include your title
keywords again in your keyword field.
You also have a 100 character limit,
which means you need to use the space
wisely. Separate your terms with
commas but dont include spaces after
them. Also decide if you want to use
both the plural and singular form of a
word. Although the plural will include
the singular form as well, it will not be
as effective as including both (but again,
the space is valuable, so be careful).
CHECKLIST
ASO checklist
Compile
Study competition
Autocomplete
Misspellings
User reviews
Analyse
Relevance
Search volume
Difficulty
Implement
No spaces
Broken-up phrases
Singular vs plural
Rank highly
Localise
Use your title
Look at reviews
WorldMags.net
| 133
WorldMags.net
134 |
WorldMags.net
Concepts
WorldMags.net
Python
Arduino
PHP
Android
Coding
Academy
Only
99p /99
each
Ruby
Unusual
More Python
WorldMags.net
More Android
Available on Apple Newsstand just search for Linux Format and download the app
WorldMags.net
136 |
WorldMags.net
Master app
marketing
App Store success doesnt come out
of nowhere youve got to make sure
your app finds the audience it deserves
aking a great app is only half the battle youve got to
make sure people know about it! Being smart about who
you contact, and how easy you make it to find your app, can
make all the difference you dont need to spend millions
on advertising. Theres more to marketing than just getting your app
noticed, though. Well show you how you can tap into an audience to
get it off the ground in the first place, as well as how to monitor your
sales, so you can react. And well look at some truly inspirational apps.
138
146
152
156
WorldMags.net
| 137
WorldMags.net
Crowdfunding can be an
excellent way to finance your
app if you do it properly.
138 |
WorldMags.net
JARGON
BUSTER
Equity
Generally, the
term equity is
used to mean
shares or an
ownership
interest in a
business. An
equity or share in
a crowdfunded
company,
however, is not
traded on the
London Stock
Exchange like
other shares.
Adding a short video explaining your app is an absolute necessity if you want it to succeed.
WorldMags.net
| 139
WorldMags.net
JARGON
BUSTER
SEIS
The Seed
Enterprise
Investment
Scheme was
designed to
increase
economic
growth in the
UK by promoting
entrepreneurship
and new
enterprise. For
more info,
visit www.
hmrc.gov.uk/
seedeis.
140 |
WorldMags.net
JARGON
BUSTER
FCA
The Financial
Conduct
Authority is the
UKs financial
services
regulator. It is
endowed with
rule-making,
investigative and
enforcement
powers.
WorldMags.net
| 141
WorldMags.net
Using crowdfunding
Ready to start crowdfunding for your app? Read on to get started
hen youve decided on
the type of funding youd
like to use, you need to
find a funding website or
platform that supports it. This can seem
daunting, because theres an everexpanding number of platforms to
choose between. You can find a handy
list of firms on the UK Crowdfunding
Associations website see
www.ukcfa.org.uk/members.
JARGON
BUSTER
EIS
The Enterprise
Investment
Scheme (EIS) is
a governmentbacked scheme
designed to help
start-ups raise
cash by offering
tax relief to
investors who
buy shares in
them. Visit www.
hmrc.gov.uk/eis
for more
information.
Pass or fail?
Funding campaigns usually last for
around three months, Wanczyk says. The
question, of course, is what happens if
youre successful does the cheque just
142 |
Sites such as Angels Den can help out with the intricacies of
investing in crowdfunded projects.
their portfolio. It also means that you dont
get taxed when you exit the business.
Also consider the concept of dilution.
In the first round of funding, you may
buy 10 percent of a firm. But as they grow,
start-ups tend to launch other fund-raising
drives in order to secure the necessary
capital; if they do, they may issue more
shares, meaning youll be left holding a
reduced proportion of the whole. And with
a reduction in holding comes a reduction in
any eventual dividend income.
WorldMags.net
8\PJR:^LH[,_LYJPZL+PJL-P[ULZZ4HKL-\U
I`TPJOHLS]VSRPU
/VTL
<WKH[LZ
)HJRLYZ
*VTTLU[Z
:HU[H9VZH*(
;HISL[VW.HTLZ
-\UKLK;OPZWYVQLJ[^HZZ\JJLZZM\SS`M\UKLKHIV\[OV\YZHNV
IHJRLYZ
WSLKNLKVMNVHS
ZLJVUKZ[VNV
73(@
8
WYVQLJ[I`
TPJOHLS]VSRPU
:HU[H9VHZ*(
*VU[HJ[TL
JYLH[LKIHJRLK
9
7SLKNLVYTVYL
JYLH[LK
Project name
Comments
Time ticker
Most funding drives last for a few
months. Your landing page will
have a countdown ticker that shows how
much time investors have left.
6
Backers
Updates
The entrepreneur
Pledge and goal
Here youll see how much money
5
has been promised and the funding
target you need to meet. Hit your target
WorldMags.net
(SSNVUL
The video
Theres no better way than using
a video to communicate your app
and its key points. Project videos are
usually three minutes long or less, if you
can still get across all your information.
8
The promise
An app pitch needs to identify a
problem and explain how it will
solve that problem. You need to think
hard about your pitch and what the app
does better than any other existing app.
9
| 143
WorldMags.net
Thinking straight
144 |
Make a video
WorldMags.net
Take on feedback
AppsFunder
www.kickstarter.com
Platform type: All or nothing
Fee: 5%
www.appsfunder.com
Platform type: All or nothing
Fee: 8%
As the name implies, this is one of the many new sites set up
specifically for backing app ideas. Here, you set two milestones
for development, telling backers what the money is used for, and
backers have several options to get revenue from the eventual
sale of your app.
Indiegogo
AppBackr
www.indiegogo.com
Platform type: Variable
www.appbackr.com
Platform type: All or nothing
Fee: Variable
AppBackr calls itself the market exchange for apps, and like the
real thing, its not the easiest thing to get your head around,
relying on wholesale buying and subsequent revenue for the
backers. In all, its probably not the best option for anyone new
to either investing or crowdfunding.
AppStori
SellanApp
www.appstori.com
Platform type: All or nothing
www.sellanapp.com
Platform type: All or nothing
First things first: you need a US bank account (or at least access to
one) to register on AppStori as a developer. That restriction aside
its pretty much like a Kickstarter specifically for apps, in that your
backers get benefits and rewards determined by you, rather than
direct financial payback.
GoFundMe
AppVillage
www.gofundme.com
Platform type: Straight fundraising
Fee: 5%
www.theappvillage.com
Platform type: Multiple
Fee: Variable
WorldMags.net
| 145
WorldMags.net
iStockphoto
146 |
Think different
A mistake people make with marketing
is assuming theres a perfect solution.
The reality is that every app is unique
and requires an approach suitable for
that particular project, rather than
someone idly checking a list of bullet
points. Ed Rumley, COO of publisher
Chillingo (www.chillingo.com), notes
WorldMags.net
Chillingo has fostered quirky games, including the nude surreal biking of Icycle: On Thin Ice.
WorldMags.net
| 147
WorldMags.net
DO
Get to the
point quickly in
all your
marketing
output
Build a
website to boost
your apps
discoverability in
search engines
Embrace the
community and
take advantage
of social media
Create clean
assets that show
off what your
app or game
does
Employ
professionals to
assist if youre
unsure about
what to do
Keep it simple
As already noted, keeping things simple
also extends to your visual marketing
148 |
When Vlambeer launched Ridiculous Fishing, it also created a fake social network to generate interest.
material. Icons must communicate
your apps message, and be easy to
recognise. Rami Ismail advises trying
different designs on images of devices
and App Store pages to see how they
fare. Overcomplication is easy, so resist
the temptation where possible.
Likewise, screen grabs shouldnt be
over-thought, yet are routinely muddied,
with developers and publishers skewing
them at jaunty angles, squashing them
inside stock images of smartphones and
tablets, and overlaying marketing blurb.
But obscuring and shrinking imagery
lessens its impact during important first
impressions, along with reducing clarity
WorldMags.net
The website for endless runner Boson X includes a big video front and centre, to help people get a feel for it.
action movie hero at. Nicely designed
titles and footage of the app in use
should suffice; if more depth is needed,
take advantage of modern video
platforms such as YouTube to link
directly to more expansive footage.
Equally, dont neglect your website.
Each app should at least have its own
page or, ideally, its own site and URL.
Aim for clarity, and prominently display
your apps name, icon and some other
visuals. Keep the introductory text
succinct, and ensure that links to stores
where the product can be bought are
easily seen. Never make potential
customers search manually on stores
where there are thousands of other
ways they can spend their money.
Community spirit
Talking to people is the last major piece
of the puzzle. Too many developers hide
from the community, ignoring email
and Twitter feeds. A smarter move is
immersing yourself in various
communities, dealing rapidly with
WorldMags.net
| 149
WorldMags.net
DONT
Lie or be false
when dealing
with the press
Lead copy,
videos and
images with
meaningless
reviews
Assume that
marketing is
a one-size-fitsall solution
Make people
jump through
hoops to access
info or your app
Dont do it yourself
If youre unwilling or unable to do
your own PR, you might want to
consider bringing in the professionals
TriplePoint (www.triplepointpr.com)
account supervisor Rich Jones says that
working with an agency can be a great
way to have your game seen by a fresh
set of eyes, beyond your dev team,
friends and family. New opinions and
perspectives can improve the final
product, based on a broad knowledge
of existing apps, from mainstream hits
to under-the-radar indie titles.
Jones adds that PRs can also pitch
To increase the likelihood of getting coverage, make a journalists job as easy as possible.
150 |
WorldMags.net
WorldMags.net
| 151
WorldMags.net
IT WILL TAKE
5 minutes
YOULL NEED
An App Annie account
152 |
Other trackers
For the basics, iTunes Connect is simple
and (in typical Apple style) elegant, but
its not for everyone. There are a number
WorldMags.net
Downloading details
According to the company, the way that
AppViz calculates payment data also
means it has the edge on accuracy in
your reports too. Because of fluctuations
in exchange rates its possible to see
large gaps between estimated sales and
actual deposits paid by Apple, but the
way AppViz collates data means this is
less likely than with other options.
QUICK TIP
Don't get too
worried about
your app
reviews. Its easy
to obsess over
a few one-star
ratings, but if
you have
thousands of
downloads
theres a real
chance that not
everyone feels
that way. If the
reviews do ring
true, though,
think about
making changes
to your app.
Track options
Revenue
The revenue column shows
you just how rich youre
going to be when Apple deposits
your money in your account (but
beware of currency fluctuations).
3
Reviews
You can see how many
reviews have been submitted
in the Reviews column this covers
the last seven days activity.
4
WorldMags.net
| 153
WorldMags.net
1 Timescale graph
2 Revenue by country
154 |
WorldMags.net
WorldMags.net
WorldMags.net
WorldMags.net
The App
Hall of Fame
These inspirational apps do clever things in innovative ways
156 |
Tweetbot
Fantastical 2
WorldMags.net
Little Digits
Little Digits is the perfect example of how
new technology can create whole new,
brilliant experiences. The iPad can detect
up to 10 fingers touching its screen
simultaneously, so to help kids learn to
count, this app shows a big number to
match how many fingers are touching it
its tactile and memorable.
Dark Sky
Dark Sky uses real-time
weather data from the
cloud (no pun intended)
not only to display easily
understood timelines of
when it will rain over the
day, but also to send you
a notification to warn
you if youre about to get
caught in a downpour.
Its a brilliant use of the
connectivity features of
the iPhone to provide a
massively useful feature.
Due
Although Due has yet to
be updated for iOS 7, its
still one of the best to-do
apps on the Store. The
key is its speed it
makes it really easy to
add reminders with little
hassle, so youre more
likely to actually use it.
Its full of one-tap
options and clever
presets (which can be
customised) so that
using it is low-friction.
WorldMags.net
| 157
WorldMags.net
The Pyramids
The Pyramids is an incredible exploration
of the ancient Egyptian pyramids at Giza.
It lets you explore the tombs in 3D, gives
you details of many of the paintings, and
even shows what these tombs would
have looked like when they were first
created. It adds exploration and wonder
to a subject thats been covered before.
Noteshelf
This app for taking hand-written notes on your iPad
excels because it gets the feel of scribbling notes right.
The ink spreads convincingly, and palm-detection
means you can rest your wrist on the bottom of the
screen and write at the top without issue. Best of all is
a magnifier, so you fit lots of precise writing on a page.
FiLMiC Pro
FiLMiC Pro is a great example of how you dont need to
reinvent the wheel to make something great. The iPhones
video camera is great, but Apples app lacks features.
FiLMiC Pro has them. It starts with separate focus and
exposure control, and spreads through to higher-quality
video, audio level monitoring and even framerate options.
158 |
WorldMags.net
Zombies, Run!
Zombies, Run! combined
the popularity of zombie
games and running apps
brilliantly. Take your
phone with you when
you go for a run, and
Zombies, Run! rewards
you with points, which
you can spend on
defending your
settlement against
zombies in-game. It was
a great, original spin on
common app types.
Evernote
Evernote is a great demonstration of
how mobile apps can be vital part of
a bigger service. The iPhone app is
heavily focused on taking notes (in
text, photo or audio form), rather
than referencing them which
matches the idea of a takeanywhere device perfectly.
Drafts
Drafts is a note-taking app thats
focused on convenience. In this
one app, you can write something
hurriedly, then choose what to do
with that text post it on a social
network, email it, store in the Notes
app the list is customisable and
nearly endless!
WorldMags.net
| 159
WorldMags.net
RedLaser
RedLaser shows how
the iPhones sensors (the
camera, in this case) can
be used in surprising
ways. Here, it becomes
a barcode scanner,
identifying products
and then grabbing
information about
where theyre available
online and what the
best price is. It makes
checking for bargains
easy and fast.
UK Train Times
UK Train Times is a great
demonstration of how
you can turn a simple
data source into a
brilliantly useful app.
This app gets live train
information, including
timetables, delays and
platforms, and makes it
easy to follow. It also has
a clever Next train home
button, using GPS to
locate you and picking
out local train times.
Sky Guide
Sky Guide is a wonderful
use of the iPads
hardware as a learning
tool or just for fun. It
uses your location to
give you an overlaid
view of the stars in
your area, picking out
constellations, satellites
and other interesting
celestial objects. Just
move the iPad around
the sky to get an insight
into whats above you.
Status Board
Status Board shows how simple ideas can
include advanced tools. At its most basic,
Status Board is a simple screen-saver type
information display for iPad, showing you
calendar appointments, social media and
so on. But it can also display custom data
sources, so you could show real-time sales
data or analytics in businesses.
160 |
WorldMags.net
WorldMags.net
http://goo.gl/fuXZt
JOIN US ON TWITTER: @iPadUserMag
Only
on Apple
Newsstand!
New is
WorldMags.net
sue every
six weeks
WorldMags.net
Future Publishing Limited
30 Monmouth Street, Bath, BA1 2BW, UK
www.futureplc.com
www.myfavouritemagazines.co.uk
Phone +44 (0)1225 442244 Fax +44 (0)1225 732275
All email addresses take the form firstname.lastname@futurenet.com
EDITORIAL
EDITORINCHIEF Graham Barlow
EDITOR Christian Hall
DEPUTY EDITOR Matthew Bolton
ASSISTANT EDITOR Alex Summersby
ART EDITOR Seth Singh
DESIGN & LAYOUT Nick Aspell, Cormac Jordan
OPERATIONS EDITORS Jo Membery, Ed Ricketts
CONTRIBUTORS Chris Brennan, Martin Cooper, Tim Duckett,
Matt Gemmell, Craig Grannell, Rob Hampson, Lou Hattersley,
Alexander Klein, Keith Martin, Tom May, Jaimee Newberry,
Martin Pilkington, Gary Riches, Alex Thomas, Dave Verwer
IMAGES Apple, iStock, ThinkStock, Future Photo Studio,
Chris Hedley, Panayotis Vryonis
FUTURE
HEAD OF COMPUTING GROUP Ian Robson
MANAGING DIRECTOR, TECHNOLOGY GROUP Nial Ferguson
CHIEF EXECUTIVE Mark Wood
GROUP SENIOR ART EDITOR Steve Gotobed
CREATIVE DIRECTOR Bob Abbott
EDITORIAL DIRECTOR Jim Douglas
9000
9001
MARKETING
GROUP MARKETING MANAGER Philippa Newman
CIRCULATION
TRADE MARKETING MANAGER Colin Hornby
PRINT & PRODUCTION
LOGISTICS MANAGER Mark Constance
PRODUCTION CONTROLLER Vivienne Turner
LICENSING
LICENSING & SYNDICATION DIRECTOR Regina Erak
INTERNATIONAL ACCOUNTS Michael Peacock
www.futureplc.com
5FM
#BUI
All contents copyright 2014 Future Publishing Limited or published under licence.
All rights reserved. No part of this magazine may be reproduced, stored, transmitted
or used in any way without the prior written permission of the publisher.
iPhone, iOS, iPad, iPod, iTunes, iCloud, iWork, OS X and other terms are trademarks
or registered trademarks of Apple Inc. This is an independent publication and has
not been authorised, sponsored, or otherwise approved by Apple Inc.
Future Publishing Limited (company number 2008885) is registered in England and
Wales. Registered office: Beauford Court, 30 Monmouth Street, Bath BA1 2BW. All
information contained in this publication is for information only and is, as far as
we are aware, correct at the time of going to press. Future cannot accept any
responsibility for errors or inaccuracies in such information. You are advised to
contact manufacturers and retailers directly with regard to the price and other
details of products or services referred to in this publication. Websites mentioned
in this publication are not under our control. We are not responsible for their
contents or any changes or updates to them.
If you submit unsolicited material to us, you automatically grant Future a licence to
publish your submission in whole or in part in all editions of the magazine, including
licensed editions worldwide and in any physical or digital format throughout the world.
Any material you submit is sent at your risk and, although every care is taken, neither
Future nor its employees, agents or subcontractors shall be liable for loss or damage.
We encourage you to recycle this magazine,
either through your usual household recyclable
waste collection service or at recycling site.
We are committed to using only magazine paper
which is derived from well managed, certified
forestry and chlorine-free manufacture. Future
Publishing and its paper suppliers have been
independently certified in accordance with the
rules of the FSC (Forest Stewardship Council).
WorldMags.net