Launch! jMockups Website to Mockup Converter

Today is the official launch of the new jMockups Website to Mockup Converter, which lets you import any existing webpage into jMockups, allowing you to redesign and share it in minutes.

You can check it out here: Website to Mockup Converter.

And here’s the video demo:

Saturday probably isn’t the ideal day to publicly launch a new feature, but I’m in NYC this weekend with Chris Conley and Mike Nichoaides, two talented developers I originally met through some Philly on Rails meetups a while back. What better time to launch than among friends who have been following my progress and helping me since jMockups’ inception?

In the past I probably would have posted it on HackerNews minutes after I pushed it out to the site for people to start using. The problem doing it that way is that without a lot of people testing it beforehand, you run the risk of discovering major bugs in the midst of getting a lot of traffic. Then you have to choose between trying to fix it immediately (which due to your haste can introduce other bugs) or waiting for the traffic to die down (in which case a lot of people might have already experienced the bug). This has happened to me more times than I’d like to admit.

With this launch, I made it available to a few folks last weekend, then about half the existing user base on Wednesday. And sure enough, there were a lot of issues that I hadn’t anticipated. For example, when you work with bookmarklets you need to make sure that you prevent the browser from caching the code:’+(Math.random())

I wasn’t doing that a week ago and so I was making changes to the bookmarklet code but users weren’t getting the updates because their browser had cached the original version. Thankfully only a handful of people had tested it at that point. Imagine if several hundred had: most of them would never get the updated versions of the file, forever forcing them to use the original version of the bookmarklet. Not good.

By launching it in stages I identified issues like that and resolved them prior to the influx of traffic, making this a much less stressful day than previous launch days have been. Knock on wood…

Anyway, dear reader, I’d love to get your thoughts on the new Website to Mockup tool. Feel free to email me or leave a comment below. Thanks!

Seeking Alpha Testers for new jMockups Import Tool

Cross post from the jMockups blog:


Hey everyone!

The new jMockups website import tool, which lets you instantly import any existing website into jMockups, is ready for testing.

With the ability to import your websites directly into jMockups, you can redesign and share them in a matter of minutes, drastically reducing the amount of time it takes to redesign an existing site.

Before launching publicly, I need several folks to test it out to help identify bugs, make suggestions for improvements, etc. If you’re interesting in helping, please email me:



jMockups and Preceden January Review

As promised in my 2010, 2011, and a $4K/month challenge post, I’m going to do a quick recap each month of the progress I’ve made with towards achieving that end.

Here’s what happened in January.


Total Sign Ups: 510

Upgrades to Preceden Pro: 18 (3.5%)

Revenue: $522

Progress: I spent a total of about 5 hours working on Preceden in January, which was split between reverting December’s pricing plan changes and with integrating Mixpanel last week to start getting better insights into how people are using the tool. To date I haven’t spent any time trying to optimize the conversion funnel, which gives me high hopes that I can at least double it with some calculating A/B tests.


Total Sign Ups: 135

Upgrades to jMockups Pro: 0

Revenue: $19

Progress: I spent a lot of time working on jMockups in January, with a focus on improving the user experience, fixing bugs, and making progress towards launching the new website import tool later this month.

Most of the major changes were covered on the jMockups Blog:

In early January I began working with a talented San Fransisco-based JavaScript developer on jMockups with the intent of eventually bringing him on as a co-founder if the partnership went well. We got along extremely well and I was thrilled with how quickly he was picking up the code, but personal circumstances prevented him from continuing. So back to one.

jMockups is somewhere in the trough of sorrow right now:

And there’s even been several crashes of ineptitude thanks to some poor QA practices…. so I’m on my way :)

My primary goal in February is to launch the new website import tool, which will let you import any existing website into jMockups, allowing you to redesign and share it in seconds.

Before I launch it (and it’s 95% ready), I want to fix a few bugs, improve a few existing features, and set up some more in depth analytics to prepare for the potential influx of visitors after I launch it. There’s nothing worse than launching an amazing new feature only to have 50% of the new visitors run into a bug that sends them away with a poor taste in their mouth…. except for never launching it at all, I suppose.

According to RescueTime, I spent 120 hours working in January, or about 27 hours/week.


January was kind unique month for me because of how much time I spent on the road for my day job: 11 days completely away from home and another 6 partially away. 27 hours/week is a bit high for me — average is about 20 to 25. The extra hours were only possible because I was traveling and did not have anything else to split my time with.

On New Years Day I began doing daily life tracking, which was inspired by several posts Sebastian Marshall has written on the topic. I’ve been tracking how much I eat out, how much I exercise, how much I spend, my finances, sleep schedule, etc. This deserves its own post, so I’ll save the details for later, but in a nutshell it’s given me some astounding insights into my life (positive and negative) and by making a few minor changes I’ve already had incredible gains from it. I highly encourage you to try it out if you’re looking to improve some aspects of your life (start with Sebastian’s posts).

With that, back to coding.