Search: wenderlich

If you’ve even considered doing iOS development, chances are that you’ve heard of RayWenderlich.com (their home page is pictured above). They’re a site with over 1600 programming tutorials to date, a dozen iOS programming books (pictured below)…

…600 video lessons, and a consistently sold-out annual iOS developer tutorial conference. They are the go-to place for new and experienced iOS developers to learn programming languages and techniques for developing apps for the iPhone, iPad, Apple TV, Apple Watch, and even MacOS. When I learned iOS development, I learned it from RayWenderlich.com. It’s a great honor to be invited to join them!

And here’s the article I wrote for them:

That’s right: its title is Augmented Reality in Android with Google’s Face API. Android and Google, not iOS and Apple.

Give the article a look! With a provided “starter” app, it walks you through the process of using Google’s Mobile Vision suite of libraries and its Face API to create Snapchat Filters-like app that draws googly eyes, a pig nose, and a moustache over any face detected by your device’s camera:

If you’ve been reading this blog for a while, you might be surprised that I signed up to join the Android team. After all, here in Tampa, I run this meetup, not the Android one…

I have an app in the App Store, but nothing in Google Play, and most of my recent mobile development articles are about iOS and Swift, not Android and Java. Plus, while I have an Android Phone — a Moto G4 — my primary phone is an iPhone 6S.

So why would I join the Android team, and on a site where fewer than 30 of its 1600+ tutorials are Android tutorials?

Because it’s a move towards a need and my discomfort.

Talk about moving towards your discomfort!

In January, RayWenderlich.com announced that they were looking for a co-maintainer for their open source project, Swift Algorithm Club. I applied for the position (you can see the text of the email I sent them here), but didn’t get it. However, as one of the top four applicants, they offered me the chance to submit an “audition” for some part of their site. The choices included:

  • iOS team: writing tutorials or tech editing them
  • MacOS team: writing tutorials or tech editing them
  • Android team: writing tutorials or tech editing them
  • Video team: making or editing their video courses or screencasts

The “smart” move would’ve been to audition for the iOS team. After all, iOS is their stock in trade, whether it’s on their site, books, videos, podcast, and conference, and the vast majority of their audience is there for the iOS content.

But they’re also expanding their scope to include Android programming, and out of over 1600 tutorials, they currently have fewer than 30 for Android. Android, as clunky and Windows-y as it feels to iOS users, runs on 2 billion monthly active devices as of May 2017 (that’s double Apple’s count in January 2016). It has deep penetration outside the affluent bubble of the First World and even within the First World’s less well-off corners (for one example, check out this article: The Accidental Classism and Unintentional Racism Of iOS Development for Children). And finally, the promotion of the Swift-like programming language Kotlin to first-class status as an Android development language with Android Studio 3.0 made it a more tempting platform for development.

The thought of writing Android tutorials is a little discomforting. I have more iOS programming practice than Android practice, but I’m counting on that discomfort to push me to be better. Comfort is nice, but comfortable people stagnate.

There’s also the matter of “the protegé effect” — I wanted to get better at Android programming, and the best way to learn something is to teach it to someone else. Besides, as a seasoned tech evangelist, I’m an old hand at picking up new technologies and then teaching others how to use them.

This is from a couple of years ago — there are probably more people on the team now.

Ray tells me that they’ve got some great plans for Android on RayWenderlich.com. I’m looking forward to helping bring about those plans, and to the challenges that come with them. Follow me here — or on RayWenderlich.com — and see what happens!

In case you were wondering, Global Nerdy will remain an ongoing concern. I’ll still post articles here regularly; it’s just that I’ll also be posting Android programming tutorials on RayWenderlich.com, and getting paid for them too.

{ 1 comment }

For the benefit of anyone who’s out there who’s trying to apply for a technical communication position, here’s the email I sent in response to RayWenderlich.com’s call for a co-maintainer for their open source project, Swift Algorithm Club. It didn’t land me the position, but it got me the opportunity to audition for their Android team, of which I’m now a member.

