To include design in your dev sprint or get it done ahead of time?

by Cedric Dugas on June 17, 2014

One tough question that product managers seem to be split in half. In web development, design is often a big part of the product & takes a bigger place than in a conventional software product. That means you need to take more time for design, have multiple breeds of devs, front-end & back-end & fit all that in a scrum mindset.

That makes for some headache, that is why product managers will often opt to put design one sprint ahead. It’s just easier to manage, but at what cost?

On one side you get people that say you should never split design from development, all in one sprint.

1. Your user stories take two sprints for being done instead of one, big iterations are slower.
2. Design &…

Continue reading

Agile workflow with GitHub issues

by Cedric Dugas on January 9, 2014

GitHub is a very interesting always evolving product, it is becoming more & more the go to software to centralize (yeah I know..) your company repositories but also (and more importantly) keep track of the stuff you have to do in your projects with Github issues.

Github issues is really a simple product & the fact that it is so simple it’s probably why it is so beloved by developers, it helps that it connects automatically with your commit messages making it easy to reference other issues & closing bug without even touching the interface.

That however poses problems if you want to work in a typical Agile workflow. Github issues make it hard to keep track of everything for a product owner because well, it’s not…

Continue reading

PhoneGap build, 6 frustrating issues explained

by Cedric Dugas on December 9, 2013

Phonegap & phonegap Build are amazing technologies, unfortunately the documentation does not always tell you want you want to know. Here a compilation of issues I encountered while using phonegap build for the first time & how I solved them.


Black bars only on iPhone 5 (not full size).

I had this issue right from the start while using phonegap build, basically the iphone 5 app was the size of an iphone 4 screen. The only way to fix it is to add a plash screen with the screen size of the iphone 5 in the config.xml like this:

    <gap:splash src="splash/ios/Default_iphone5.png" gap:platform="ios" width="640" height="1136" />

While the fix is pretty easy, it is also frightening. It’s really hard to sell a technology to a company where unexplained bugs like…

Continue reading

An html5 app turned native in 10 minutes with phonegap build? It’s possible, kind of.

by Cedric Dugas on December 3, 2013

By now I’m pretty sure you know of PhoneGap. The framework that enables you to put an html5 app in a web view & push it into the different appstore. But do you know about PhoneGap Build?

Intended for the ones that do not want to get their hand directly into the sdk, this new product basically enables you to zip your app, upload it, receive a native android, ios & windows app. Nothing to install, nada, no xcode or android sdk to setup. Just a simple zip upload.

Did I told you it’s free for one app?

The test

Seeing the video I was excited annnnnnddd perplex. I had a beta build of the CakeMail mobile app (a backbone app basically) & so I decided to give…

Continue reading

Tap & click events in mobile web apps, the madness has to stop

by Cedric Dugas on December 1, 2013

You should know by now that when you click on a link in the ios mobile browser there is a 300ms delay. Not so many people know where this come from, in fact it comes all the way back from 2007. Engineers at Apple were trying to figuring out how to add a double tap to zoom in the page, thus the 300ms delay was born so they can differentiate the events.

Now you are probably wondering why the hell we still have that delay today when we use a meta viewport like this:

<meta name="viewport" content="width=device-width">
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1">

We explicitly tell the browser you can’t scale that app, no zoom required. Well actually chrome for android will support it soon (or already has, not…

Continue reading

Selling a side project for almost nothing..

by Cedric Dugas on November 13, 2013

Today I feel a bit dirty, I just sold WeddingDeck after putting more than 100 hours in it for a couple of hundred dollars. Would I recap WeddingDeck’s life, I think I would describe a lot of side projects out there. A big coding burst getting slower & slower until it get forgotten & frozen in time.

I was at a point where I was considering shutting down the project entirely, but could not resolve myself to pull the plug. Lack of focus, interest, being alone, all contributed to its downfall. At one point I hit a threshold where I could not even look at the code without having a headache & just wanted to wander elsewhere.

But then someone contacted me yesterday & asked if I was…

Continue reading

Releasing Backbone.js Mobile Components, beta version

by Cedric Dugas on October 20, 2013

Doing mobile web apps can be challenging, not that it’s really harder than doing desktop style app, it’s just different. Working with mobile you need to focus on simplicity & performance.

When I started dabbling into doing mobile web apps with Backbone.js I really wanted to abstract from the start the mobile part to focus on building great apps. That’s why I builded Backbone Mobile Components.

It’s 7 components that helps you creating mobile apps with backbone easier. It also follows the backbone mantra, it does not get in the way of your architecture, you just extend those components like you would in backbone.js & there you go.

So the demo is a bit.. well.. underwhelming. I really wanted to have a Hacker news reader clone but that will…

Continue reading

Extending Backbone.js constructors, the easy way

by Cedric Dugas on October 20, 2013

One thing that really is really annonying with backbone 1.1 is the fact that the options are not passed has this.options anymore in the Backbone.View.

Well simply enough we can add this (or anything else) in the view constructor.

// Compatibility override - Backbone 1.1 got rid of the 'options' binding
// automatically to views in the constructor - we need to keep that.
Backbone.View = (function(View) {
   return View.extend({
        constructor: function(options) {
            this.options = options;
            View.apply(this, arguments);

You can also augment the constructor with anything you need. This is useful, for example, if all views need to call some functions when initialized, or if you need to set some data on all views.

You could also use this pattern to augment any Backbone constructor, the…

Continue reading

Launching a new product, Genius Bargain, helping you shopping online

by admin on September 24, 2013

The chrome web store is a really a weird place, it’s a bunch of bundled html5 apps, homepage buttosn that goes to some website & chrome extensions that puts buttons in your toolbar. The first time I had a look at that store I was surprised to see that some apps had actually millions of users. There are really opportunities to be taken here.

I first launched WeddingDeck more than one year ago on the store & had 7720 install to date, not to shabby considering it’s a niche app to manage your wedding.

Now I’m ready to launch my second app on the store, Genius Bargain is a price comparison app that does it on the fly while you shop & help you save money. When I shop…

Continue reading

CakeMail is looking for 2 devs + free beers at js-montreal

by Cedric Dugas on August 8, 2013

Yup! CakeMail is hiring, we want to grow our engineering team a bit, and as such we got 2 new positions open. We are looking for 1 front-end dev working with me & 1 back-end dev.

In this exciting mindset, CakeMail will be sponsoring js-montreal next tuesday
(August 13).

There will be free beers + pizza & the doors will exceptionally open at 6. The show starts at 7 so that will give us plenty of time to talk with you guys about our perks, team, see our offices, know what technology we use & etc. We will also do a small presentation about the company & the challenges we are facing everyday.

Want to see the team? Head to our Coderwall page where we have a very good summary of our…

Continue reading