“We all have a comfort zone, a learning zone, and a panic zone.Aim toward the outer edges of the learning zone. While you don’t want to panic, you’ll grow the most when you’re past your comfort zone and stretch yourself to learn something new.”

Lev Vygotsky

The stories that bound us

Why I suck at writing, hate reading and have never been able to pick up languages… and how I proved myself wrong.

I’m sitting in my dimly-lit third grade classroom. My mom and I are facing my English teacher, sitting in hard, vibrantly-colored, plastic chairs. My teacher was your typical sweet southern grandma, until she opened her mouth and shared her opinions. 

“I know I’m not supposed to say it,” she said anyway, from her wrinkled, fuzz-covered lips, “but if I were you I’d go home and give him a good spanking.”

I don’t know if my mom nodded, ignored it, or what came after, other than the feeling of betrayal from my teacher, mom, and the educational system. I wasn’t a bad kid or bully, and never lobbed spitballs in class. This was Mrs. Manard’s solution to my “C” level performance.

Looking back, I tried things required to excel in school but, try as I might, I couldn’t do them the way I was supposed to. I disliked the slow pace of English class and reading large books that seemed irrelevant to my life. I already knew how to read, write, and speak. Knowing the rules to why one should never end a sentence with a preposition felt unimportant.

My foreign language class wasn’t much different. Aside from having a much nicer teacher, I didn’t do well memorizing all the rules. There was no satisfaction in the months of repetition required to eventually say “your cow is fat.”

I liked music, philosophy, painting, architecture, and sports. And finding ways to make money. None of these books, lectures, or classes helped move those interests forward. 

Ironically, I loved learning. I was glued to PBS television programs. I loved understanding how things worked and chasing the”why” of our physical reality. I gravitated toward disciplines showing success and failure quickly and clearly. There was instant feedback and noticeable improvements from practice.

A few years later I discovered coding. Again I found a connection to the instant feedback from trial and error. A program would spit back whether you were right or wrong upon compilation. You knew instantly. Even if you had to tear your hair out to find a solution, there was satisfaction in knowing a discrete solution was hidden within the impartial logic of a computer.

So, I had my answers in my late teens:

I suck at english, and was unable to learn languages.

I wore it on my sleeve for decades.


Some stories, like mine above, become obsolete in adulthood, but never get a makeover.

Being a “bad speller,” “bad at math,” or “not being witty” are a few examples of stories you may have calcified during childhood. They are either told to us, beat into us, or remnants of unwanted consequences we had to endure.

These stories are as relevant to us now as a favorite toy or blanky. They are anchors that swaddle us in chains, leaving us comfortably limited. We see these features as foregone conclusions, but, somehow, we are unable to remember when these features formed or when we last questioned them.

Maybe it’s time to update our stories.

My childhood story above is part of my history. It made me who I am today. But, it’s based on old experiences and, therefore, likely outdated.

It’s time to create new ones that are more relevant to my current situation, environment, social circles, and interests. It’s not about changing who I am, but ensuring I am not limited to who I once thought I was.

Recognizing this immediately changed my perspective. I went from reasserting my shortcomings out of habit, to searching ways to reexamine them.

When asked “do you speak any other languages?” I caught myself responding with a canned  “I am good with learning software languages, but have never been able to grasp foreign ones”. Sometimes I’d add comic relief with “I like computers more than humans anyway.” The first time I used that response was in high school. High school! How have I coasted on that response for so long? Hidden, very literally, under my nose. 

With my revelation I began looking  for language apps. If one didn’t suit me I tried another. I found groups at work that were studying languages. (Turns out a lot.) I Googled hacks to learn languages quickly. I found platforms that connect users to native speakers around the world so they could learn for pennies on the dollar. I kept what I liked and threw out what didn’t work for me.

Just over a year later, I’m speaking French and Spanish at an Intermediate level. Like a veil being lifted around me, I love recognizing the lyrics of foreign songs, working to keep up with rapid exchanges of dialogue in foreign flicks and eavesdropping on tourists to unravel their quickly articulated stories at my local coffee shop.