I’m Joey deVilla, and I’d like to become a co-maintainer for Swift Algorithm Club! I’m a technology evangelist by day, and rock-and-roll accordion-playing mobile developer and bon vivant by night, as well as a long-time reader of RayWenderlich.com. I think I’d be well-suited for the role, and as proof, I have submitted my answers to the questions you posed in the article calling for co-maintainers.

Why do you want to be a co-maintainer on the Swift Algorithm Club?

I’ll admit it: a big part of my reason for wanting to be a co-maintainer on the Swift Algorithm Club is to be able to say “The first rule of Swift Algorithm Club is…to get ’em as close to O(1) as possible.”

But seriously, I’d like to be a co-maintainer of the Swift Algorithm Club for the following reasons:

  • I’ve been a big fan (see all the references on my tech/programming blog) and beneficiary of RayWenderlich.com over the past few years and have always wanted to join the gang.
  • I’ve been doing tech evangelism since 2000 (you can see my LinkedIn profile here), and in my current position as Technology Evangelist for Smartrac (an RFID company pivoting to an RFID-plus-software-platform kind of company), establishing good relations with the developer community is part of the job. I’d even be able to contribute to Swift Algorithm Club on company time!
  • I like helping out developers, which is why I’m in my line of work. Some evidence: My Stack Overflow profile, where my reputation score puts me in the top 6%.
  • As a tech evangelist, I don’t work directly on code with my company, and they currently don’t do iOS development anyway. Working on Swift Algorithm Club would give me a chance to keep learning, exercise my coding skills, and work with a language I love.

Please tell me a little about your experience with Swift.

Please tell me a little about your experience with algorithms.

The boring stuff: I have a degree in Computer Science from Queen’s University, which is one of Canada’s nicer schools. I learned algorithms and data structures from Dr. Robin Dawes (4.2 rating on RateMyProfessors), and we’ve stayed in touch. I know my depth-first searches from my breadth-firsts, I can pronounce Euler properly (it’s “oiler”), and I know where the word “trie” comes from (retrieval).

I once had to explain to some art students why they couldn’t represent all the possible states of their game using individual QuickTime cells. It was a “Virtual Bubble Wrap” game with 95 bubbles, which meant that it would take 2^95 cells to represent every possible state (for comparison’s sake, the estimated number of photons in the universe is a smaller number: 10^89).
 
The more interesting experience: I am “internet famous” for using P=NP to figure out that I was dating a con artist. The story is on my personal blog under the title What happened to me and the new girl (or: “The girl who cried Webmaster”), and ended up in print in an anthology titled Never Threaten to Eat Your Co-Workers: Best of Blogs.

Please link to any articles/tutorials you have written online.
I’ve been blogging since November 2001, with my personal blog, The Adventures of Accordion Guy in the 21st Century. I started my personal tech blog, Global Nerdy, in August 2006, and since then have written over 3,000 posts which have acquired over 8.6 million pageviews.

Here’s a small sampling of what I’ve written:

I should also mention that while working at Microsoft as the Windows Phone evangelist (the second-hard evangelism job in mobile), I had a short-lived children’s show, complete with puppet co-host. Here’s the first episode:

Please link to your GitHub account page.

I’ll admit that it’s not as fat as I would like, but here it is: https://github.com/AccordionGuy

If you have any questions or need additional information about me and my qualifications, please feel free to contact me!

{ Comments on this entry are closed }

RayWenderlich.com’s iOS development video tutorials

by Joey deVilla on February 12, 2014

ray wenderlich tutorial videos

Click the image to see the video on its page.

RayWenderlich.com has long been home to some of the best iOS development tutorials out there. They regularly publish tutorials that you can read online for free (here’s a categorized list), as well as more in-depth ebooks such as The iOS Apprentice, which they sell at very reasonable prices, especially considering the depth to which they cover their topics. If you’re serious about iOS development, and especially if you’re just getting started, you should visit RayWenderlich.com regularly.

