Working on Cascade

Jacob Wright
June 26th, 2007

So I know I haven’t written in awhile. I’ve been busy working on a web content management system (CMS) I hope to get my business off the ground and running. I’m pretty excited about it.

About 49% of the people I talk to about it aren’t sure what the difference is between Dreamweaver and a web CMS. They’re the non-web developer people like my family and some of my friends. Another 49% (the web guys) aren’t sure why I would choose such an established market to make a product for and even after I explain my marketing strategy still scratch their heads over it. They are still nice about it and wish me good luck. They’ll all see why here soon!
So, I’ve been sort of waiting around for Cascade (my CMS) to be done and then continue blogging, but that’s taking too long, so I’ll keep writing until it’s done. Then I’ll be moving my site over to withincode.com and using Cascade to manage it all.

Seeking Perfection

Jacob Wright
May 15th, 2006

I find myself always seeking for the perfect code, the perfect library, the perfect system. Is it healthy? My employer might rather a code monkey which will mass produce web applications. Sure, the code would be a pain to maintain, but we would make more money. Or would we?

I was contracted by my company for awhile to one of their clients. While I was there I started making my own JavaScript tree menu in my spare time. The developers I worked with asked why I would do something like that. There are already a handful of tree menus free for download on the web. I was doing it because, one, I thought it would be fun (they thought I was crazy), and two, none of the tree menus gave the functionality I sought. I ended up making a tree menu that is really nice, has a context menu, and works well with Ajax. I have used it in several projects.

I also started building a PHP framework around that time. Pherret was created in my spare time (another “painful” project my coworkers said) because I thought it would be fun and because I didn’t like what was already out there? Arras Template, which became part of Pherret, is a unique and fun templating system. And finally I put together my own JavaScript Ajax library, borrowing some from others like Prototype.

Not being content to use others’ code, others’ frameworks, and others’ hard work is my downfall.

Or is it? I am now the expert at my company in JavaScript. I know the inner workings of what a framework needs to deal with. I know what a template system needs to be able to do, and some of how to do it. I have gone from knowing very little about programming (just 2 years ago) to being a well-versed and well-rounded developer. The drive that has me writing things that have already been done, or even just the drive that has me developing in my spare time instead of just in the workplace is what has made me valuable as a developer. I suppose we call the type a “hacker”. The person who loves to get their hands into code as a hobby.

I’m glad I’m a hacker. I program in a way that my code becomes better and better, day after day. My applications become better layed out. Better organized. Easier to maintain.

Writing (Beta)

Jacob Wright
May 10th, 2006

MyStickies has had a great launch. It has been pretty successful. Quite a few users have a hard time setting it up, but once that is done, they enjoy using it. As of the time of this writing 17,982 accounts were created, 119,400 notes have been placed, 31,108 notes are currently sitting on pages accross the web and we are getting between 50 and 100 new users each day. MyStickies started off with a “Beta” tag on it, but went public without the beta label though it probably should have kept it. Unicode support was broken, usability was lacking, and databases had moments of down-time.

Why did we remove the beta label? Because Jason Fried said we shouldn’t. First was a blog post from 37 Signals. They noticed how many new Ajax applications were releasing with the “beta” label. Then in TechCrunch’s article “Don’t Blow Your Beta” he left this comment:

“There’s a better way not to blow your beta: don’t launch one at all. Public betas are rediculous. If your product is public, it’s not a beta, it’s a release. Take responsibility for your product. “Beta” only passes the buck to your customers — outsourcing your pain to them.

“Get over Beta already.”

And then Ajaxian released the article “The Importance of a Good Beta” and added to the above quote from Jason.

What’s wrong with beta? Nothing. Might not be a good idea to charge for a beta product. I don’t think 37 Signals should release BaseCamp or other commercial products with a beta label and charge their customers for it. But that doesn’t mean a free public beta is a bad thing. It is actually a very good thing to be able to get customer feedback early, have users test accross a large variety of platforms, OS’s, and machines, and rethink the goals of the product before all the cleanup work has been done.

If there is nothing wrong with a free beta, why did we change it? We didn’t want people to think we were not taking responsibility for it. We wanted MyStickies to be successful, and we thought people would listen to Jason and not use it if it said “Beta” on it. Were we right? Don’t know. People seem to use Gmail even though it has Beta on it’s logo.

It all comes down to the power of writing. The 37 Signals team has some very good writers and even emphasize that you need good writers to be successful. They have a massive following of people who read their blog and swear by what they write. I would bet most of their products successes are because of their great writing. Marketing themselves on the web. In order to be a have read blog, to generate a hype, to drive a web-application to be successful, good writing is important, maybe essential. My writing needs improvement for sure.

Flash Project Timer

Jacob Wright
November 29th, 2005

A project timer is something I have been needing. I have trouble keeping track of hours for projects I have. I usually don’t worry about time traking for my personal projects, which is good because if I thought about all the time I’ve spent (wasted), I might take up a new hobby. But for contract work and for projects at mediaRAIN, I need to keep track of time I spend on each project. I always forget to write something down at the end of the day, and usually can’t remember how long I’ve spent anyway.

So, I made a project timer. It actually is built in Macromedia Flash, and made into a nice executable using mProjector. I have yet to start using it for my projects, but it seems to be working pretty well. I thought I would share it in case anyone else needed something like this. It only works on Windows right now, but mProjector can make executables for Mac, so I’ll look at doing a Mac version soon.

I used to have a screenshot of the app here. However, it’s flash, so why don’t I just put the swf up? Pretty small, unobtrusive, and hopefully usable.

To use, click on the world icon, enter in a new project, hit enter, and then click the green play button to start timing. You can add as many projects as needed and choose them from the drop down that appears when you click the world icon. The timer also minimizes to the system tray. You can make it stay on top of all applications from the right click menu, as well as close it down from there. It doesn’t use the registry or create any files of it’s own. It only uses the Flash SharedObject (which is basically a cookie for Flash). Also, if it works the way it should, you can look at a projects total time, the time for the current day, current week, current month, or even a custom time period. When you click custom, it will ask you for a start day. You can also put in an end day by adding a dash and another full date (e.g. “14/11/2005-18/11/2005″).

You may download the following:
flash_timer-mac-0.1.zip
flash_timer-win-0.1.zip

Hope it helps!

Tutorial? How About a Project!

Jacob Wright
September 30th, 2005

In writing the articles on object oriented programming I have stuck with theory. After all, it is not language specific and takes less space to say what there is to say. However, I have been asked by serveral to provide a tutorial or include examples on object oriented code. Well, I’ve decided to do almost that.

Mint, Stat’s and Design

Jacob Wright
September 14th, 2005

Mint is a new product recently released to track the statistics on your website. It has gotten much attention from several areas, and I thought it would be worth it to check it out.

Next Page »