Give the Girls a Chance: Support the San Diego Girl Scouts

You have 4 days to help a whole bunch of girls in San Diego learn to code.

Actually, that’s not quite true. You really only have 3 days, and it’s not just “learning to code” in that shallow, “everybody should learn to code” boot camp sense. This is a full-fledged curriculum. It teaches math, physics, programming, product management and marketing through the creation of an adorable cookie-themed video game. It will undoubtedly strengthen the girls’ collaboration skills and give them a sense of what it takes to bring a real game to market.

There’s something for all skill levels: beginners can work using Scratch, while more advanced learners can work on porting the game to iOS, Android and the web.

Some of the girls can’t afford to participate. The program needs a meeting space, computers, dev accounts, and teachers. As of the writing of this post, they have a little under $16,000 left to raise. And with Kickstarter, it’s all or nothing. For as little as $5, you can be a part of empowering a group of girls by giving them the opportunity to gain valuable skills and experience.

I was never a Girl Scout. But if this program had been available to me as a kid, I dang well would have been.

So buy 5 boxes of Tagalongs and Samoas to support your local troop and then hop over to the Marshmallow Run Kickstarter. You’ll be helping improve the tech industry by ensuring its next generation of developers and entrepreneurs is as diverse as its customers.

A Little Local Project

When people ask me what I do, I tell them I’m a stay-at-home mom. I say it quickly, hoping the conversation will be whisked along to something else before my husband can interject—as he typically does—with “and she also makes apps.” At that point I blush and explain that I don’t really know what I’m doing and no, I can’t really show them anything I’ve made.

I don’t know why I do that, because most people don’t care whether I know what I’m doing or not. They just want to pitch me their app ideas! Unfortunately most of them either exist already, are too expensive to implement, or are just literally impossible. However, a friend posted this simple little request on my Facebook wall a few weeks ago:

A request for a Nebraska license plate game

In 1922, Nebraska adopted a license plate numbering system that assigned a specific one- or two-digit prefix to each county. Therefore, you can usually tell what county someone is from by their license plate number. The reason I say “usually” is because three counties eventually switched to non-specific alphanumeric codes because their population outgrew the 6-digit system.

Nebraska is a big state and there isn’t a whole lot to look at if you’re traveling between towns aside from crop fields, pasturelands, and sand hills. With 93 counties, it would certainly be a challenge to spot them all!

So, that’s what I’ve been working on lately: a little license plate game.

Some features I want to implement:

  • information about each county, including population, county seat, and some fun facts
  • the ability to mark a county as “found”
  • a state map that highlights the counties you’ve found
  • a progress indicator
  • confetti when you find all 93
  • a few stickers or badges depicting state landmarks that you unlock when you find certain counties

The audience for this app is obviously small. It’s a fun project though, and it continues to help me sharpen my development skills. Before Charlie came along, I think I could knock this out in two weeks. With my little buddy around, it’s going to take months. And that’s okay. 😊

Here’s what I have so far: I traced a map of Nebraska in Affinity Designer, exported it as an SVG, and imported it to PaintCode.

Nebraska map in PaintCode

From what I understand, the only way I can toggle the visibility of each red county shape is by giving it its own unique boolean variable. So that’s 93 booleans, otherwise known as “one heck of a switch statement.” 😆

I also have a list of counties in a UITableView and a detail view that shows the location of the county seat, the year the county was established, and its population. Below that will be a fun fact and maybe someday some pictures of county landmarks, if I can find a good source.

In-progress screen shot of detail view

As you can see, the app will be ad-supported as well.

I was going to keep this project under wraps until it was finished, but honestly, I’d much rather share it with you. Some secrets aren’t worth keeping, especially when they might help and inspire other beginning iOS developers to start their own projects!

In Support of (Micro)Blogging

It’s no secret that I’m a big fan of Manton Reece’s vision and passion for the future of blogging and of the open web. I’ve backed his Indie Microblogging book on Kickstarter and am really looking forward to his Micro.blog service, which he has described as “a step forward” in the direction of a more de-centralized, open web.

It’s caused me to reflect on what attracts me to Twitter and what aspects of that could be replaced by Micro.blog if a significant portion of the Apple community began using it.

When I open Twitter, my favorite things to see are:

  1. Links to thoughtful blog posts, articles and podcasts
  2. General commentary on any of the above
  3. Dog pictures and photos from the people I follow
  4. Jokes, memes, banter

I’m old enough to remember when people left the commenting feature turned on for their personal blogs. Then, when everyone became fed up with the toxicity of comment sections and the ridiculous abundance of spam, bloggers started inviting readers to contact them on Twitter (which is, arguably, only slightly less toxic). Manton hopes to successfully combat harassment on his platform, and I have faith in his ability to do so.

I can easily see myself using Micro.blog to read the thoughts, ideas and commentary from my friends and people I admire. For pictures? Most of my favorite people are on Instagram. So where does that leave Twitter?

There are a few things that Twitter really excels at, such as:

  1. Live event commentary
  2. Breaking news (even just local stuff like school closures)
  3. Jokes, memes, banter
  4. Having a huge subset of celebrities, athletes, public figures, TV writers, etc. actively using the service

I find Twitter particularly useful for the first three items (I’m not big on celebrity culture), so I’d probably keep it around.