I then had to ask, is my line “I suck at English” or “I hate writing”, true? To answer that as an adult, I watched YouTube tips on writing, wrote blog posts every day for a year (as short or as bad as they were). I began to read all the books I wanted, sometimes a few at a time, many of which were required readings in school I had then skipped from “lack of interest”. Some, I never finished. I got a writing coach, and found tools and apps that served me better. I fell in love with the power, beauty and style of writing. I enjoyed the escape of binge reading classic fiction, then absorbing the lessons from a litany of non-fiction titles, and then reading nothing for months at a time. I took breaks not defeats. It was gradeless and fulfilling. 

I may never have disliked any subject, be it Foreign Languages or English, but rather loved learning at my own pace and following my own interests. Worst of all, I let the construct of success and failure chisel its rules into me and never thought to question outcomes and decisions of a child. 

Let’s let our old stories end, and make room for a new, liberating, reality.

You too can redefine your reality 

I had to catch myself repeating old facts to myself and others, and then process whether it is an old fact I wish were different. That’s your clue. Then, allow myself to reset and re-create that truth from scratch. 

  1. Catch yourself. When you hear yourself assertively self-deprecating what you’re capable of, replace it with “I haven’t taken time to be good at it.”
  2. Step back and see if you can pinpoint when you formed that opinion. Who were you then? Is it possible you’ve evolved in other ways since then? Do you view the issues that blocked you then still present now?
  1. Cut out something you do each week that doesn’t serve you. Do you spend hours on a phone or TV? Maybe cooking everyday is a burden, art or by one meal out it all you need. Can you trade a day, hour, or activity to investigate this question? Maybe block your work calendar for 30 mins, one day a week, or add an activity to your wake-up or sleep ritual. Maybe you mow the lawn one fewer time a month, and it grows just a bit longer. These are some of the thousands of trade-offs you can make to open yourself up to new possibilities. Personally I deleted all my social apps, and replaced them with Duolingo.
  2. Chose one thing from the list in #1 and start researching ways to engage with it for a few minutes gained in #2

Give it 6 months and see if your story changes.

From a writing hater, to a writing lover

Where the hatred started

Writing has never been easy for me. It isn’t for a lack of wanting, and my early school years weren’t nurturing.

Since I can remember, I yearned for the ability to get all my thoughts, observations and theories onto paper. My hands just couldn’t keep up. When I took a shot at writing quickly, the results were illegible. When I took the time to write cleanly, the thoughts would slip through my fingers.

I couldn’t strike a balance and wasn’t willing to push through the torture of building skill through the slow, methodical, practice of writing and rewriting my ABCs. I neither had the penmanship nor the patience. And, with that, I could only assume writing wasn’t my thing.

This frustration as a child turned into a hatred toward writing, and that hatred turned into avoidance.

I slogged through school and found creative ways around my poor penmanship. It’s not like I didn’t love other art forms, but putting pen to paper felt dull, overly academic, and unimportant. I didn’t see how writing could have the same beauty and value as a Picasso, or express the emotions of a Rachmaninov.

In an adolescent, cool-guy way, I would take a sort of pride in “not being a writer.” Or, I’d say, “I’m good at other things — how about you write it up?” It was easier to do than admit I was bad at it. The way most children respond when they try to justify a lack of skill in some area.

That became my story. And it was left unedited for decades.

Along the way, with the advent of the computer, I thought I was saved. I was one of the lucky ones where writing by hand became obsolete in my lifetime. Good riddance. I could finally leave handwriting in the rearview.

Once I was out of school and gaining balance in the real world, I took another crack at writing. Now that writing by hand was no longer a blocker, and spelling and grammar was managed by machines, maybe I could become a writer after all.

Confronting what I now realize are years of excuses, I decided writing would no longer be a weakness in my armament of tools. It was time to revise my story. Since then, I’ve had a lot of catching up to do.

Okay, let’s try that again

In my 20s, when I started my first company, I realized the power of the written word. In order to communicate a vision at scale, one must codify their thoughts so others may follow. In order to improve, I started a blog and set out to post daily for a year. While I evolved considerably from my first post to my last, I still had a long way to go.

Years later, after hitting a plateau and going on hiatus, I decided to hire a writing coach. She swore by the power of “morning pages” laid out in the book “The Artist’s Way” by Julia Cameron. In it, the author believes one must return to the written form to connect with one’s inner artist. My new teacher passed on that requirement to me, and with it, I had come full circle. In order to learn to be a writer, I had to once again slog through my pitiful excuse of penmanship.

