We all Have a Platform for Creative Expression

Recently, I participated in a group meeting at work in which we were discussing creativity.  The facilitator of the discussion, concluded the session with a simple, but powerful statement:  “We all have a platform for creative expression, regardless of the nature of our work.”

Could anything whose creation requires skill and natural talent, and engages those who interact with it, be classified as art?

As a developer working in a group of creatives, I am not typically the one considered “creative.”  However, my mind keeps drifting back to that statement – we all have a platform for creative expression.  It feels foreign to think of the work I do in the context of creative expression.

Traditionally, the word “art” conjures mental imagery of paintings, poetry, music, etc.  Could anything whose creation requires tremendous skill and natural talent, and engages those who interact with it, be classified as “art”?  Maybe.

Many professionals not typically considered “creative”, could indeed, in this context, be classified as artists.  Take teachers, for example, would you consider a teacher an artist? Teachers chisel their students’ intellect with well planned lessons, targeted tutoring, and creatively keeping their students engaged in learning. A teacher turns a blank canvas into a well-educated, self-aware adult destined for greatness.

What is your platform for creative expression?

In my case, I’m a web developer. I may spend hours or days chiseling away at that blank screen to hash out complex code which in turn greets visits with a smooth, intuitive experience.  Visitors to my website, would experience an extensively laid out front-end and a strategically coded back-end resulting in a satisfying and fulfilling visit.  The expression of my “artwork” is a bug free (and landmine free) website that engages the user, encouraging them to purchase, or share with their colleagues.

Starting a new development project, or a new lesson plan, with the mindset that we are embarking on the creation of an artful masterpiece is a very enlightening and encouraging perspective.  Regardless of your profession, approach your next project kickoff meeting with this idea in mind.

Happy coding …

Cheryl Velez, Grumpy Bunny Dev

There is No Hover

The prevalence of mobile screens which rely on finger actions instead of mouse actions has created a bit of culture shock among seasoned Internet developers and designers alike.  We, well they,  can’t seem to cut that “hover”  umbilical, and mobile device users are still faced with negotiating a “light” tap vs a “hard” tap (if they even have that option) to access design elements only available on hover.

If I had my way, I’d do away completely with hover effects in all websites.  They are landmines for the mouse-enabled, and elusive for the finger-enabled.  However, the ever-pressing need to add hover effects persists despite my most sincere arguments against it.

Project meetings with both clients and designers inevitably come to a point of discussion on this topic.  The arguments (most of them valid) sway back and forth across the table as if suspended on a pendulum. I say hover effects are out-dated and have outlived their usefulness. They say hover effects are still the expected behavior on things like menus and links, even if it’s just a little opacity change, it’s still expected.

How will that hover effect behave with no mouse?

It’s at this point that I bring out the big guns. “There is no hover on mobile devices.” I have said this more times than I can count on all of my appendages, and I would shout it from the mountaintops if it were socially acceptable to do so. There is no hover! All those beautiful hover effects the designers are already dreaming about will be rendered absolutely useless for half of their user base.

They look at me like I’ve just said a curse word or something. There is silence across the table as what I just said sinks in.  I break the silence with a simple question directed at the designer across the table, “How will that hover effect behave with no mouse?”  They are dumbfounded. Well, maybe not dumbfounded, but still it’s a fact that they hadn’t considered.

StatCounter Global Stats found that mobile and tablet devices accounted for 51.3 percent of worldwide internet usage in October [2016], compared to 48.7 percent via desktop – zdnet.com

The discussion continues, the designers remind me that hover effects are still viable, and they’ll “think of something” for the mobile “version” of their design.  I make a note in my book to expect follow-up discussions on how other people “handle” not having hover effects on mobile devices.

I admit, it is hard to untether from the “cool” effects that can be created on hover.  I sit at a desktop all day, so I have the pleasure of enjoying all the “coolness” of the expanded effects of a full desktop size. I even find that I have to remind myself every so often while in an expanded responsive view in Chrome Developer Tools, that my hovers won’t work. It’s a bit cathartic.

Happy coding, and remember, there is no hover!

Cheryl Velez, Grumpy Bunny Dev

The Art of Building the User Experience

Visual beauty is ever present in our world, full of colors and textures, and for the most part, we have designers to thank for that.  What is not as immediately evident is the planning and construction behind the beauty.  While the world experiences the grace and elegance of perfectly designed “things,” it is also likely that they are unknowingly having an experience that was specifically tailored to them.

More than ever before, the user experience is strategically defined to ensure seamless movement and flow through the elements of a design. This applies to many things – buildings, retail shops, and even websites.  Architects of buildings, for example, consider things like traffic flow, efficient use of space, and conveyance of the owner’s style.  Retail shop owners may utilize color and lighting to draw in prospective shoppers, and display techniques to encourage shoppers to linger and connect with their products.  In a way, the same is true for designers of websites.

