Archive for 'code'

CatCubed QA

Dec 2009 01 – Filed under code + design

So I’ve done a bit of cross-browser testing for my new CatCubed design:

  • Safari, Chrome (i.e., Webkit): works perfect
  • iPhone Mobile Safari (i.e., Webkit): works but any fixed attachment is ignored (this is due to how the iphone browser works)
  • Firefox, Camino (i.e., Gecko): works except for multiple background images
  • Internet Explorer 8: Works (after a small fix) but is ugly due to lack of CSS3 support
  • Internet Explorer 7: fails dramatically because of IE float bugs
  • Internet Explorer 6: fails dramatically because of IE float bugs and lack of CSS2 support
  • Opera 10: fails somewhat due to a bug in how Opera handles floats. Also is ugly due to lack of CSS3 support

Also, thanks to Jason I found (and fixed) a bug that only occured on large monitors (24″  or more).

As I mentioned, I added a small fix for IE so it’s readable, but I’m not bothering to fix the IE6 or IE7 massive fails and I added a very basic stylesheet for IE6/7 so they could at least read the content. Also, I added a “why don’t you try another browser” warning to the site for IE users.

Just thought I’d mention that this redesign is meant as a means for me to experiment with new techniques and do so quickly, which is why I am no longer fully supporting IE with this site. There are workarounds for many of the techniques that I am using on this site, but it would take me at least twice as long to implement. All my real work projects will continue to be built with a graceful degradation / progressive enhancement process in mind.

CatCubed redesign

Nov 2009 28 – Filed under code + design

I’ve been inspired… and I have a long weekend, which means that I’ve spent the last couple days buried in my laptop. My back aches, my eyes are screen burned, but nothing stops the freight train called inspiration.

Cube The CatI give you the new and improved CatCubed.com! Also, I’m releasing Mr. Cube the Cat as an adorable papercraft doll that you can make yourself! Like the new version of the site, he’s still in beta but he’s stable and I’m releasing him into the world anyway!

Download the Cube the Cat, papercraft PDF (version 0.6 beta).

Yep, I’ve gone and scratched that designer itch that has been bugging me for a while. I’ve decided to use CatCubed as a means to experiment with new web techniques. Besides the cute little paper Cube the Cat, the new site includes:

  • HTML5 semantic structural elements – minimizing the use of divs except where appropriate. I’m still not perfectly happy with the semantic structure of the HTML. Some limitations were due to the layout particulars and the wordpress CMS. I will revisit this at a later point so that it is more in line with proper HTML5 semantics.
  • Extensive use of new CSS3 styles – multiple background images, rounded corners, rgba, box shadows, etc.
  • CSS built using SASS
  • Simplified navigation – Got rid of the sidebar modules clutter. Also, post categories have been reorganized with a focus on the three main things I write about art, code, design.
  • Coming Soon – more robust art, code, and design sections with highlights of my various projects. Mobile version of the site (it’s a image heavy site now, so I think a mobile version is in order.)

The site works best in webkit browsers (e.g., Safari, Chrome, or Internet Explorer with Chrome Frame). If you are on a gecko browser (Firefox, Camino) everything works but you are missing a few design elements due to lack of Firefox’s ability to use multiple background images (this is supposed to be added in Firefox 3.6). I have not tested the site in Opera, but Opera is decent so it should work (except for some of the CSS3 styles). I also haven’t tested in any version of Internet Explorer, and I don’t plan on it. I’ve added the HTML5  shiv so that IE will recognize the HTML5 elements, but considering the fancy things I’m doing with floats, it likely fails pretty bad.

I’ve kicked this whole thing out fairly quickly and I’m experimenting with a few things so there are likely a few issues here or there. If you are running webkit (Safari, Chrome) or gecko (Firefox) and run across any bugs let me know.

I have a few additional things I want to do to this site over the coming weeks and months. So expect to see more changes.

CeeTip – basic tool tip

Nov 2009 23 – Filed under code

Small Fix for IE. CeeTip v1.0.1

Announcing without much fanfare CeeTip, a basic jquery tooltip plugin which works smoothly with CeeBox (v2.0.9 and higher).

I couldn’t find one I wanted* which also worked properly with CeeBox**, so I borrowed code from vTip, turned into a jquery plugin and modified it as follows:

  • moved all the css to the javascript (it’s so minimal that it seemed silly to have another css file.)
  • added some optional settings.
  • added a minimized version (only 1.6KB).

Download CeeTip 1.0.1

You can also find CeeTip on Github

* the problem I was having finding a tooltip is that several were either ugly or their file size was way too big.

** Other tooltips can work as long as they either somehow keep the title tag intact or they store the title in linkelement.t on the link in question.

Another day another bug fix

Nov 2009 22 – Filed under code