What surprised me about this go around was, for the first time, this teacher told me she didn’t care about how my writing looked or what it said. To her, none of that was important. She just wanted me to use my hand to write — anything. As long as paper and pencil were involved, she’d be happy.

It was — freeing.

It shut down the overly critical side of my brain, further imprisoned by early schooling.

I had a second wind.

I began to write in my notepad, about nothing, for five minutes a day. Through aches in my fingers, and in spite of all my ideas vanishing right as I picked up my pencil, I followed the prescription. I planted notebooks, pencils and sharpeners around the house, so nothing could get in the way when the compulsion to write struck. At times, when I had nothing to say, I would scribble some variation of, “I am writing this even though I can’t think of anything so that I don’t stop writing until my time is up.”

After a few weeks, I could see a connection forming between my hand and my mind. Where thoughts used to swirl around in my head and go nowhere, now they had an exit route. I developed a pavlovian reaction to search for paper when the marble in my head began to rattle. And, unlike the brevity of notes I took on my phone or computer, I found my handwritten entries getting longer at each session.

The potential was certainly there, but I still had one issue to overcome: I couldn’t read any of it.

Tech to the rescue

I’m a gadget guy. And, I’ve used my affinity toward doodads as a mental hack, tricking my mind to focus on important things I need to do that I have no interest in doing otherwise. Sure, I could vacuum and begrudgingly roll over the carpets while wishing I was doing anything else, but I prefer to get a Roomba, configure it, and whistle while it works.

“Hold on!” I thought one night, staring at my pad and pencil, mustering the strength to start yet another writing session. “Can this trick help solve my aversion to writing? If a pencil and paper is a painful reprise to teenage angst, modernizing my workbench with A.I. apps that digitize hand-written text via an iPad and Apple Pencil is a different beast entirely.”

I can get behind this.

I scoured the app store for apps that could recognize my chicken scratch, while providing the right amount of tech-nerdiness to put a spoonful of sugar into my writing regiment.

I knew I found “the one” with Nebo.

The app perfectly merged modern digital tech with old-school writing and I found myself looking forward to engaging with the experience. I went from being forced to do “morning pages” each day, to feeling like I couldn’t stop journaling, writing or editing my work. What started as a few sentences a day has now blossomed into pages. In fact, this very text is being tapped out on my iPad using my Apple Pencil while laying in bed at 11:14PM with my wife asleep beside me, and I am having trouble stopping.

Whether one considers me a writer or not is unimportant, for I have fallen in love with writing, and with it my story has finally been rewritten.

Biohacking: The Iceman Runneth

Ever heard of Wim Wof? If not, take a minute to Google him. What you’ll find will garner a few reactions. First, amazement as you watch videos of him climbing K1 or Everest in just his skivvies. Maybe, a feeling of disbelief when the Dutchman characterizes his extraordinary feats as simply an act of “mind-over-matter”.

What really perked my ears, however, was the Vice episode I came across that reported how science has been able to not only prove his ability to “focus and breathe” his way into recovery from an injection of a viral disease, but also an ability to teach his others how to harness the same powers. By being repeatable and very much teachable, I thought, “Hey, maybe this Iceman guy and process is legit.”

While watching the Vice episode, I caught a short glimpse of Wim teaching the correspondent a breathing lesson that is supposed to trigger an adrenaline response that will keep them warm when they take a swim in the frigid Amsterdam waters. I caught, “breath deeply longer than you breathe out.”

That stuck with me.

land-on-your-forefoot-700_0

I wouldn’t call myself a runner. At my peak running condition a few years back, I ran a 5K once or twice. I haven’t run much since, and, lately, when I’ve gone for a jog, I’d clocked myself around a 10″ mile. It isn’t an easy run either.

Shortly after I saw the Vice episode on Wim Wof, I went for a jog with my buddy Vishal. He is a far better runner than I, running marathons in the past. He always dusts me on the last leg of our jogs, proving just how much he holds back in the beginning. For some reason, the thought of Wim’s breathing method and how it spikes one’s adrenaline came to mind.

I started to breathe in deep – hold – and breathe out quickly; repeat. A minute later, Vishal began to slow down.

