1

The pipeline begins at home

 2 years ago
source link: https://dandreamsofcoding.com/2015/01/19/the-pipeline-begins-at-home/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

The pipeline begins at home

I wasn’t thinking about the pipeline problem over the holidays. I was mostly trying to decide between several open bottles of wine, calculating whether I could possibly pack more of the chicken tagine into my body, and keeping an eye on the dog who’d been terrorizing my two and a half year old. The five year old was careering through the house with his four older cousins, going from art project to air hockey to petting the rabbit to stilt soccer goalie without much seeming to notice the transition. A particularly large crash drew my attention, and I headed down to the basement to make sure nothing was too terribly amiss.

Somehow, I ended up in a conversation with Sophie, my 12 year old niece. Sophie’s a bit unusual – on the one hand, she’s a normal kid with normal 12 year old likes and dislikes. On the other hand, she has a serious, tenacious, planningful streak that would be rare even in an adult. She’s been saving(!) for a car(?!) for three years(!?!).

S: On all the tv shows and movies I watch, the kids are always complaining about not having any money, so I decided to start saving.

Me: You’ve been saving for a car since you were nine???

S: <shrugs>

It soon came out that her dad (my brother) had offered her a significant cash incentive to write an app for him.

Me: I’d recommend starting with a project you’re really interested in. You know, when I was studying Japanese, I read a lot of fantasy and science fiction novels, and because I’m really into SF, I was really motivated to keep going even when-

S: <interrupting> I like making money.

Me: Buh…

I, for one, welcome our new 12 year old overlord.

Anyway, I sent her a copy of Beginning iPhone Development with Swift, bought one for myself, and we agreed to read and discuss one chapter per week. I like this series a lot, but it’s interesting how your perceptions change when you’re constantly thinking about how something will sound to a non-technical 12 year old, and worrying that she’ll get frustrated and lose interest. If we can get through the first couple chapters, I think we’ll be fine – but there’s so much unimportant, boring stuff in the beginning that it’s honestly been a bit of a slog, even for me.

For example, in chapter 2 the authors spend almost a page explaining that 1) Interface Builder used to be a separate program, and 2) gcc was switched out in favor of LLVM a couple versions back. Both of these happened years ago and are completely irrelevant to anyone reading this book. This is like driving a blind date – who’s new to the area – around town and spending most of your time pointing out businesses that closed up and went away in the 90s. Put that stuff in an appendix titled “things you don’t care about, but we needed to put in to meet our page count,” or just leave it out. Especially in the first couple chapters, the goal should be to get the reader to some small victories quickly.

The sad thing is that that’s what the book does well, once you wade through all the cruft. Here’s a summary of the first two chapters:

Chapter 1

  1. Download and install XCode
  2. Set up a developer account at https://developer.apple.com/ios
    • p.s. you’ll have to pay money to test on your phone
  3. Blah blah blah boring technical details blah blah blah
  4. List of chapters with summaries

Chapter 2

  1. Open XCode
  2. Create a project
  3. Blah blah gcc blah LLVM blah blah screens we don’t have the context to understand blah blah blah
  4. Add a label to the project’s storyboard
  5. Compile and run
  6. Configure the size of the storyboard
  7. Move and format the label
  8. Compile and run
  9. Add icons (which you won’t have unless you’ve already downloaded the code for the book, which you didn’t do and won’t even know you should do unless you were paying attention to a sidebar 43 pages earlier)
  10. Compile and run
  11. Change the background color on the launch screen
  12. Compile and run

The projects themselves form a good progression – extremely easy so far, no code involved, and (with the exception of some confusing things, like how to download the project assets, and how to specify the simulator) very well documented. The problem is that they try to give too much information up front, instead of focusing on getting the reader to a couple quick wins.

So, a bit of friendly advice to all writers of beginner’s guides: imagine that you’re writing for a 12 year old who’s interested but easily turned off, and doesn’t have an adult to go to for help. I guarantee you, you’ll end up with a better book.

Luckily, as mentioned, Sophie is tenacious, and has her eyes on the prize. It’s early days yet, but I know she has an app in mind, and I have faith in her stick-with-it-ness. I’m also curious to see what comes out of the mind of a MineCraft-obsessed 12 year old once she has the tools. Stay tuned – I’ll provide additional updates as we get deeper in.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK