Click the photo to see it at full size.
If you find yourself constantly reaching for the Calculator app, you might find this iPhone case useful — assuming those apple-shaped beads slide easily.
Your app may be a unique and special snowflake, but with about a million of them in each of the stores that matter, it’s a snowflake in the middle of a blizzard. Without a way for your potential customers to find out about your app, no matter how great or beautiful it is, it will never be found or bought.
Luckily for you, the app developer, there’s Harry Lucas’ handy ebook, App Marketing Secrets Revealed. In a breezy 56 pages that won’t waste your time, it lays out a series of steps that you can take to ensure that your app gets seen by people, and more importantly, purchased. As the book itself says in its preface, it will explain:
App Marketing Secrets Revealed has these chapters:
Oh yeah — App Marketing Secrets Revealed may be written with iOS developers in mind, but after reading it, I can say that most of it is equally applicable no matter what mobile OS you’re developing for.
App Marketing Secrets Revealed is a great deal at a mere $5 for a lot of useful advice, but Harry Lucas got in touch with me with an offer for you, the Global Nerdy reader. If you use the code iphonedev when you check out, the price will be discounted 40%, meaning you’ll only pay $3. This deal won’t last forever, so you’ll want to get the book as soon as possible!
Ours is a field where change is just one of those things you have to live with. The constant evolution of computers – from mainframes to the computing devices in our pockets that just happen to also be phones – along with the almost-daily introduction of new technology stacks, requires us to be constantly learning new things. Here are some tips that should help you on your ever-going learning journey in software development…
With developer technologies changing so quickly – especially in hot, rapidly-evolving areas such as this blog’s focus, mobile – finding reading material can be tricky. My two pieces of advice:
Remember this mantra: “I hear, I forget; I see, I remember; I do, I understand”.
Reading is helpful, but to truly learn a programming language, library, or technology, there’s no substitute for getting your hands dirty and actually working on a project that uses that programming language, library, or technology. “Finish project X with this list of features and functionality” is a more concrete, more measurable goal than “Learn programming language X”, “Learn library Y”, or “Learn technology Z”; it also gives you a better idea of your progress, gives you valuable experience, and even gives you something to add to your portfolio. If you can, learn by building a full project rather than just following code examples from your reading.
Most people understand the need the practical experience that comes from learning by building a project. The hard part, they say, is coming up with an idea for that project. Some suggestions:
Yours Truly, teaching basic game development for Windows Phone, 2010.
During my time as a developer evangelist at Microsoft, I did tutorial presentations and wrote online tutorials regularly. Sometimes I’d cover material that I knew well, but since Microsoft has such a wide array of tools and technologies and are coming up with new ones all the time, I often found myself having to learn the material that I would end up teaching.
This turned out to be a great way to learn new things. Having to teach the material you’re learning is a good motivator, and the need to make your understanding of the material comprehensible to others help to guide your own learning. As Floor Drees, a tech reporter and developer evangelist in Austria puts it, “I genuinely believe that teaching skyrockets your own learning curve and would encourage everyone to start coaching beginners, even if you feel you are still a beginner.”
If you’re given decent study and teaching material – and luckily, at Microsoft, that’s usually easy to find – and enough time and tools to experiment with mini-projects to get a better understanding, and if you’re comfortable in the role of teacher, whether one-on-one, in front of a crowd, or as an author, you may want to try learning by teaching.
As you brush up on your development skills, you’ll hit the occasional “speed bump”: some kind of problem that you can’t figure out or that leaves you stuck without any idea of how to solve it.
This is a good thing.
Really, it is. If you’re ever learning something new and you find that absolutely everything is coming to you without even the slightest bit of difficulty, it means that you’re not actually doing any real learning. The best and most valuable learning experiences are those in which you struggle with a problem, try all sorts of things, and then finally find the solution. You learn a lot during those times when it feels like you’re fumbling in the dark, trying to piece together a way to make something work, and it tends to stick with you afterwards.
During these times, there are a few things you can try:
I’m one of those developers who learns through a combination of building my own projects, looking at the code of other people’s projects and learning through teaching. However, that’s not everyone’s style; some people prefer the structure provided by a classroom environment. Luckily, there are a number of options for those of you who prefer this style of learning:
…and they seemed to be part of some “to be continued…” campaign in which the full message would be revealed later.
Well, later is now, and as expected, the billboards are there to promote the exact opposite message. The sponsor: BitTorrent!
Here’s what the signs look like now:
In the most recent post on their blog, the people at BitTorrent write:
These statements represent an assault on freedom. They also, for the most part, represent attitudes Internet culture has accepted. Chips we’ve traded for convenience. Part of the allegiance we’ve sworn to the web’s big platforms and server farms. That’s what you get for going online.
We put these billboards up last week in New York, Los Angeles and San Francisco. Because we wanted to remind the world what’s at stake on the world wide web.
As a society, we’ve chosen to accept data centralization: personal information as property of a powerful few. We’ve chosen to accept walled gardens of creativity: a lifetime of work (our life’s work) locked into digital stores that take 30% of the revenue and streaming services that pay pennies in royalties. We’ve chosen to accept surveillance culture: the right of security agencies to violate the Fourth Amendment; to see and store data as they see fit.
But these things are just that. They’re choices.
And these choices belong to us.
There’s more — go read their blog entry!
I’ve got a friend in the Toronto area who’s looking to sell his Lenovo X201 tablet-style laptop with the following features:
It’s yours if you want it for $450. Contact me at joey@joeydevilla.com and I’ll arrange an email intro.
This article also appears in The Adventures of Accordion Guy in the 21st Century.
In Storyboards vs. NIBs vs. Code: The Great Debate!, you can watch a debate that took place in a Google+ hangout on October 1 between three developers over which way is the optimal way to build user interfaces. Cesare Rocchi argues for code, Tammy Coron takes the pro-nib argument, and Felipe Laso Marsetti sides with Storyboards, which Apple seems to be pushing hard. It’s interesting lunchtime viewing:
Here’s part one of a Ray Wenderlich tutorial that walks you through the process of building a classic arcade game (all the way back from 1978) in iOS 7 using the new Sprite Kit library. They recommend that you go through their Sprite Kit Tutorial for Beginners before you tackle this tutorial, which walks you through controlling player and enemy ship movements.
Key-value observing is handy. It’s also a pain in the ass. Or, as NSHipster Mattt Thompson puts it:
“Ask anyone who’s been around the NSBlock a few times: Key-Value Observing has the worst API in all of Cocoa. It’s awkward, verbose, and confusing. And worst of all, its terrible API belies one of the most compelling features of the framework.”
Key-value observing is one of those “let me know when something happens” systems that you can use in Objective-C, along with NSNotification
s, delegates, and callbacks. Thompson says that of the four, key-value observing is the least understood. He aims to fix that by sharing some observations and techniques that have worked for him.
ZXing is short for “Zebra Crossing”, which is a pretty clever name for an Android/Java barcode encoding/decoding library. ZXingObjC is a full Objective-C port of ZXing, and it’s available on GitHub. If you need to encode or decode any of the following barcode formats on an iOS device or Mac:
…then you’ll want to get your paws on ZXingObjC. The library comes with example apps, including a basic barcode scanner/decoder app and another app that accepts user input and turns it into a QR code. Keep in mind that…