michael

Hello World: My Coding Dojo Essay

The people who are crazy enough to think they can change the world are the ones who do.

I adopted this tagline, in various translations, as my personal motto. It’s derived from Apple’s inspirational Think Different campaign. This summarizes my belief and observation that it takes uncommon optimism and perseverance to do something meaningful and push humanity forward. I firmly believe technology in particular greatly benefits humanity, and I want to build the future. To do that, I need to build up my software development skills, and I believe Coding Dojo will get me on this path quickly.

A Triple Threat

Technology is transforming the economy at an accelerating rate. I believe the 21st century will be not one of job creation, but job elimination. This process will have a dramatic impact on people’s lives. Rather than resist what I see as inevitable, I embrace it wholeheartedly. There are challenges to be sure, but ones I believe that we can overcome and benefit everyone on our planet for generations to come.

My goal is to be a ‘triple threat’, bringing my design, business, and full-stack coding skills to the table. I love being challenged in my work — to grow personally and professionally. My immediate goals after completing Coding Dojo is to seek employment to continue to build my software development skills in particular and contribute to my startup’s development efforts on the side for the time being — a project I remain passionate about.

Longer term, I expect to use my abilities to build something great. One possibility is that my startup, Dodecki, achieves sufficient traction and funding to sustain itself. Other options are working with an ambitious team at a kickass startup or influential tech titan, such as Apple, Google, or Facebook.

My Journey

Wheat and cotton fields surrounded the house I grew up in. I attended a rural school in Oklahoma. The bus route was such that we were the first ones on and last ones off, taking about an hour each way. Seasons are extreme there: Summers can be searing and windy, winters frigid and numbing. For the first half of my life, I was confined to a roughly 20-mile radius of from the nearest town of ~20K people. ‘The City’ was about 2.5 hours away, a place we rarely ventured.

One of my earliest memories — I couldn’t have been more than 5 years old — is sitting on my dad’s lap watching him play a game on the green screen of a Franklin computer he had in his bedroom. In junior high, my teachers paid me to create signs on my Macintosh SE and Performa 400 (the school didn’t have any Macs — only old Commodores and DOS/Win3.1 computers). I took an interest in desktop publishing and produced the school newsletter. By high school, I was helping a mom-and-pop book seller manage their FileMaker database. I also started getting into websites, starting TeenToday.com in 1998, which I operated for a few years until it became too distracting from my course work.

After high school, I was the first in my family to go to college. I went to the University of Oklahoma, which expanded my worldview so much (not to mention my debt)! I became friends with students from other nations and around the US. I took the opportunity to study abroad in the UK for a year, broadening my horizons even more. After obtaining my bachelor’s degree in advertising, I received a job offer in Kona, Hawaii, in 2006.

The job was desktop publishing and design for a local newspaper. Being the most tech-savvy person in our department, I took the initiative to find ways to improve our productivity by implementing shortcuts and complex InDesign styles and creating scripts, teaching myself AppleScript, some bash, and grep to automate repetitive, time-intensive tasks. This became quite useful once the layoffs began in 2009.

But 2009 would be significant in my life for another reason. I’d recently bought my first iPhone and was enamored with the possibilities. On a day in February, while showering in a converted coffee shack I was renting, inspiration struck with the kernel of an idea: I wanted an app to order food and coffee at the places I frequented, and given the iPhone’s capabilities, I imagined this could be accomplished displaying QR codes, allowing users to bypass the queues.

Startup Rabbit Hole

However, I had no idea where to start. Naïvely, I made up graphics describing how it would work and sent them to all the major VC firms in Silicon Valley I could find. Unsurprisingly, I never heard back. I’d tell people about my idea, but most people glazed over. I got in touch with the state official tasked to nurture Hawaii’s technology sector, who told me I would be ‘chewed up and spit out’ after explaining the gist of my idea. I shelved the idea for a while and pursued other ideas, but I kept revisiting it as I saw things trending that way. I just knew I was on to something, but I had to get a proof-of-concept for people to see how it works.

I didn’t want to have regrets — to wake up and read someone else had done what I’d envisioned knowing I’d not at least tried. I had some experience with PHP from my website work, so in 2011 I delved in, teaching myself how to code a webapp from scratch, including using a MySQL database. In a few months, I had a badly-coded-but-crudely-working demo that would allow me to build an order and generate a QR code encoded with those items.

Finally, people took interest and saw the potential. A key person would be my mentor at a nonprofit board on which I was serving. I pitched my vision to him, and he loved it! He brought his much-needed business acumen and helped me take the idea to the next level by doing extensive research, planning, mockups, and, perhaps most importantly, creating a viable revenue model. But I didn’t feel my coding skills were adequate to build it, so we began searching for a technical partner. We found a developer in Honolulu, and flew him over to Kona for our first summit to officially create our startup.

Dodecki was born.