Soon I realized that he wasn’t slowing down at all, but, in fact, I was speeding up. It was happening effortless to boot. My lungs felt like they were stretching beyond comfort, but I wasn’t out of breath. My legs didn’t feel like they were moving any faster – I felt like I was gliding. It was a wonderful feeling. By the time I stopped, Vishal was a block or so behind and he said it was odd. That  seemed to start pulling away in front but that I didn’t look like I was even trying hard.

I explained the story of the Iceman and the breathing I used and a week later, he told me that he used the same technique and he went from a 9min mile, to a 7min mile in a matter of a couple days.

Again, just like the Vice episode I saw, the process is repeatable, teachable and the results are amazing. The Iceman now runneth.

I’m not sure whether it is simply a question of focus spawned my my focus on breathing, or if I am in fact manipulating my physiology through a control of my adrenaline, like the Iceman claims to do. But One thing is for sure, I have found a new way to run and I am loving it!

Attention Deficit or Boredom Adverse

“Back when I was a kid we had far greater attention spans!” Well, whoopy-doo for you.

Youtube, TV, Commercials, Audio books and Facebook. The list of products that drive us into a pattern of ingesting only short-blips of information goes on and on. Some believe the consequence is a loss in our ability to pay attention to any lengthy (more traditional) format, and in their mind, anything of real value.

I take issue with that belief entirely. I’d rather ask this: Why is there a requirement to be able to pay attention to long-duration formated info in the first place, and what makes that info so much more valuable? Isn’t the goal of listening, reading, or watching information to comprehend it? Where does “length” and “staying still” play into that requirement?


As a kid people thought I had attention problems. I had tons of energy and not enough places to put it all, especially during school hours. Reading one long-ass book (that I had no interest in) for a class (I didn’t care much about) was not very motivating; I perceived writing in much the same way. Needless to say, I didn’t accel in those areas much.

For me, learning was just that — learning. It wasn’t a proof of my ability to sit still and do nothing for a long period of time, or to impress a teacher. Learning was all about answering questions, digging into things that interested me, and unraveling things that confused me. When the internet became “a thing”, I found myself ingesting tons of information daily, and it allowed me to pursue those questions with ease.

Fast forward a couple decades and I’m sitting here auditing an edX class at 2x-speed. I’ve skipped over a few sections that do nothing more than set the audience up for what’s coming (e.g. Boring. I get it. Let’s move on). And you know what? I love it — I love taking classes! As for reading, In this new environment of self-paced, kindle-based, materials I’ve found myself reading more books than I ever had in highschool. Even writing has become interesting to me. I started a blog 7-years ago to become a better writer, and, over 200 posts later, I’d like to think I have improved quite a bit. With all this interest in taking classes, reading, and writing, I have to ask myself: do I have an attention problem, or am I just terribly adverse to boredom (and the old, slow-moving, teaching styles)? Which led me to ask, why the hell would anyone want to be great at being bored in the first place?!

As our technology pushes us into a new format of learning, maybe it is less about “shut up and sit still”, and more about, “here is the world — have at it!”

It’s easy to think the world is getting dumber. We see “views” on YouTube of someone getting hit in the nuts soar into the millions, and people with obnoxious (or useless) things to say use social platforms to say them at scale. It is important to remember that with or without these new mediums people have been dumb for a long time. It is also important to keep in mind that the speed of advancements in technology are increasing exponentially. Those advancements push social media, but they also cut the time it takes to roast a turkey, pop popcorn, and provide classes to people like me that can now learn more efficiently than they ever have before.

I think learning was built on an extremely inefficient foundation because we didn’t have any other way to do it. Now, we are finally trimming the fat. The problem is, our kids are now able to eat lean beef but we are insisting that they still must chew the lard first. Why?

I say, take those little bits of data, re-arrange them, pause them, and fast-forward them as you wish. Let your curiosity for answers be the guide, not a demonstration in formalities.

We aren’t losing the art of education, we are deconstructing it and reassembling it through the gift of technology. The world has started to suit everyone’s individual pace, interest, and schedule. All the lost hours of dramatic pauses, introductions, segues or fluff are gained in the hours we can instead paint, exercise — or better yet — learn something entirely different.