Erg. Note to self Safari (webkit) wrongly considers typeof /regexp/ == ‘function’ when all the other browsers use typeof /regexp/ == ‘object’

CeeBox 2.0.7 released with bug fix for Safari/webkit that effected video embedding. Hopefully that’s the last of the bugs.

On a side note, I changed comments on my blog to be in reverse chronological order and put the comment field at the top as a temporary fix to the “OMG there are so many damned comments!” issue on some of the posts. I will likely revamp comments with a nested comments plugin or something when I revamp catcubed.com.

Eh I lied. Added more functionality to CeeBox again.

Nov 2009 20 – Filed under code

Again I had nifty idea. Use an external JSON file to add more video support so that I and others could release additional video support without releasing the main jquery.ceebox.js file and without increasing to the bulk of ceebox. Makes it easy for sites to add support selectively too so that CeeBox is more an adaptive tool rather than a heavy do everything.

Get it all working too for in the new CeeBox 2.0.6… which also include a bug fix for video galleries. Missed a bug in my checking during the 2.0.5 release.

It’s my first time messing with JSON. Pretty nifty cool stuff.

CeeBox 2.0

Nov 2009 19 – Filed under code

I released version 2.0 of CeeBox earlier this month. On the way to 2.0, I most likely completely rewrote the thing 3–4 times as I learned new and better ways to do things. Numerous times I would be riding on my bike and suddenly have inspiration for a new solution. Other times I would just dive into another javascript tutorial and find the answer laying there.

The development of CeeBox It’s been a long road and has taken a lot more of my time than I originally anticipated, but it’s been a great learning experience. I highly recommend anyone who wants to learn more javascript  to create a plugin for their favorite framework. Personally I recommend jQuery though they all have their strengths. Tripwire magazine has a great writeup on all of the main javascript frameworks.

I just released 2.0.5 today which fixes a bug that was submitted by one of my readers (I am thankful for everyone who submits bugs) and adds the last bit of functionality I wanted to include: namely, the ability to add additional video player support (relatively) easily. This last bit was made possible by some knowledge I gained from John Resig’s awesome and simple Learning Advanced Javascript tutorial and a better grasp of regular expressions.

Anyway, I think I’m finally happy with CeeBox as it stands:

  • It’s pretty small for a script with this much functionality (12KB minimized). There are lightbox style scripts which are smaller but they have less functionality.
  • And there are lightbox style scripts that are bigger and also have less functionality
  • Really, I think it has become is one of the best full functional lightbox clone scripts out there for two main reasons:
    • The only one that tops it for support of various video sites is the mootools based mediabox advanced which is a pretty impressive plugin (though it’s 18KB). But then again additional support can be easily added to CeeBox.
    • There are few that offer galleries for videos and none that I’ve seen that make it so easy to create galleries (there is no need to add gallery names in the class or rel for every damned link, just activate the ceebox function on a parent element)

There are a couple things it can’t do which I may add later, but I don’t need them at the moment, so I’m solidly gonna take a break from adding more functionality:

  • It doesn’t currently support direct links to quicktime, wmv, or mp3 natively but you can use the public function $.fn.ceebox.popup to do that if you want.
  • A number of video players are difficult if not impossible to add native ceebox support for because of the automatic detection method I use for video embeding.
    • Daily Show (and a number of other sites) don’t include a id in the link to their video page, so I can’t automatically create the src link.
    • Flickr video does include the id, but there is no way to differentiate from the link itself which is a page with a photo and which is a page with a video. It would be fairly easy to add support for video but then it would assume every link to flickr was a video link. Clumsy to say the least.

I will continue to issue bug fixes when required, but the feature additions will slow to a trickle. Most likely I I will let it sit at 2.0.x for a while until I’m confident that every bug is squashed, and then I will promote it to 2.1.

With CeeBox wrapping up, I have a number of additional personal web projects that I’d like to get to.

  • CeeTip – a basic small tooltip that works with CeeBox. (I already have a working version of this that I use, but I’d like to rework it and release it officially)
  • CeeBox wordpress plugin – I have a half-assed CeeBox WP plugin that I use for this site, but I need to learn more php to do it right. If anyone with more Wordpress plugin knowhow wants to help with this that would be great.
  • Color Animation – I have an inkling to improve the color animation plugin, as it has been sitting there stagnant since 2007. It’s got a few issues that others have submitted and could use a little improvement, but it’s been ignored by it’s creator. Supposedly the jQuery UI has better color animation support, but I don’t need the whole UI library for every project.
  • CatCubed overhaul – In the upcoming months I will be overhauling this site.

Anyways, I’m out. This post turned into something much longer than expected, but then again I’ve been working on this a while so it deserves a solid post to mark the conclusion.