In response to readers’ requests, RayWenderlich.com is introducing video tutorials. These videos focus on a particular iOS or Objective-C development topic, dive deep into it, end with some kind of hands-on challenge (and provide a solution), and are generally run about 15 minutes. The first video tutorials will cover the basics, such as:

  • Core concepts
  • Data types
  • Foundation
  • Storyboards
  • Auto Layout

As time goes on, they’ll add other topics, such as OpenGL, iCloud, Sprite Kit, networking, GCD (Grand Central Dispatch), Mac programming, in-app purchases, Unity, and even Android. In the intro video, Ray says that even if you’ve been doing iOS development for a while, you should watch these videos, as there’s a good chance that you’ll learn something new, and even if you don’t, it’s always good to brush up on the material, as there’s just so much.

In order to give people a taste of what these videos — which are currently “in beta” — are like, they’ve made these four viewable for free:

In keeping with RayWenderlich.com’s tradition of providing good tutorials at a decent price, you’ll eventually need to sign up for a video tutorial subscription for $19/month. As a reward for early birds, you can lock in a rate right now for $15/month. Having read much of the site and purchased The iOS Apprentice and iOS by Tutorials, I believe that the tutorials will give you, the iOS developer, a lot of bang for the buck.

 

{ 0 comments }

RayWenderlich.com’s job interview article series

by Joey deVilla on November 15, 2013

job interview

RayWenderlich.com, one of my go-to sites for iOS development, recently published a series of articles on resumes and job interviews. While they’re writing primarily for iOS developers, most of the advice they give applies to developers of all stripes. Check ’em out:

i has the dumb

If you’ve just come from a job interview and didn’t think it went well, you can console yourself by reading about a recent job interview of mine that I blew six ways from Sunday. It’s covered in this article, with this follow-up.

{ 0 comments }

weather app

Whether you’re new to iOS programming or a long-timer, RayWenderlich.com is a valuable resource for the iOS developer. They regularly publish tutorials, tips, tricks and other goodies that you’d be crazy to do without if you’re serious about writing apps for iDevices. In addition to articles on the site, they go deeper with their books, which are excellent.

RayWenderlich.com recently published an article titled AFNetworking Crash Course, which covers how to write networking apps using AFNetworking, a library created by the folks at Gowalla that simplifies iOS network programming. In this tutorial, you build a weather app that uses AFNetworking to get its data from the World Weather Online service. Check it out; AFNetworking’s useful, and the tutorial’s pretty nice.

In order to reach the widest possible audience, the tutorial was written for iOS 5 and earlier versions of Xcode. If you’re developing with the current version of Xcode and for iOS 6 (which accounted for 83% of all iOS traffic in North America in February), you might want to make a few changes to the code in the tutorial. I’ve listed the changes below:

Use Modern Array Notation

Here’s the old way to get at the element of an array whose index is theIndex in Objective-C:

It’s a little clunky, and as I wrote in an earlier article, Objective-C’s New NSNumber, NSArray and NSDictionary Syntaxes Mean Less “Yak Shaving” for iOS and OS X Developers, there’s a much nicer way to do it:

In AFNetworking Crash Course, where you see code like this:

change it to this:

Use Modern Dictionary Notation

Here’s the old way to get at the item in a dictionary whose key is theKey:

Again: it’s clunky. Also again, in my earlier article, I showed the modern way to access dictionary items:

Setting items for a dictionary used to be like this:

Now, it’s like this:

So, in the places where you see code like:

change it to:

…and where you see code like:

change it to:

Update the Deprecated Location Manager Delegate Method

If you use the code as-is with iOS 6, you’ll get an error message that looks like this:

Deprecated in iOS 6.0
locationManager:didUpdateToLocation:fromLocation:
Tells the delegate that a new location value is available. (Deprecated in iOS 6.0. Use locationManager:didUpdateLocations: instead.)

Instead of using the deprecated locationManager:didUpdateToLocation:fromLocation: method, use the current locationManager:didUpdateLocations: method instead:

{ 0 comments }

If you’re interested in iOS development and are looking for a conference to attend next year, I highly recommend RWDevCon, the all-tutorial, mostly-iOS conference run by the fine people at the tutorial site RayWenderlich.com!

