Tuesday, May 14, 2013

I Don't Want Your Exceptions

On the heals of my last post, in addition to not wanting your app, I also don't want your exception.  I mean unless I'm developing it and we are in QA and something bad happens, then by all means, I want your exception.  I guess in this case it's my exception, and my bad.

But when I'm not wearing my developer hat and instead wearing my regular user hat, I don't want your exception.  Ideally I'd like whatever I'm doing not to fail, but if it does fail; tell me nicely that you were caught with your pants down and give me an alternative way to finish whatever I'm doing.  I won't be mad, it's OK, we all make mistakes.  But let me tell you what is unacceptable:

I'm sorry you use WebSphere and I'm sorry you never tested the "Forgot password" option.  I guess your typical users have great memories.  So what am I supposed to do now?  I guess give up?  I suppose go to your competitor?  For now I'll settle for complaining about it on the internet.  Thanks Aetna.

Monday, May 13, 2013

I've never wanted the app

I found something funny while backflipping through the internet (a funner imagery than surfing) and ran into this little gem:

Hilariously foul language aside, the site is a collection of those annoying "Get the app!" advertisements that sites normally force you to click through before getting to the content.

I remember when I used to first run into these things, the flash of anger I'd get when realizing I'd have to click out of some annoying popup or page.  But it became so ubiquitous that eventually I not only came to accept it, but expect it.  It wasn't until they were all highlighted on this site did I realize how commonplace it was.  Why would I want your app?  Why would I want to download a single purpose tool that is only minimally better than your already mobile site?

So what really makes this so annoying?  The fact that you built a mobile app doesn't make me annoyed.  Build whatever you want, it's the fact you are throwing it in my face.  "Hey look at what I made.  Aren't I cool?  Don't you want it?"  "Well no, I don't want it, and I'd wish you'd stop asking already."  It would be nice if there was a place on the screen (of offscreen on some menu) where I could click a button and download the app if I were so inclined.  But making me tell you over and over I'm not interested makes me feel bad for you, and bad for myself for having to keep breaking your heart.  "I'm sorry website, its not you its me.  But if you ask me again I'm going to have to hurt you."

Monday, May 6, 2013

Program Idiomatically

I like learning new languages.  Each language is a reflection of the people that created and use them.  For example, in most Asian cultures, the word for rice is often the same word for food.  Every language across the world has these sorts of things about them and it really is quite fun to find a word that you can express succinctly in one language but is clumsy in another.

The same can be said for programming languages.  If the language you are learning or have learned doesn't teach you anything new about their approach to solving problems or about the language design philosophy, then I'd say learning that language probably could have been skipped; or probably more realistically, you didn't take the time to really learn it.

If you are learning a language, really learn it.  Don't just take what you know from a different language and do the same thing with the new syntax.  Really learn the constructs of the language and their approach to solving problems.  Read code, lots of code written by people who speak that language fluently and try it out yourself.  Do it enough so that you can speak and write in that language similar to how the natives do.  Solve problems, the bigger the better, and speak this new language with other people.  See if they can understand you and your code.

They call this programming idiomatically and that brings us to this weeks article.