Introduction To Polygonal Modeling And Three.js
September 17, 2013
I wrote an article for the fantastic Smashing Magazine that delves into the basics of polygonal modeling and bridging into modeling on the web with ThreeJS.
I would love to hear your comments, either on the article itself or on Twitter!
Disable Ad Tracking In iOS
July 24, 2013
I recently came across an article about Dark Patterns in UI/UX, and one of the examples they used was the ad tracking feature that is turned on by default on iOS. Admittedly, I had no idea that this was even an option, and it seems that many other people are in the same situation.
Esquire’s Flimsy Wall
July 2, 2013
Esquire recently released an article on the author of Proof of Heaven and his questionable claims and background. To supplement this type of story, they have implemented a per-article paywall. Unfortunately, it is not well implemented, easily passed, and ends up only charging the misinformed.
Guilt of Past Work
July 1, 2013
When I look back over the past couple years and the work that brought me to this point, it can be difficult not to be hard on myself. Going over the first client websites that I created is almost painful.
Responsive design? No way, 960px fixed. Accessibility? Enough to get by. Careful UI construction? Not by today’s standards. Minimization, compression, and elimination of HTTP requests? I didn’t even know what that was. Everything custom built? Ha. Joomla templates and jQuery plugins galore.
At the time I was flying by the seat of my pants and learning as I went. Months before that, my partner (and one of my best friends) was nice enough to let me in on some of his freelance projects. At the time I had no experience in design and had barely written a line of code, it was relatively understandable that my work was amateurish, regardless of my work ethic.
Flexbox: Taking Advantage of Flexible Boxes
June 3, 2013
The Flexible Boxes (or Flexbox) specification in CSS3 is one of the newest solutions for making the development of responsive layouts easier and much more sane. The goal of the specification is to accomodate websites on a variety of screen sizes and resolutions, and be able to maintain structural integrity through switching between portrait and landscape modes, or other changes that may be out of the developer's control.
We'll walk through how to create a flexbox module container out of the following mockup.
Amazon S3 Gem: Invalid Multibyte Escape
May 26, 2013
After cloning an old project from Github onto a new computer, I started the local server only to receive this error:
../rvm/gems/ruby-2.0.0-p0/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require': /Users/jasondemeuse/.rvm/gems/ruby-2.0.0-p0/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:84: invalid multibyte escape: /[\x80-\xFF]/ (SyntaxError)
I didn't understand why there would be a RegEx error, since I hadn't made any edits, especially to the
extensions.rb file. After searching for awhile, I found some answers that indicated that changing
'[\x80-\xFF]', nil, 'n'
but I didn't want to patch third party gems myself.
Turns out, there is a much simpler fix for this specific issue in Amazon S3.
Adding the following line to the same `extensions.rb` file will get rid of the error without having to make any other changes*. Be sure to add the line even before the
# encoding: BINARY
After that starting the local rails server worked without issue.
*If there is a better way to fix this, I would appreciate you letting me know so I can edit this!
Accessible Websites for Everyone
May 17, 2013
As digital workers we live in an extremely exciting time. New innovations are being developed every day, and they can be used to create incredible experiences for our users. There are endless amounts of fantastic open source projects on Github, and as many tutorials as you can walk through on sites like Nettuts and Smashing Magazine. Easy implementation of previously complex techniques have given rise to an abundance of sites using parallax, draggable elements, CSS animations, the list goes on.
With all of these possibilities, it can be tempting to throw them all into our web pages in the name of creating 'cutting edge' experiences. However, many developers are getting caught up in these temptations and losing sight of the real goal of our websites and webapps: to distribute our content to as many users as we can. As fancy as we can make our experiences, in the end we are still information disseminators and it is important to put on the blinders and make this a priority.
Learning From The HTML5 Boilerplate
May 16, 2013
The HTML5 Boilerplate is a starting point for front end development focusing on best practices and common inclusions. It might not be necessary to replicate it, especially if you like starting all of your projects from the ground up as I do, but at the very least it is a great accompaniment to your workflow and having it open when starting a website can ensure you don't miss anything important.
It can also be a fantastic learning tool too get into the habit of using these best practices yourself. Doing a simple read-through will no doubt reveal some practices that might have been missed or introduce some tweaks that can make everything run more efficiently. During a read-through I decided to note both some of the most important inclusions in the boilerplate as well as the useful points that may not be as commonly used.
Search HTML For String Using jQuery
May 13, 2013
We recently ran into an issue where we had a eight tags from a JSP that each populated a <div&rt; based on a string from a database. Some of the strings sent "null", meaning that the box should be hidden as no content was delivered. A validation for this would normally be easily written on the server side, but we were sending this content through a web service call to a client's portal. In other words, our goal was to populate a single HTML string and sent it to the client, so once the content was populated we would no longer have any control over the page. This meant that all of our validations for the null content had to be done on the client side once the user opened the document in the portal.
Mishandling of Trust
May 10, 2013
Large brands sell not only a product or service, but an image. Some of these companies compete in industries that, by nature, garner a following that isn't just committed, but downright passionate. Major sports teams are at the head of this type of industry that gains inherent trust with those who follow their product, and that trust can be easily taken advantage of.