Now, developers are a rare resource. A few months in, before officially completing the paperwork, our CTO resigned for personal reasons. This was right around the time I was closing a $10K investment from a college friend. But I’d become friends with a tech support guy at the nonprofit who also happened to code, and he was enthusiastic about working with Dodecki. So we agreed to allocate the funds so he could work on it full-time. He wound up moving to Peru to be with his fiancée, which extended our runway. My other co-founders and I also contributed funding during this time.

After rounds of layoffs at my day job, I finally received my pink slip in 2013. I moved to Honolulu in preparation for our nearing launch. I began networking in the city’s fledgling startup scene and met Russel Cheng, who was about to commence a chapter for the Founder Institute (he later co-founded a coding bootcamp, Dev League, in Honolulu). Though the deadline had passed, he was able to get me in. I scored in the top 25% of applicants on the rigorous aptitude test they administer. The incubator was tough, pushing us to grow while exposing us to high-caliber mentors. About 25 people started; over time that number dwindled to just 5 of us who completed the course.

As Dodecki’s launch date approached, red flags began to appear. Our developer became increasingly unresponsive. Finally, we were able to get on a call in late 2013, where it was decided he would resign. He just didn’t have the motivation to continue anymore.

So we were left with an unfinished app, and I lacked the ability to jump in a complete the project to launch myself. So my co-founders and I spent the next several months interviewing dozens of devs to fill the role. Finally, we found a fit with a dev based in Alaska. But he decided to scrap the work our previous dev had done in Go and begin anew with Python …

When we finally launched in March 2015, it was more than a year after our initial projection. Needless to say, a lot can happen in a year. I was now residing with a co-founder in Seattle, and we all agreed we just weren’t ready for the mainland and since we had a lot of connections in Hawaii, we should still launch there first. Our tech co-founder was able to raise $20K, and off I went back to Honolulu!

Up to that point, everything was theory. Now, it was real. I hit the streets and quickly learned this was going to be a lot harder than I anticipated. I had about 6 months of runway to get Dodecki going. By the time I came back, I had only signed 4 merchants and had a couple hundred user signups. Shortly afterward, a deal that was in the pipeline came through with a major chain in Hawaii, L&L Hawaiian Barbecue. But not being physically present caused the funnel to dry-up, and I wasn’t able to keep building the connections remotely.

After a year since launch, our dev began to lose motivation and progress slowed. He recently informed us he was suspending his time on Dodecki for focus on his job and family. We were hoping to work with a network of Honolulu food trucks and the University of Hawaii food service, but with development stalled, so did progress closing those deals.

I still believe in Dodecki’s raison d’être and our potential, which is much more than food ordering (that’s a whole other essay). No one else has done what we’ve set out to do. I no longer want to be totally reliant on others to see this through. I’ll still seek out devs to collaborate with, but when need be, I want to have the ability to push things forward myself. I hold no ill will whatsoever toward the devs I’ve worked with — life happens, and I’ve learned a lot. I believe in persistence, and no one is more motivated than I to see this through.

Scholarship Matters

I need a scholarship because these past few years have been incredibly humbling financially for several reasons. Yes, my startup ambitions took a lot of time and money, but more importantly for me was being able to finally sponsor my fiancé to join me in the US after nearly 5 years of engagement.

I’m gay, and, being in a bi-national same-sex relationship, faced extraordinary discrimination from our own government that prevented me from being with the one I love and above all wanted to share my life with. I can’t fully convey the mental trauma we endured because of this. I’d reached out to all my elected officials and anyone I thought could help us, but to no avail. It wasn’t until June 2013 when the Supreme Court finally struck down a key portion of DOMA in the Windsor decision that enabled me to begin the costly immigration process to be together. This happened shortly after I was laid off my day job. I burned through my savings and cashed in my meager 401k to get him here. We had a rough start, nearly becoming homeless in Honolulu shortly after his arrival in early 2014 after some job prospects I had fell through. I quickly sold my car at a loss and we headed to Seattle to stay with my friend who had a spare room. I was on government assistance for a while and had nothing of any monetary value, save my laptop.

My husband’s been supportive of me trying to achieve my dream with Dodecki, but now that we’re out of resources, everything is stalled. I’ve been doing freelance work and odd gigs here and there to supplement our income, such as Rover dog sitting. I know what I must do now, and with his support working at a retail job, we were able to finance my tuition to attend Coding Dojo (my credit is abysmal at the moment), after which I will work in the industry to get us on a firm financial footing and secure our future together.

I’ve sacrificed a lot pursuing my goals, both personal and professional. It’s been both emotionally and financially draining. This journey has been so rewarding, and tested me in so many ways. But I know that I am stronger and wiser for it. I’m excited to continue to grow, learn, and expand my horizons. To leave the world a little better than I found it.

Thank you for your consideration when awarding scholarships.

Epilogue

4 October 2017 (one year later): I received a generous scholarship from Coding Dojo and commenced the boot camp on 7 November — my birthday. I completed the program in March 2017 and within a couple months, landed a software developer job at an awesome startup with an awesome team doing challenging and rewarding work everyday — I couldn’t be happier with how things turned out!