Sure, it may mean that listening to a 1-hour speech at work will be more difficult for a person that is used to this newer, more efficient medium — but who’s fault is that? Why the hell are people talking for an hour anyway?! Is it necessary to achieve their objective? Are we simply committed to a style of interaction in the real world for no other reason than our attachment to tradition? Are we simply not yet ready to embrace a more efficient style of information-sharing that the digital world has built from the ground up? If you are looking for art and style, maybe you should go see a play.

As we move away from requiring our audience to sit down and shut up for an extended periods of time, let’s keep our goals in mind. We are not here to prove to others that we can sit through something that does not excite us, but to find out what does. It is not to prove we can endure boredom, but to break the shackles that required us to be bored in order to learn. It is time that we agreed to fight boredom, and recognize it as an old, outdated, emotion.

TuneTime: This Game App Takes Music Trivia to the Next Level

Now that I’ve learned how to natively develop for iOS, I’m starting to have some fun with it! In this case I’ve built a piano based music trivia game.

appstore-button

How it Works:
Each team attempts to play a secret song on the provided keyboard (via a simple play-by-numbers music score). The player gets no indication towards the timing or rhythm of the song, just the notes. The team must figure out what the name of the song is before the 30 second timer runs out.

TuneTime-homescreen

game-screen-TuneTime

 