Microblogging isn’t new. One only need look to the thriving Tumblr community to see that short form blogging is a proven concept. On Tumblr, users don’t just create their own posts; they reblog the creations of others, often providing their own commentary in the tags section (seriously, Tumblr tags are usually stream-of-consciousness sentence fragments). By doing this, users curate a selection of content that speaks to who they are and what they like. This is, in a way, similar to the “link post” format that Daring Fireball uses as well as myself and many other bloggers.

Where am I going with this? I can see kids who have grown up posting anonymously on Tumblr and ephemerally on Snapchat moving on to something like Micro.blog when they’re ready to have a public presence on the web and take serious ownership of their writing. 

I imagine Micro.blog as a vehicle for civilized, thoughtful discussion. Whether it turns out to be so is yet to be seen, but my hopes remain high that Manton will indeed rescue us from the centralized, ever-burning dumpster fires that hold captive our ideas. (Long live RSS!)

macOS’s Sticker Problem

Since iOS 10 launched, many have bemoaned the lack of feature parity between Messages on iOS and macOS. While Messages on the Mac did gain some new features such as rich previews, Tapbacks, and the ability to view stickers, it still lacks the ability to use screen and bubble effects and to send stickers.

I’ve been thinking about how Apple could add stickers to Messages on the Mac and honestly, I’m stumped. It’s a much more complicated problem than I initially imagined.

First, there’s user expectations. I don’t know about you, but I would expect that all of the apps in the Messages app drawer on my phone would also be available on my Mac. For plain vanilla sticker packs that use the sticker template in Xcode, that could potentially be an easy transition, as Xcode could simply compile something that would work on macOS.

But what about sticker packs with custom code? Or full-fledged iMessage apps such as turn-based games? Users can’t tell the difference between a bare bones sticker pack and an iMessage app. They wouldn’t understand why some stickers and apps were available and some weren’t. What then? Does Apple require that developers add a Mac target to their iMessage app projects? (Uh…nope.)

And what about the built-in store? Users would need a way to re-download purchases and to purchase new apps and stickers. But what if a user purchases an app or sticker pack that’s bundled with an iOS app? What if that user doesn’t own an iOS device? They’d be paying for something they could only get partial value from.

Maybe Apple could sync users’ currently installed iMessage apps to the Mac and omit the store entirely, requiring users to manage their stickers and apps on their iOS device. However, requiring that users have an iOS device in order to use stickers in Messages seems insane. This solution also fails to address the issue of iMessage apps even running on the Mac in the first place.

The only thing I can think of in the short term (before the great merging of the iOS and macOS SDKs that will probably happen someday), is that when a user opens the Messages app drawer on a Mac, what pops up is essentially an iOS emulator. Is that even possible? I don’t know. It’d be slow as heck probably.

Maybe I’m missing something obvious, but it certainly seems like a tough problem to solve. Fortunately, it’s Apple’s problem to solve, not mine!

Fireworks

New Year’s Fail-o-lutions (Sent with Fireworks)

I’m a big fan of setting small, achievable goals. I’m also one of those people that adds things to my to-do list that I’ve already done just to make myself feel good. Both of those things sound harmless until I remember that they actually stem directly from my monstrous, soul-crushing fear of failure. ☠️

Failure’s not so bad though, right? It’s like C.S. Lewis said: “One fails forward to success.” I have a few goals for this year, and I also have a little boy who’s on the cusp of learning to walk. So yeah, I might achieve my goals, or I might spend every waking moment pulling my toddler away from the dogs’ water or kissing bruises on his little head. (Honestly, I’m fine with both of those scenarios.)

With that said, here are some things I might fail beautifully at this year:

Blogging More

I love Twitter, but I also love my blog and I feel like I’ve been neglecting it. Also, Manton Reece’s upcoming Micro.blog service has gotten me all excited about self-hosting my thoughts again (check it out on Kickstarter!). Accomplishing this goal will require me to make a significant lifestyle change: I will no longer be able to be a Twitter timeline completionist. It’s just too time consuming! Thinking about declaring Twitter bankruptcy on a regular basis simultaneously pains me and frees me. I’m looking forward to trying it.

There’s a second part to this goal, and it’s this: I want to “be myself” more on the Internet. It’s not that I haven’t been genuine; it’s just that I’ve been a little withdrawn and I feel like my own blog posts have been lacking “voice.” Hopefully that makes sense!

Making Money

I’m becoming a competent iOS developer and that means it’s time to make some money from this gig. My goal is to make $1000 from the App Store this year. This means I’m going to have to work hard and ship some stuff. I’d love for one of those things to be Corgi Corral, however I’m not actually expecting to make any money from that. I just started working on a new project that’s of local interest, and I’m hoping it’ll help me get started toward my goal.

Reading Some Books

Here are some books I’d like to read this year:

  1. Swift Style by Erica Sadun
  2. Making Sense of Color Management by Craig Hockenberry
  3. Aqua and Bondi by Stephen Hackett
  4. A book on either animations in iOS or UI design

There are also a few non-techie books about parenting that I’d like to read (the kind that inspire you and make you feel better, not the kind that make you feel like the world’s worst parent!).

I’m sure I’ll think of some other things throughout the year, but this list is a good start. I also decided that I’m going to try to earn the New Year’s Apple Watch activity achievement. One day down, six to go! 😅