The time I nearly peed my pants in a Dutch train

I don't know how it came up but I was just reminded of when I was traveling with my good friend, Karin, in the Netherlands. We were boarding a train that was pretty packed. Because of that and the fact that we were carrying our luggage, we got separated. It wasn't until i sat down did I realize that she was holding our train tickets. Oh and, by the way, even though we were in the same car, there was a separate door that was fully transparent that split the car in half. So I couldn't awkwardly, in my loud American voice, ask if I should get my tickets from her.

But then when the doors close and I see the guys that check your tickets walking around, I immediately panic. I was tired, I didn't speak the language, and I just can't deal with situations like that. I poke my head up to look for Karin and we finally see each other. She gives me an adorable little smile and gives me a thumbs up. I smile back to be polite but I have no idea what she meant by it so I nervously await my turn.

The doors open and the passenger start showing their tickets. The guy finally gets to me and I start to stutter. He quickly realizes that I'm the guy that Karin was talking about when she explained the situation and reassures me. He gave me a big ole smile and went on with his business.

We had a good laugh about it when we met up at our train journey's end but holy crap, was that an emotionally draining 5 minutes for me...


Karin's side:

"I tried to describe you as 'the guy with the black hair' before realizing you were wearing a hat and made my own fool of myself. Then I corrected myself with 'the guy up there that looks scared and doesn't understand Dutch."

Yup... that was me!

Textspansion v2

So as the preview hinted the other day, I've been working on a v2 of Textspansion. I actually started work on it almost immediately after the Hackathon at work which was last Friday to Sunday. Naturally, I thought to myself, "I just spent the last 3 days coding... let's code some more!" That Hackathon was exactly what I needed. 3 days hacking away at someone else's Android code base wanted me to revive that pile of goop code that was snuggled away in a corner and make it beautiful.

Oh dear lord what is this

The original Textspansion was written in approximately 3 months way back in 2011. Back then, design was an afterthought. I think the biggest UI element that I really wanted was the ActionBar because that was the hot new Android UI element at the time. Since we (Sean Barag and I) were aiming for Android 2.3 at the time and ActionBarSherlock wasn't a thing back then, we used some other 3rd party ActionBar-like library.  

When I looked at this screenshot last week, I almost wanted to cry. Where are the margins?! Gingerbread UI elements!? What is this, 2011!? But hey, at least the ActionBar looks great (I still do think that). 

Since the very first iteration, we made small incremental changes to it. We added the ongoing notification in the notification shade because some device manufacturers thought it was a good idea not to have a Search button, thereby ruining our main use-case. Then Ice Cream Sandwich was announced and the Search button was removed completely! Thanks, Google! We added string tokens for dynamic data such as the date or the time (I laugh now because the code for this is absolutely butt ugly. Then I cry.). Finally, I added some tutorial screenshots to replace the list that you see on the left. 

Development slowed down as we couldn't think of anything new to implement while we were in school. We continued to maintain it through support emails and bug fixes. I was totally surprised when we got an email last year from one person telling us the app was crashing when she was trying to import a list of over 500 snippets. First of all, we didn't expect anyone to use it when we first launched it. When it was picked up by Lifehacker, I nearly wet my pants. Then I find out there we have an actual power user using our app? I was super stoked. 

So why am I rewriting Textspansion from scratch? I won't sugarcoat it; I was a TERRIBLE programmer 2 years ago. The main Activity was 897 lines of code. 897! For barely anything complicated! In those 2 years, I like to think I've become a slightly better programmer. I want to take what I've learned in those two years and write better code. Also, Android has changed significantly in those 2 years. Our original backend is almost completely deprecated and is pretty inefficient. The past few days trying to utilize the modern APIs have been really exciting. Finally, something something phoenix analogy.

Enough rambling, here's a screenshot of Textspansion 2.

Seriously, I'm pretty hungry.