Jen Looper is a Boston-based web and mobile developer, specializing in cross-platform educational and fitness apps for iOS, Android, Nook, Kindle and Windows phone. View her portfolio at www.ladeezfirstmedia.com.
The choice of gadgets available to interface with the Internet of Things, the web of interconnected devices that allows developers to write code to interact with sensors, seems to grow every day.
If you have any magpie tendencies, an impulse purchase of a Raspberry Pi can quickly turn into a large collection of tiny machines, including Arduinos and all the cables, breadboards, resistors, diodes, buzzers, buttons and LED lights to make them perform their tricks.
Soon you are creating fascinating projects straight out of MAKE magazine such as the Raspberry Pi-powered weather balloon carrying a toy bear into the stratosphere or the Arduino-powered smart-phone enabled garage door opener.
Simple projects are a great way to teach kids how to program in Python (using a Raspberry Pi to blink LEDS in patterns, for example) or wire circuitry to create useful real-life life hacks using small machines like the Arduino. In this article, I’m going to introduce a relative newcomer to the IoT scene: the Spark Core, a “tiny wi-fi development kit” originally a successful Kickstarter project. To paraphrase Spark’s marketing blurb, “when the internet spills over into the real world, exciting things happen”.
In the classic book by Disney animators Frank Thomas and Ollie Johnson, “The Illusion of Life”, the art of character animation is described as crafting,
drawings that appear to think and make decisions and act of their own volition.
Animation, especially of seemingly living things, seems like a major hurdle for the mobile app developer who needs to create people, insects, birds, and lifelike plants to bring their mobile games to life. Many turn to sprite sheets, using software such as Texture Packer to turn a series of drawings into a ‘moving picture’ much like the Disney animators did, frame by frame with each sprite moving slightly to give an illusion of a moving figure when played in sequence, like an old-fashioned flip book.
Sprite sheets, however, present some problems for mobile apps if they are at all complicated. First, they are difficult to edit and maintain, as to change any element of the sprite sheet means carefully and precisely replacing all elements of a sprite sheet. One mistake and the animation looks jerky and “unreal”.
Additionally, sprite sheets consume a certain amount of texture memory in your app. First, you will need a copy of each element of your animation embedded into your sprite sheet, there might be dozens of images packed into a png file. Second, you might want to content-scale that sprite sheet so that it looks good on retina screens, so you will need a @2x version of it, using even more memory. For fast-moving games with many complex animations, sprite sheets can quickly become a maintenance and memory problem.
There must be a better way!
Enter Spine, the easy-to-use and well-designed software by Esoteric Software. Spine was created as a Kickstarter project and has quickly become a tool of choice for many developers of mobile games. As one Corona developer noted,
…bought it after trying it for something like 2 seconds.. This is the coolest thing that happened for Corona based games since Corona!
Instead of creating frame-by-frame animations, Spine works by creating skeletal animations. In short, you create a skeleton and “dress it” into a skin, apply keyframes, and create an animation in a short amount of time. It’s an intuitive process once you understand the basics of the software. In this tutorial, I’ll show how to create a simple two-part animation: a bee that has two states, fluttering, and pausing.
To begin, you need at least the trial version of Spine. Download it at esotericsoftware.com/spine-download. Note, you won’t be able to export any files to use in your mobile apps until you buy a version of the software, either the Essential version at $60 or the Professional at $249. Most of the functionality an Indie developer needs is included in Essential, so I recommend buying it if, after the trial version shows you Spine’s capabilities, you think you could use it in your projects.
The segregation of the mobile experience to a subdomain, the notorious ‘m’ domain, seems a little old school in 2014. It’s a legitimate question, in the fast-moving realm of mobile-web development, whether you should even consider having such a segregation.
In this article, I start from the premise that few entities use an ‘m’ domain any more, and present a few reasons why not. Then, playing devil’s advocate, I’ll offer a few reasons why you might want a separate subdomain to which to redirect your mobile user base.
Why nobody does it any more
RWD All The Things
The advent of responsive web design, mobile-first design, and progressive enhancement as design patterns have been enthusiastically embraced by many designers and developers. They have changed the way the business of design and development is done. Site designs, especially those built from scratch, are increasingly built from the ‘bottom up’ rather than the ‘top down’. Rather than creating a beautiful, feature-full site that will display well on large desktops and taking away or hiding functionality as the user’s screen shrinks to mobile.
A mobile-first design would start with a design that is attractive and functional on the smallest, and even potentially slowest or off-line mobile screen and progressively enhance the experience towards the high-definition desktop experience.
Going further, Scott Jehl recently suggested not so much a “mobile-first” strategy but rather a “global-first” strategy. Design a set of styles that are must haves across all screens and then enhance depending on a browser’s capability, dependent on what Scott terms a “cut the mustard” set of tests.
At a certain point, often when a portfolio grows larger than ten apps across app stores, it can become cumbersome and problematic to maintain the quality of a portfolio. Sometimes an app has been rendered obsolete and needs an update. Sometimes it can simply be retired.
Jen Looper shares some ideas to help you decide when and what to update and a handy flowchart (at the end of article) to help guide maintenance decisions over your apps’ lifespans.
If you are a mobile app developer and are planning to publish an app for iOS devices like the iPad and iPhone, you will inevitably face navigating iTunes Connect (ITC), Apple’s portal for managing the app publication process. If you are a new iOS developer and have not set up an account, head over to […]