I plan to write about my experience at Coding Dojo at a later date.

Dollars to Donuts: In UX Design, Location Does Not Trump Money Matters

Know your currency — always consider the source when serving localized content.

A good user experience will reference a user’s localization and region settings and adapt the interface accordingly. The most obvious example is to modify the UI and content to use the preferred system language wherever possible.

However, bad things happen when UI/UX designers and mobile app developers lazily defer to a user’s localization settings without regard to the content being delivered.

RegionSettingsiOSThough I am American and live in the US, I happen to prefer the UK region setting on my iPhone and Mac because I want the time to display in 24 hours and the date to be formatted as Day Month Year. On the Mac it’s easier to fine-tune the display of such information; on iOS, there’s much less customization beyond selecting a region. Note that my language remains the default ‘American’ English — not English (UK).

There are other scenarios in which a user will select a different region from their default geography. Anyone who travels abroad, including students, tourists, and business travellers, wouldn’t be expected to switch the region settings on their devices. Also, I’ve noticed immigrants often keep their devices set to their mother tongues.

I’ve documented below some egregious examples of mobile apps that have not thought through the implications of relying on user settings and end up displaying erroneous and confusing information as a result.

When it comes to content being served for business offerings, the currency should be determined serverside based on the vendor’s localenot the user’s region setting.

Here are some examples of what not to do:

GrubHub

GrubHub-BadUX

GrubHub-BadUX-2
GrubHub has a mature app, but there is a major flaw in its reliance on user region settings. The app simply swaps the currency symbol for whatever region the device is configured to use. I doubt Sammy’s Red Hots in Austin would accept foreign tender, but even so — these prices displayed are vastly different if you were to perform the currency exchange rate. 1 USD (US dollar) is roughly 100 JPY (Japanese yen), making the Single Canned Soda appear to be 1¢ (USD) to Japanese users.

Further, some currencies use commas as their decimal punctuation. GrubHub defers to this convention not only in the prices, but in the restaurant ratings as well.

Hotel Tonight

HotelsTonight-BadUX

I recently was looking for last-minute accommodation in Honolulu. My friend recommended I try Hotel Tonight. I download the app, open it up, and am presented with prices seemingly in GBP (British pound sterling). Note that I am in Hawaii and authorized the app to use my GPS coordinates. The prices, it turns out, are actually in USD; Hotel Tonight simply swaps the dollar ‘$’ currency symbol for pounds ‘£’. So again, wrong information is shown and the UX is greatly diminished. Major tourist destinations have users coming in from all over the world. UX designers and app developers must ensure correct information is presented to users. In this case, the prices seem much higher than they actually are.

Groupon

Groupon-BadUX

Groupon defaults its listings to UK businesses, even though I permitted the app to use my GPS coordinates. While Groupon doesn’t make the same error of displaying wrong prices (it will use the correct currency and price for the venue’s location), by defaulting me to its UK listings despite knowing my actual location, it’s a hassle to figure out what deals are near me at that moment.

Kayak

Kayak-BadUX

Kayak tries to help its users out by performing currency conversions on the backend and presenting the adjusted prices based on the user’s region setting. There are pros and cons to this approach.

First, the positive: The information is correct. The information may be more convenient for the user if traveling abroad for a short time. The app clearly displays a notice of what’s happening at the top.

Now, the negatives: For users such as myself who use a different region setting for other reasons, or expatriate users, this will cause confusion. You’d probably expect the £ Economy navigation link to take you to change the currency settings, but you’d be mistaken — it merely pops up a menu to select the cabin class. Even the £ (GBP) per person, including taxes & fees link will not let you change the currency settings. You actually have to go to the sprockets on the first view to change the currency settings for the app. This is unintuitive and cumbersome.

Hello World

Welcome.

I’ve been a visual designer for more than a decade. Like many designers, I have an acute attention to detail. I often find myself staring at various works, analyzing design decisions — colors, typography, space, composition, textures, materials — immersed in thought, taking mental notes about what works and why and what could be improved upon.

This compulsion extends beyond scrutinizing mobile app designs, icons, logos, or advertisements. I examine every type of signage — directional, informational, commercial. When a manufacturer makes a subtle change to a product’s packaging, I notice. On my shaving cream. Burger wrapper. Coffee cup. Livery.

I also study systems. What processes are being used, and how could it be more efficient? What technologies might be applied?

Outside the exclusive L’art pour l’art realm, I believe basic design principles transcend style and motif. As a communication piece, a work must convey information to an audience. Information should be hierarchical, legible, and intuitive. In short, form follows function.

I’m a fan of the Bauhaus movement, whose early students re-imagined design. One of most illustrative examples of the Bauhaus school of thought is the retake of the door knob, which had been used for thousands of years, into a door handle. A simple yet profound improvement transforms the user experience dramatically.

This blog is about design. I look forward to sharing my thoughts and observations to make the world a little better than I found it.