The weird state of mobile web apps
by Cedric Dugas on May 12, 2013
There are countless of articles debating going native or HTML5 for your next mobile app. But with Linkedin recently deciding to going back to native I am really starting to ask myself if HTML5 is still part of the equation for mobile apps at the current moment. Let’s look at a small retrospective & see what conclusions we can extract of the mobile web current state.
Linkedin reverting to native app = broken heart
Linkedin had one of the most polish html5 iPad app in the market but they recently decided to kill it off after countless of articles describing HTML5 as a viable solution for mobile. What triggered that 180 on their position? Well contrary to popular believes (that all html5 apps are slow), it’s not…
iPresent, mobile mockups presenter
by admin on May 5, 2013
At CakeMail we are ramping up our mobile effort with a new mobile web app, recently we hit a milestone & completed most of the interface design. It got me wondering what could be the best way to get my coworkers to experience on their phone what this was going to be all about.
Turns out, about 3 years ago I asked myself the same question. How can I effectively present mockups for mobile beside just trowing them in basecamp or powerpoint. So I prototyped a project to do just that using jQtouch.
A video will probably explain better than words what this is all about, see below.
A live example helps too (better experienced on a phone). CakeMail let me use our first design iteration for the demo, so you have…
jQuery Engage, a plugin taking a stab at better engaging blog readers
by Cedric Dugas on March 18, 2013
Optimizing user interactions is a never ending quest in software development. Fortunately in our time and age innovative ideas are rapidly incorporated and improved by other developers.
In that mindset I present today jQuery Engage, a plugin that helps you optimize user interaction with blogs & articles. This plugin adds a social toolbar when the reader finishes reading an article. This toolbar contains customizable zones (comments, subscribe newsletter & share social) that help better convert your readers.
You can test the plugin by scrolling down this page! There is currently 3 content zones on this page. That’s a bit crowded and create quite a lot of noise but that’s customizable and you can have 2 zones instead if you like that better.
The idea
One of the first to…
Data mining user behaviors in web apps
by Cedric Dugas on March 6, 2013
tl;dr I got a jquery plugin that track agitated user behaviors.
Do you currently track user behaviours? Most people would say yes, if you have google analytics installed you do track behaviors, at least a form of it. But do you do the extra mile to understand your users? That’s a question that could be really interesting to ask to a room full of product owners.
Let’s take an example of a behavior that most people do not track: a user that made the extra mile and finished reading an article. GA track how much time a user passes on a page, but we never track how much of our users really finish reading articles. Can you do something interesting with that information? Well let’s check what…
Scaffolding backbone.js generators with grunt.js
by Cedric Dugas on February 27, 2013
Following my encounter with yeoman, I wanted to see if I could easily create my own generators with Grunt. Not because yeoman ones were bads, they are in fact pretty good, but I just do not work exactly like Yeoman wants me too.
Another thing is that I wanted easily modifiable generators that could be used in any projects, not just with backbone.
While it’s not really hard to create that kind of functionality with Grunt once you know your way, i”m still pretty new to this and it was my first try at creating a plugin with “advanced” tasks. Still, I am happy to present my last project: grunt-bb-generate.
The idea behind this project is, yes, to provide backbone generators, but my real goal with…
Yeoman and friends
by Cedric Dugas on February 26, 2013
Isn’t it every developer dream to have his own command line & scaffolding tool? Do we really save time by creating and using those? I’m not quite sure but I certainly feel fancy when I use them.
Enter Yeoman, a tool that streamline your front-end development. or so it seems.

Frankly while I now “get” grunt.js and bower, I’m not sure I completely get Yeoman. The idea behind yeoman is to give you the best boilerplate possible to get started with your app development. In some way, yeoman is awesome, from the get go you get a css preprocessor compiler, js compiler, folder watchers, test server and much much more.
But that just how grunt work (pure awesomeness), that’s just one gruntFile.js that you can steal, integrate and…
Death to monolithic libraries
by Cedric Dugas on February 7, 2013
If you write code for the web you have dealt with them, gigantic libraries that does everything for you in one nice package. I’m not talking about utilities libs & frameworks like jQuery and backbone. I’m talking about Lightboxes, sliders, form validators, file uploaders, wysiwygs, and etc. They offer you tons of features, a big code base, a big following and well, they generally come with a ton of bugs too.

I find myself guilty of writing one of those too, my validation engine got from 400 to 2000+ LOC in 3 years. Adding features, one by one, it has becomes overweight, and it has becomes harder and harder to debug.
A long time ago..
Ask me 4 years ago if you should delve into doing a lightbox…
The jQuery 1.9 & 2.0 upgrade awkwardness
by Cedric Dugas on January 23, 2013
In a recent study it has been said that about 50% of major websites use jQuery. It has become omnipresent and you can actually find job listings that does not list javascript as a skill but list jQuery.
You don’t have to search far to understand why. Using jQuery is the easiest way to add interactions to a website. The api is intuitive, easy to use, the documentation is solid, it works cross-browser & that api very rarely changes.
Or was.
2.0 will be a major rewrite removing support for ie8 and earlier releases, it also removes a bunch of deprecated methods. 1.9 already started the ball removing a lot of stuff in preparation of 2.0, including the live api, and that made a bit of drama.…
Another year in review
by Cedric Dugas on December 17, 2012
Each year I try to do a small review of what has been going on in my dev life, but first I wanted to get out a couple of articles I written a long time ago that I particularly found interesting or just funny, let’s get started:
2011
Year in review
2010
Overtime and web developers
Early 2009 (Predictions & random thoughts)
Where front-end web development will be in 5 years? (Chuckle…)
The next generation of web developers and designers
2008, from my old blog
The front-end developers burden (First article ever)
Less and Sass changed everything again
CSS preprocessor got an hard time at first and lots of devs were against it, myself included. Just thinking about debugging this mess was telling me it would never be worth it. Boy was I wrong. Where CSS standards…
Html5 drag’n drop file upload, shenanigans used only by developers?
by Cedric Dugas on December 17, 2012
Uploading files has been done since the ice age of web development. In fact uploading a file using Html4 and an iFrame is pretty easy and does not even require a page refresh and about 0 line of code on the front-end, obviously you won’t get a progress bar but does it really matter?
Uploading in a nutshell:
<form method="POST" id="frm_upload_logo" action="/ui/settings/logo" target="upload_logo_iframe" enctype="multipart/form-data">
<input type="file" name="logo">
</form>
<iframe src="/blank.html" name="upload_logo_iframe" class="upload_frame"></iframe>
<script>
$("iframe[name='upload_logo_iframe']").load(function(){
if ($(this).contents()[0].URL.indexOf('/blank.html') == -1)
{
// Upload is complete, do something
}
});
</script>
So… Html5
Looking for a easy way of implementing desktop drop file upload for CakeMail I was confronted to 2 issues. One, I’m not sure anyone is using drop file uploading beside web developers using Gmail. And also, my current…