It takes place during April 5 through 7, 2018 in Alexandria, Virginia, and will feature…

…four in-depth workshops…

  1. Swift algorithms: build your own collection type, and while doing so, dive into the semantics, performance, and expectations of each Swift collection protocol. Then you’ll explore ways to write your code that takes advantage of this new knowledge.
  2. Machine learning: A hands-on workshop where you’ll harness CoreML and Vision framework and find out what machine learning is, train a model, and then integrate it into an app.
  3. Practical instruments: Finally learn how to use Xcode’s instruments to see how you apps works, find out where the bottlenecks are, and boost your app’s performance.
  4. And finally, the workshop I’m giving: ARKit — where you’ll learn about the features of Apple’s ARKit augmented reality framework, harness data from the camera and your users’ motions, present information and draw images over real-world scenes, and make the world your View Controller!

…and all these presentations…

  • Living Style Guides
  • Swift 4 Serialization
  • Architecting Modules
  • Cloning Netflix: Surely it Can’t be That Hard
  • Auto Layout Best Practices
  • Clean Architecture on iOS
  • The Game of Life
  • Android for iOS Developers
  • The Art of the Chart
  • Spring Cleaning Your App
  • Improving App Quality with Test Driven Development
  • Advanced WKWebView
  • Clean Architecture on Android
  • Getting Started with ARKit (that’s the one I’m giving!)
  • Custom Views
  • App Development Workflow
  • Integrating Metal Shaders with SceneKit
  • Xcode Tips & Tricks
  • Advanced Unidirectional Architecture
  • Embracing the Different
  • Lessons from the App Store

…and a party every night…

…all in a great venue:

Want to find out more? Visit RWDevCon.com!

{ 0 comments }

I’m presenting the ARKit workshop at RWDevCon 2018!

by Joey deVilla on August 14, 2017

I’m a confirmed speaker at RWDevCon 2018, which takes place Thursday, April 5th through Saturday, April 7th, 2018 at the Westin Alexandria, just outside Washington, DC!

I’ll be doing a couple of sessions, one of which is a half-day workshop on one of the hottest new technologies that’ll come out with iOS 11: ARKit, the augmented reality framework for iPhone and iPad.

If you’re wondering what’s possible with ARKit, check out the futuristic battle scene on a table from the demo by Wingnut AR at the WWDC 2017 keynote:

If you want to see what indie developers have been able to do with beta versions of ARKit, check out this compilation:

I’m not yet at liberty to discuss exactly what I’ll be presenting, but I can say this: it will be mind-blowingly good, and you won’t want to miss it.

There will also be workshops on:

  • Machine Learning with CoreML and Vision, with Patrick Kwete and Audrey Tam
  • Practical Instruments, with Luke Parham
  • Swift Algorithms, with Kelvin Lau and Vincent Ngo

You can find out more about the RWDevCon workshops in this article.

If you want to get in on some of this development action, follow this blog, and go register for RWDevCon 2018!

Early bird conference registration is $899, but if you really want to dive deep into AR and catch my workshop, early bird conference + workshops registration is $1,399.

RWDevCon is a conference where all the sessions are developer tutorials. It’s organized by the fine people at:

RWDevCon is a smaller conference with a few hundred attendees, but those attendees are part of the dedicated, tightly-knit community that frequents RayWenderlich.com. The focus on tutorials means that if you’re a developer looking to boost your iOS development skills, you’ll get a lot of bang for your conference buck:

The size of the conference, coupled with the nature of the community, means that you won’t just be another face in the crowd, and you’ll make friends and connections at this conference — those of you who were at the early RailsConf conferences in Chicago and Portland, or the Toronto conference RubyFringe and FutureRuby, or the GIANT conferences will know what I’m talking about.

I’m also told that they throw a good party:

In addition to tutorials, RWDevCon features a number of “inspiration talks”. Here’s one from RWDevCon 2017 — I’m an Idiot, by Rich Turton, in which he talks about how to leverage your inner idiot to make you a better coder, writer and communicator:

I’m looking forward to this event!

{ 0 comments }