Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
I am the chief technical officer at InVision App, Inc - a prototyping and collaboration platform for designers, built by designers. I also rock out in JavaScript and ColdFusion 24x7.
Meanwhile on Twitter
Loading latest tweet...
Ben Nadel at InVision Office 2012 (New York City) with:

Ben Nadel

Member since Dec 11, 2008

Recent Blog Comments By Ben Nadel

  • Internet Explorer Aborts Images With The Wrong Mime-Type

    Posted on Apr 18, 2014 at 10:28 AM

    @Paul, Another one that gets us, which is not a programming error, but a user error - people will often upload PNG files with a mislabeled ".jpg" file extension. This is another case where Firefox and Chrome are like "what-evs, I'll show it anyway" and IE is like, "Oh my go... read more »

  • The User Experience (UX) And Cognitive Dissonance Of Forms

    Posted on Apr 18, 2014 at 7:53 AM

    @Aaron, One of my biggest points of frustration is that I think that software should have constraints that help people learn how to do things better, rather than giving them enough flexibility to make their lives harder. A great example of this, in InVision (where I work), is the ability to rename... read more »

  • The User Experience (UX) Of Sketching In Prototyping

    Posted on Apr 18, 2014 at 7:41 AM

    @Cutter, Interesting read. I had never considered being able to mixin the classes in that way. I think you'll still run into "overly generic" generic class name collisions; unless, you can find a way to remove the aspects of Bootstrap that aren't mixed into other classes. I use LESS; bu... read more »

  • Finding HTML Comment Nodes In The DOM Using TreeWalker

    Posted on Apr 18, 2014 at 7:35 AM

    @WebManWalking, I assume that's a reference to some sort of sci-fi/fantasy book, but it went over my head, sorry!... read more »

  • The User Experience (UX) Of Sketching In Prototyping

    Posted on Apr 17, 2014 at 8:34 AM

    @Ken, Looks like a solid pen. One of these days, I'd love to do a thorough pen "usability" test. See what the best-of-breed is for my brand of sketching. Plus, it gives me an excuse to go to Staples :)... read more »

  • The User Experience (UX) Of Sketching In Prototyping

    Posted on Apr 17, 2014 at 8:32 AM

    @P. Molaro, That sounds like an interesting presentation - thanks for the link. Currently opened in another tab and will try to browse later today. @Phillip, Bootstrap is a really neat framework that I have a love/hate relationship with. You can definitely get off the ground fast with it; but, I ... read more »

  • $scope.$evalAsync() vs. $timeout() In AngularJS

    Posted on Apr 17, 2014 at 8:25 AM

    @Demetrius, Dealing with the DOM and knowing when it has updated is some really interesting stuff. First off, never worry about the DOM from a Controller - the controller should not know anything about the DOM. Really, only the Directives should know about the DOM. And, if you truly want to be sure... read more »

  • $scope.$evalAsync() vs. $timeout() In AngularJS

    Posted on Apr 17, 2014 at 8:20 AM

    @Kelly, Really glad to be able to help - but just take note that AngularJS 1.2 made an important change to the way $evalAsync() works (see above comment). Prior to 1.2, it didn't add the "defer" fallback. So, if you are pre-1.2, switching to $evalAsync() will cause some problems.... read more »

  • Finding HTML Comment Nodes In The DOM Using TreeWalker

    Posted on Apr 14, 2014 at 8:33 AM

    @Ray, Good point; I'm generally bad about that kind of stuff. On a related note, the MDN stuff is so great. Whenever I look up stuff in JS, I start with the MDN prefix, as in Googling for: "mdn TreeWalker" Such a great resource!... read more »

  • $scope.$evalAsync() vs. $timeout() In AngularJS

    Posted on Apr 13, 2014 at 11:14 AM

    @All, ***Important Node:*** The additional "timeout" that is performed in addition to the asyncQueue was not added until v1.2 of AngularJS. As such, if you try to use $evalAsync() before v1.2, you might not see the changes take place until something else explicitly performs a digest.... read more »

  • jQuery Comments() Plug-in To Access HTML Comments For DOM Templating

    Posted on Apr 11, 2014 at 5:51 PM

    @All, I know this is a really old post; but, I recently rewrote this query to allow the comment nodes to be search by text value or by "pseudo attribute" value: http://www.bennadel.com/blog/2606-Querying-The-DOM-For-Comment-Nodes-Based-On-Value-And-Pseudo-Attributes.htm I have some id... read more »

  • $scope.$evalAsync() vs. $timeout() In AngularJS

    Posted on Apr 9, 2014 at 9:23 AM

    @Olivier, Agreed. This feels like the right "intent."... read more »

  • The User Experience (UX) Of Sketching In Prototyping

    Posted on Apr 8, 2014 at 8:39 AM

    @Jason, @Cutter, I've played around a bit with Balsamiq, but something about it never quite jelled with me. I think I spent too much mental effort trying to find the right widget and it broke my flow. Though, I would guess that once you get more comfortable with the app, that becomes more second-na... read more »

  • Directive Controller And Link Timing In AngularJS

    Posted on Apr 7, 2014 at 8:18 AM

    @Kevin, Your Mardown-fu is not lacking... my comments don't support Markdown, yet! That's on my queue of updates to make, I just haven't carved out the time to make it happen yet. Thanks for clarifying the pre/post linking. To be honest, I've seen that in the documentation a hundred times and I ne... read more »

  • Implementing Java's Collections.Shuffle() In JavaScript

    Posted on Apr 4, 2014 at 8:44 AM

    @Federico, Great exploration. I had to look up what the "~~" was doing. Bit-wise operations. Really interesting to see the variations, and how fast some of these things execute on such a large array!... read more »

  • Implementing Java's Collections.Shuffle() In JavaScript

    Posted on Apr 4, 2014 at 8:37 AM

    @Steven, Yooo, that page was awesome. I love the animations and it does a great job of illustrating why some of the approaches are slower. Great find!... read more »

  • Preloading Images In AngularJS With Promises

    Posted on Apr 4, 2014 at 6:32 AM

    @Royce, I think it depends on the context. At work, we have an even slightly different scenario - we _partially_ preload the set of images _and_ we show the ones that failed to load (they show up as blank). So, each preload idea is going to be a bit different. I think the example could be update ... read more »

  • Preloading Images In AngularJS With Promises

    Posted on Apr 4, 2014 at 6:29 AM

    @Steve, Good suggestion. When I load everything on my local machine, it all happens so fast, I sometimes forget about that stuff. Then, when I upload to GitHub, I forget about the real latency.... read more »

  • The User Experience (UX) Of Color Contrast In A Call-To-Action

    Posted on Apr 3, 2014 at 6:30 PM

    @Mike, To be honest, I've never opened the Apple mail client. Sure, I've accidentally triggered it a lot of times (and the configuration screen pops up); but I just close it out. I just have my Gmail app open in a browser tab all the time.... read more »

  • The User Experience (UX) Of Color Contrast In A Call-To-Action

    Posted on Apr 3, 2014 at 6:29 PM

    @Adam, It's funny you say that, because I think I *do* see it as an airplane. But, I think the link between the airplane and the concept of "send" just couldn't click. And because that, I was like, "No... that can't be an airplane." It's be like if you saw Bill Clinton in a su... read more »