There is a tremendous amount of effort spent on planning the user experience, but this is only half the story.

Many hours are spent by website designers drafting style, typography, use of white space, and mapping out how one element flows to the next in line with user expectation. There is a tremendous amount of effort spent on planning the user experience, but this is only half the story.

Some say that the user experience or visual display of an application is what makes the most impact, but what is design without functionality?  In the case of a building, imagine visiting a brand new building and seeing tall ceilings, elegant fixtures and breathtaking artwork, but you have to go back outside to go up to the next level.  This is a poor user experience at the expense of beauty.

The world may think of website developers as robotic type thinkers who don’t possess the talents necessary to invoke an effective design.  Honestly, that’s not true. Imagine the construction crew of a building, how many configurations of stairs do you think a construction crew has built? Probably thousands. They possess invaluable knowledge on “what works” and “what doesn’t work” on a new building projects. Similarly, website developers can provide insight on possibilities as well as potential landmines.

Design impacts the first few minutes of the user experience, but functionality keeps the user engaged.

Developers construct and bring life to what the designers have created. Both front-end and back-end developers can typically work magic with the multitude of frameworks and technologies available to them. There is nothing we can’t do. Seriously.

Personally, as a developer, I love a challenge. I thoroughly enjoy bringing to life something new, something no one has created before. Complex, multi-layered designs are the most fun because they are the most challenging.  That said,  I also have a responsibility when it becomes apparent that the user experience has been victimized by flashy design.

The true art of building the user experience involves marrying an exquisite design with equally exquisite functionality.

You could have the most beautifully designed website on the Internet, but if all it does is look pretty with no user interaction or functional purpose, most users would sing its praises initially, but move on and never come back.  The true art of building the user experience involves marrying an exquisite design with equally exquisite functionality.  Attract the user with beauty, engage them with tailored interactivity, and they will reward you.

Happy coding …

Cheryl Velez, Grumpy Bunny Dev

Do Not Circumvent the Learning Process

For developers, it is important to build on our successes and learn from our mistakes so that we can avoid pitfalls and generally nurture our skill.  This may seem like a statement of the obvious, but it is critical to have comprehensive knowledge of the technologies we use every day.  It’s what allows us to write concise, secure code for our projects, and stay on deadline.  What’s not so obvious, is that developers have a strong community out there – developers helping developers. It’s fantastic, but it also makes it a little too easy to find a solution.

When my programming career was still in its infancy, we didn’t have Google (no, we didn’t have Google). Open source wasn’t a mainstream concept yet, there was no safety net in the form of sites like Stack Overflow, and there were no developer tools in the browser.  We had to hash out and debug our own code the old-fashioned way. We had to have comprehensive understanding of the technologies we were using. There was no safety net.

We must be mindful not to use the developer community as a means to circumvent the learning process.

Inevitably, we will encounter coding challenges that will push our boundaries. This is how we learn and grow.  As a developer, which method do you choose: do you grab a code reference book and read up on the methods/classes/whatever that will solve the challenge? Or, do you search a developer community site for a solution someone else hashed out?

While it can be convenient to rely on the developer community to assist when we are stuck on a coding problem, we must be mindful not to use it as a means to circumvent the learning process.  Choosing to grab a code reference and hashing out the solution yourself will not only save hours of searching online, but it could possibly put you in a position of posting solutions rather than asking for help.

I had an experience recently which, I’ll be honest, made me feel a bit ashamed. There is this one coding framework (which shall remain nameless) that I hadn’t taken the time to learn properly, and every time I encountered a challenge I knew it could solve, I immediately went to Google to find that elusive snippet of code someone else hashed out.  While I had implemented several snippets of code from this framework, I hadn’t grasped its true power. And I still spent excessive time integrating the solutions I found online into my own code. I was wasting time I could have spent just studying the framework.  I would bet I’m not the only one guilty of this.

Hashing out the solution yourself will not only save hours of searching online, but it could possibly put you in a position of posting solutions rather than asking for help.

As luck would have it, I was plugging around in an online tutorial when a few tasks using this elusive, but extremely powerful (as I would soon find out), framework came up on screen. At first I was apprehensive as this technology had been a bit of a thorn in my side. The few tutorials I completed turned out to be the most important 20 minutes of the decade. I am not exaggerating.

Since completing those handful of tasks, my eyes have been opened to how deceptively simple the framework was to code, but also how very powerful it was.  I truly wish I had taken the time months ago when I started encountering this code to learn it properly instead of Googling for a quick fix.

I sincerely encourage any developer, regardless of your skill level to consider spending your valuable time studying the code and hashing out solutions yourself instead of grabbing for a quick fix online. Don’t Google it, study it!

Aspire to be one of those developers who provides solutions.

Happy coding…

Cheryl Velez, Grumpy Bunny Dev