simpleCart(js) Version 2.0 Released!

We are happy to announce the release of simpleCart(js) version 2.0 today.  We have been working hard to add several features that you all have requested, and we’re excited to get this script in your hands.  There are several new features, including GoogleCheckout, easy currency settings, tax, shipping, and a new method for adding items to your cart that requires no javascript, and allows for different inputs and options. There is also a brand new site to go along with this update: simplecartjs.com .  Please take a minute to check out all the new features, documentation, and demo.  Thanks to all those who have been helping test for the past few weeks, we couldn’t have released this new version without your help. (more…)

Javascript Number.toCurrency()

While working on simpleCart(js) 2.0 and a few shopping carts for clients, I found myself writing several helper functions for formatting strings and numbers.  One of the most useful helpers was a toCurrency() method for numbers:

var myNumber = 8.3;

alert( myNumber.toCurrency() );   //alerts "$8.30"

myNumber = 119427.23529;

alert( myNumber.toCurrency() );    //alerts "$119,427.24"

myNumber = 1231;

alert( myNumber.toCurrency( "€" ) );   //alerts "€1,231.00"

The dollar sign is default, but you can replace it with any symbol in the function call.

Just copy this code to your js file and enjoy! (This code also implements a reverse() method for strings that you might find useful.)

String.prototype.reverse=function(){
    return this.split("").reverse().join("");
}
Number.prototype.withCommas=function(){
    var x=6,y=parseFloat(this).toFixed(2).toString().reverse();
    while(x<y.length){y=y.substring(0,x)+","+y.substring(x);x+=4;}
    return y.reverse();
}
Number.prototype.toCurrency=function(){
    return(arguments[0]?arguments[0]:"$")+this.withCommas();
}

Let’s Make a Deal – 15 Things You Need in a Web Contract

In the first part of this article, we looked at some of the main advantages of using a contract. Now, we’ll take a closer look at what should actually be included in a web design contract. Some of these principles apply to all contracts, but some of them apply specifically to the design and web industries. (more…)

Simple Pagination with Rails

While I was developing Motionspire, I needed to implement a pagination system for the video content.  I looked through the existing plugins, but found that I really desired something extremely simple and custom to work within my search controller.  With only a few lines of code, I created a very basic system for managing pagination that can be ported to other sites with ease. (more…)

Adding Fun to Your User Interface

A List Apart had an interesting article recently that Defended the Case for Eye Candy. The article hit a key point that we've been practicing here at The Wojo Group on our various projects.

Things that are enjoyable will be easy to use and efficient.

The ALA article is defending the case that beautiful and aesthetically pleasing UI designs increase functionality because they're perceived to be easy to use and efficient. What we've been practicing here is the theory that you can have an interface be more enjoyable through the implementation of functionality. That is, if a piece of functionality is fun, the user will perceive it as intuitive. Now there are limits to this; you can't have something that is super fun and not functional what so ever. But, generally speaking, the more fun you can make a user interface to interact with, the more forgiving your users will be of any shortcomings. (more…)

Let’s Make a Deal – The Importance of Contracts

One of the first questions you must ask yourself if you are doing freelance work or running a small business is “will I use a contract?” Conventional wisdom indicates that you should always use a contract when entering into business with somebody else. Despite this advice, many freelancers or small business owners either do not use a contract at all or use one that doesn’t spell out the agreement adequately. Our company has learned the hard way that writing effective contracts is a must. In this article, we’ll look at some of the main reasons why using a contract is a good idea. (more…)

Twetris: twitter + tetris

We developed a little creation called Twetris that uses the twitter timeline to create blocks for a tetris game. The high score list is published automatically to @twetris and you can even retweet your high scores right from the game. It's a simple javascript/html/css creation thats great for wasting time.
Check it out!

(more…)

April Fools ‘flip text’ Script

Over breakfast this morning, I put together a little JS script that will flip all the text on a page.  Just put this link AT THE BOTTOM of your page, and it should provide a little April Fools joke for some visitors:

</p>
<p>&lt;script type=&quot;text/javascript&quot; src=&quot;http://wojodesign.com/flipEm.js&quot; &gt;&lt;/script&gt;</p>
<p>

**Make sure to test this on your site, some flash objects or other plugins may not work properly

Enjoy!

Developing vs Programming

I'm a mediocre programmer, at best.

When I'm programming, I need 8 different tabs open with every reference site I can get for a particular language.  I google function names constantly, most of my debugging time is spent with dumb syntax errors, and I'm never going to be able to use Regular Expressions off the top of my head.

So what can mediocre programmers like myself do? Develop. I'm going to go over a few tips for good application development, and how to use development methods that can improve your programming, even if you lack superstar skills.

(more…)

Tips and Themes from Future of Web Apps Miami

We all just spent a few dedicated days listening to talks and having long hard discussions about building web apps in Miami at

(more…)