Updates/Feedback

  1. First time use of app user is very confused as to what to do next. Usually they click solo first, and skip over instructions.
    1. Potential Solutions: A intro screen and walk through of the game would be helpful. Though that could be skipped too. So offering an “easy” version of the game that grows in complexity over time may be more helpful. e.g. less keys, keys to play light up etc
    2. Note: Users wanted to keep the keyboard as the point of interaction.
  2. Even when the instruction are read there is a lot of confusion on how the workflow of the game works. This was expected as Jackie and I even got confused playing it ourselves. Just didn’t have ideas yet.
    1. Potential Solutions: One user used the game in a way that gave me an idea. Before I thought the lack of providing a rhythm would make the game fun, ergot I set it up so the player didn’t know the song name before playing (this add to a very complex workflow).
      This user wanted to know the song name they played ahead of time and seemed to have a lot more fun trying to communicate the song name through the keyboard, to the other players. This workflow would be MUCH easier to present and understand. I’m just not sure if it would be too easy. Maybe there are other ways to add complexity over time (per #1)
  3. People who have never played the piano have no idea what “#” means. Though I suspected it wouldn’t matter since all the keys are labeled, it was to much information to digest on a first time use.
    1. Potential Solutions: per #1. A “how to use the kayboard and music sheet” before presenting the keyboard would help. As well as lighting up the keyboard for first time game use.
  4. Keyboard was a bit too small
    1. Potential Solutions: Not sure how I can have many song with few keys. The original keyboard had bigger keys but couldnt get much out of it. This could again play into harder level, more songs and smaller keyboard.
  5. When the game got going people had some laughs and fun, so the potential is there, just needs a much smoother and well informed experience.

Key links to finally learning iOS development

If you haven’t picked up any iOS development skills yet, now is the time. It’s never been easier. Below are my reasons to finally take the plunge (successfully), followed by some helpful links to help you learn to create your first app too.

Contrary to popular belief, I’ve never coded up an iOS app myself. My excuse? For one, hiring great iOS developers gave me more time to focus on building great teams and products for my startups.  In addition, Objective-C has a unique syntax and requires a deeper understanding of handling memory, which demanded even more learning time. Finally, there was an immense level of complexity involved in testing, certifying and delivering native iOS apps to market. As a matter of fact, those higher than normal learning curves inspired many startups (including a few that I launched) to focus on making developing apps easier.

Since I already had a strong web development background, I always found it easier to build prototypes for my ideas using the latest web-based, app-building, technologies. Year-after-year a new product claimed to have “the right stuff” needed to create an iOS app that felt fully native, without needing to learn to code directly in Objective-C. Year-after-year I found those claims to be more wishful thinking than reality. Although quicker to develop, those technologies always left the final product feeling hacky, unresponsive or limited, and, in order to go full steam ahead with a project, a fully native version would be necessary.

Earlier this year I took another shot at using a new piece of web tech to build out a mobile app idea I had. This time I learned Polymer 1.0. I loved it as a web framework, but my hopes that Google had managed to finally develop an SPA framework that translated into a smooth functioning mobile app was, yet again, overly optimistic.

It isn’t really the technology’s fault though. The rendering mechanisms for HTML/Web (et al.) just weren’t made to process smooth app-like features. It renders top to bottom, grabs all its assets remotely, makes a lot of inferences, is based on standards that try and work across an array of products made by a variety of companies, and manages general security measures that must be spread across every site. In the web world, the browser is the ad-hoc gatekeeper, and its fighting to keep up. The mission of a browser is critically different to that of apps: to allow a user to serendipitously browse a large breadth of sites in a single view, all the while protecting the user from exposure to malicious pages that are inherently sprinkled into a user’s browsing session. Native apps are different. Both the user and the developer have a strong working agreement between what the developer would like you to see and how the user would like to see it. With that level of trust the developer is able to confidently create an experience specifically tailored to the goal of the app and the interest of the user; the OS can focus on greasing the wheels.

Sorry, I digress. Point is, yet again I was disappointed in what the web (and web wrappers) could offer, and, almost as a yearly tradition, I took a stab at learning how to develop directly in iOS again. This time, I’m glad I did!

Maybe it was due to all the free time I had while on our year long trip, but I doubt it; it came rather easily this time around. No, I think the main contributor to my smooth transition is that Apple has done a stellar job incrementally improving the life of an iOS developer over the years. I think the real turn was the release of Swift in 2014. The language is a natural leap from other common languages, as compared to its Objective-C counterpart. Also, there is no longer a heavy requirement to understand how to manage an app’s memory and delegations. The other power ally in creating ease for iOS developers is XCode’s more powerful yet simplified environment, along with interactive interfaces like Storyboards, segues,  IB Designables and more. In addition, now that TestFlight is fully integrated with iTunes Connect and Xcode, testing an app on a device, releasing it to external testers, and pushing it to the App Store is only a few clicks worth of effort; fairly brainless really.

All this added up to a surprisingly easily made V1 of my very first fully native iOS app! Yay! This will be fun 😀

Links to Learning iOS

Here are some key links I bookmarked while learning Swift in Xcode 9.0, including: vides, Q&As on StackOverflow, and tutorials. I strongly recommend learning the language by working toward implementing an idea you want to bring to life. Not only does it give you an inherent direction in what needs to be learned, but it also helps you push through the tough parts of learning that would otherwise spell defeat. The app I built used APIs, JSON, CoreData, Table Views (for listing data), Audio, and more. Hope this list helps!

 

UI Table View Controller

Prototyping a Custom Cell

http://www.ioscreator.com/tutorials/prototype-cells-tableview-tutorial-ios8-swift

View at Medium.com

http://stackoverflow.com/questions/25541786/custom-uitableviewcell-from-nib-in-swift

Adding Animated Effects to iOS App Using UIKit Dynamics

How to Create A Dribbble Client in Swift

https://grokswift.com/uitableview-updates/

Async Calls

Search Bar

http://shrikar.com/swift-ios-tutorial-uisearchbar-and-uisearchbardelegate/

Storyboards Navigation and Segues

http://stackoverflow.com/questions/26207846/pass-data-through-segue

http://www.raywenderlich.com/113394/storyboards-tutorial-in-ios-9-part-2

http://makeapppie.com/2014/09/15/swift-swift-programmatic-navigation-view-controllers-in-swift/

http://stackoverflow.com/questions/12561735/what-are-unwind-segues-for-and-how-do-you-use-them

http://sree.cc/uncategorized/creating-add-target-for-a-uibutton-object-programmatically-in-xcode-6-using-swift-language

http://stackoverflow.com/questions/25167458/changing-navigation-title-programmatically

http://stackoverflow.com/questions/29218345/multiple-segues-to-the-same-view-controllerhttp://stackoverflow.com/questions/24584364/how-to-create-an-alert-in-a-subview-class-in-swift

Reusable Xibs

Core Data

https://www.andrewcbancroft.com/2015/02/18/core-data-cheat-sheet-for-swift-ios-developers/#querying

http://stackoverflow.com/questions/28754959/swift-how-to-filter-in-core-data

http://jamesonquave.com/blog/developing-ios-apps-using-swift-part-3-best-practices/

http://stackoverflow.com/questions/1108076/where-does-the-iphone-simulator-store-its-data/3495426#3495426

Network and Observers

http://stackoverflow.com/questions/24049020/nsnotificationcenter-addobserver-in-swift

http://stackoverflow.com/questions/25398664/check-for-internet-connection-availability-in-swift

https://www.andrewcbancroft.com/2015/03/17/basics-of-pull-to-refresh-for-swift-developers/

http://www.jackrabbitmobile.com/design/ios-custom-pull-to-refresh-control/

http://stackoverflow.com/questions/24466907/passing-optional-callback-into-swift-function

Gestures

http://www.raywenderlich.com/77974/making-a-gesture-driven-to-do-list-app-like-clear-in-swift-part-1

http://useyourloaf.com/blog/creating-gesture-recognizers-with-interface-builder.html

Designables

http://iphonedev.tv/blog/2014/12/15/create-an-ibdesignable-uiview-subclass-with-code-from-an-xib-file-in-xcode-6

Page View Controller (Pages on swipe control)

 

Improving my Ilustrator Skills

Since authoring Erec Makes a Fire I’ve become quite familiar with Illustrator. Though Lain took care of drawing all the characters and objects I spent months of man hours reworking the layout, extending the scenery and modifying his artwork based on reader feedback to keep up with each iteration of the story. That being said, creating an illustration from scratch is VERY different than editing one already made.

Motivated by new concepts I’m working on (such as books, apps, and websites), I wanted to bridge the gap between my offline art skills with that of my digital to be more self-reliant when original artwork is needed. I wanted to take the more directed “deliberate practice” approach to learning this new skill and decided to post what I am creating for critique.

I really like the flat UI look, so my goal is to get to a point where I can replicate that look and feel – at least to some reasonable degree.

I needed a horse for an intro scene I was putting together for an app I was building, so I figured it was a good time to crack open Illustrator and give it a shot. Here is the first version. Sadly, this took me many hours to create. Much of the time was learning how to manipulate the tools, but even more came from the constant iterating (or resolving in art speak) to something I can be happy with.

horse-flat-vector-blink

I thought the tail was too boring, but I also didn’t want to over complicate the simplistic nature of the illustration. After another few hours of trial and error I came up with the final horse below. I  got a bit carried away in the fun and ended up creating a sprite that walks a bit, then turns to look at the viewer and blink.

horse-flat-vector-sprite-small

 

If you have any useful tips, or feedback to improve the horse, please let me know.

I really enjoyed working in this medium and look forward to continuing to lear more about it.

How to create fast motion videos on your iPhone for family vacation updates

On our trips to locations around the world our family and friends want a way to get an idea for what we are up to.  Like most people, we post pictures to Facebook that try and capture the essence of our trip but video is so much better at truly capturing the 3-dimensional realities of what we experience.

Now, with tools like Hyperlapse and iMovie on iOS, you can create a video that summarize an entire site in a timely way for both the creator and viewer.

Here is an example of a video of our trip to Cappadocia I created entirely on my iPhone:

Here’s how I did it

  1. Download Hyperlapse by Instagram on your iPhone
    1. Not only does hyperlapse allow you to capture a sped up versions of your video, but it adds a layer of stabilization so to reduces camera shake.486943823_640

      hyperlapse
      Hyperlapse’s home page, recording and saving screens
  2. Use Hyperlapse to shoot some video.
    1. Even though there is built-in stabilization, it behooves you to try and keep the camera as steady as possible.
    2. I often save my video at “2x.” Half the size (in time and memory) as a regular video and, as you will see when we edit in iMovie, you get a wider range of fast-forward-play options.
    3. Once you finalize the video it is saved to your photo library for later use.
  3. Download iMovie on your iPhone

    at-the-core-imovie-hero_1
    iMovie app in edit mode
  4. Follow the instruction to start a new movie or trailer, and select “movie”
  5. Choose a theme (I usually just choose simple) and select “create”
  6. Follow the instruction to add “video, photos, or audio”
  7. Select one of your Hyperlapse videos from your library
    1. Tip: Pressing play will allow you to preview the video before adding it. The arrow pointing down will import it into your project.
  8. Drag and drop your movie clips in the order you want them to play
    1. Tip: Taping a clip once selects it for editing. If there is a yellow border on the clip, you are in edit mode. If you want to move the clip, tap outside the clip so it is no longer highlighted and then tap-and-hold the clip until it is draggable.
  9. Add transitions between the clip by tapping the small square box in between each clip.IMG_9912
    1. Tip: If a clip is too short the transition options will be grayed out. You must have at least enough time in a clip to allow a transition to complete in order to select it.
    2. Tip: Some transition have multiple modes. After choosing a transition by tapping it, tap the transition again to get the different variant. Eg, fade to black or fade to white.
    3. Tip: This is one of the places choosing a theme in the “create project” options will have an outcome. See the “theme” transition. That will change based on the theme you chose. Tap the gear icon in the bottom right of the application to change the theme after a project is created.
  10. Edit the the duration of a clip
    1. Once a clip is selected, and highlighted with the yellow border, you can drag the ends of the clip to shorten or elongate the duration of the clip.
  11. Speed up some “in between” clipsIMG_9914
    1. Some clips will still run a bit slow due to things like how long it took you to walk to the end of a block or to pan 360 degrees. You can speed up segments of these clips to move the video along.
    2. Tap the clip to go into edit mode.
    3. choose the meter icon (directly to the right of the scissor icon.) You will then see a meter labeled 1X
    4. Drag the knob on the meter to the right to speed up the clip. You can move it to a max of 2X (which is why saving the clip as 2X allows you a range of 2X to 4X which.) There are ways around it I will go into later.
    5. If you only want to speed up a segment slice the clip into more segments (explained below) and speed them up without transitions at their ends.

The functionality of iMovie is limited. Most of the effects you will create work off of the duration of each clip in your project. Therefor, you can manipulate your effects by slicing your clips to suit your needs.

How to slice a clip

IMG_9913

  1. Scrub (meaning, slide the white line A.K.A the video head) over the moment in the clip you would like to split into two.
  2. Select a clip for editing (make sure the scissor tool is highlighted.)
  3. Choose “split”

Now you have two clips for the same scene. As long as there is no transition there will be no visual result on the video due to the “split” you just made. Like I mentioned before, you are merely using the split to tell the effects we are about to add when to start and end. Eg, the titles and captions.

Adding a Caption or Title

  1. Select a clip for editing
  2. Select the large “T” (third icon to the right from the scissor.)
  3. Select a caption type
    1. In order to edit the text for a caption or title you will need to tap the video player, above the film section of the application.
    2. Tip: After choosing a theme, extra options will display above the edit tray such as “Center”, “Opening” etc. These will position some titles, as well as change the format for others. Play around with them all to get a feel for the options you have.

By now you should have a video. To get a smooth video will take practice but now you will have all the tools and tips to do so 🙂

To save the clip as a video you can post to Facebook, go to the movie listing (if you are editing a movie project now you will need to tap the back arrow at the top of the application.) There you will have options to save the film to your library.

Tip: If you want to speed things up or make more advanced transitions you can save the edited video to your library and then create a new project with that saved video. You will than be able to speed segments up by another 2X or add transition to clips that may have been too short in your original movie.

Before we go, here’s a bonus tip …

How to rotate movies

I originally stumbled onto using iMovie when I accidently recorded a video vertically and needed to rotate it. Here’s how to rotate movies:

  1. Open a movie in iMovie (if you do not know how to do so read the tutorial above.)
  2. Pinch the movie preview viewer (the area above the clips and play head line) with two fingers and rotate them (like screwing off the top of a bottle.)
    1. You will then see an circle arrow appear on the video. Once you see that remove your fingers from the screen.

IMG_9915

 

Here is a quick video of some of the features in practice, as described above.


Enjoy!

A farewell to B.B. King

Picture printed on the shirt from the concert
Picture printed on the shirt from the concert

So sad to hear B.B King is gone today. I remember going to a concert with him and (the then teen sensation) Johnny Lang. I even have a shirt from the concert in a drawer at my parents house with this picture printed on it.

I remember Johnny Lang being technically phenomenal (regardless of his age.) He had strong vocals, charisma on stage, and sick solos. After finishing one of his 100+ note solos he looked over to B.B. King to carry the tune. B.B. closed his eyes, shook his head slowly (you could see he felt the music take over his body) and raised his guitar to play. Only one note came out of his guitar when he strummed, but it hit me right in the chest! It was one note against a hundred, but the wisdom and emotion was completely undiluted and intense. I’ll never forget what I felt that night: the power of style.

RIP B.B King.