To estimate or not to estimate?

I’ve seen this article referenced in several blogs, but the best summary I’ve seen comes from the All About Agile blog:

One of the most hotly debated aspects of this is estimating. It clearly doesn’t contribute to the end product itself, but is estimating really waste? Or does it really add value to the process?

This post on the LitheSpeed blog, ‘To Estimate or Not To Estimate, That is the Question‘, asks exactly that.

The answer? I guess it really is a matter of opinion. My personal answer – Like most things in life, I think it depends!

I think I agree with Sanjiv. If you’re working on high priority bugs, in severity order, and they must be fixed, estimating how long they will take provides little value, except to help manage expectations about when the bugs might be gone, which may or may not be useful depending on your circumstances.

On the other hand, if you need to create a business case in order to secure funding for a special project, or you need to commit to a deadline to fit in with other dependencies like a launch date, estimating is clearly necessary, whether it adds value to the end product or not.

Review of the ShoeMoney Xtreme : Week 1

As an internet application developer who has dabbled in internet marketing for almost 10 years now… I’ve seen my fair share of eBooks, courses, programs, tutorials and articles on internet marketing. Most of it is complete crap, so buyer beware.

I have been following ShoeMoney for years, and I am generally a big fan of his offerings. He more or less stumbled into his success at online marketing, so he’s always presented a refreshing perspective on the industry. He provides of solid information without the arrogance or the hard sell of many in this industry.

Recently he has come out with a free (and I mean truly free) 12 week introduction to internet marketing program. I just compeleted the first week’s tutorial and I’m impressed with what he offers so far. The biggest strength is that this is truly an introductory course. No doubt others will criticize it for being light on content or not “hardcore” enough, but those critics arent’ the target audience for this content. This is for those truly new to internet marketing – those who don’t know what ROI, PPM, SEO, nofollow, or any of the other acronyms mean.

Just on what I’ve seen so far, I would recommend this course for anyone who develops, designs, or maintains internet applications. Even if you have no desire to start your own web site, I think the guide will provide some valuable insight into SEO or SEM that any business can benefit from. Furthermore, the first week’s guilde will give you a nice introduction to terms you might not find defined elsewhere.

For those who are thinking about starting their own business online, this is a great introduction for two reasons. First, it is completely free. Shoemaker doesn’t even embed the ebook with affiliate links (I would) . Most other introductory courses to internet marketing are happy to charge you a recurring monthly fee for exactly the same information. Also, the course does not shy away from providing the “bad news” or cautionary tales about getting into internet marketing. No, it is not a get rich quick scheme. Yes, it will cost you money to get started. Yes, you should form a business entity and get legal and accounting advice. All of this is honest advice that anyone getting into the industry should now.

And for the record and in just case the Justice Department investigates this 2 years from now. No, I am not an affiliate, this was not a paid post.

PHP to JavaScript Library

I’ve been putting off one project that involves converting a major server-side calculation to JavaScript. When hearing about this library, I fear I have fewer excuses to put it off.

Developer Kevin van Zonneveld was once working on a project with a lot of client(JS) / server(PHP) interaction, and he found himself coding PHP functions (like base64_decode & urldecode) in JavaScript to smoothen communication between the two languages.

He stored the stored the functions in a file called PHP.JS which was included in the project. But even when the project was done, it remained fun trying to port PHP functions to JavaScript, and so the library grew.

Kevin decided to share the little library on his blog, triggering the enthusiasm of a lot of PHP developers longing for PHP functionality in JavaScript. PHP.JS is an open source project in which they try to port PHP functions to JavaScript. By including the PHP.JS library in your own projects, you can use your favorite PHP functions client-side.

I’ve taken a look at the libary and it is very comprehensive. Many, many php functions are duplicated in JavaScript. However, it is not a generic “port your code from PHP to JavaScript” too. This library lets you use many of PHP’s functions within javascript, such as md5 or php’s many array functions. The best part is most functions are 100% self-contained so you can just copy and paste the functions you need without downloading an entire bulky libary.

Mishmash of recent discoveries

Cleaning out my google reader feed, I came across a few discoveries that will help any web designer or coder:
How to Get Started with iPhone Dev

This is by far the best introduction I’ve seen to iPhone development. If you’re a traditional Windows or web programmer without much experience coding for the iPhone, this is a great place to get started. If you’re coding a full iPhone application or just optimizing a web site for the iPhone/iPod platform, you’ll want to read this page and bookmarka  few of the links it points to.

Royalty-free “submit” buttons. Seriously, it doesn’t look like there’s not much to this site, but he provides the original PSD files for each shiny, glossy button. Save oodles of time designing buttons for your web site.

Now that you have shiny buttons, you need spiffy backgrounds.

Manga-style twitter avatars, anyone?
5 Easy ways to get Solid Backlinks to your Site

Most traditional SEO is wrong. If you’re looking to build more links to your web site, this is an excellent place to start.

The Feds To Push For 'Truth' In Social-Media Marketing

Simply unbelievable:

The FTC is planning to hold marketers liable for false statements published on blogs and social networks—meaning companies or bloggers could get sued for saying a product was good if it really wasn’t.

The FTC is revising its guidelines for endorsements and testimonials for the first time since 1980; since companies are increasingly seeding discussion boards and social networks with comments from paid “brand evangelists,” and bloggers are making money off of pay-per-review blog posts, the FTC contends that these kinds of social-media campaigns should be held to the new standards.

“Word-of-mouth marketing is not exempt from the laws of truthful advertising,” Richard Cleland, the assistant director for the FTC’s division of advertising practices, told the FT.

But in a letter to the FTC, 4A’s vice-president Richard O’Brien argued that the proposed regulations were too harsh—and that “bloggers and other viral marketers will be discouraged from publishing content for fear of being held liable for any potentially misleading claim.”

So now for simply stating an opinion about a product, the FTC wants to investigate you to see if you were paid by that company. If you happen to be an affiliate of that company, or happen to have shown a banner for that company, you can be held liable if your opinion of the product differs from the “typical” opinion. According to the new regime, free speech doesn’t apply to the markets.

How to Publish your Blog on Kindle

Did you know Amazon will sell subscriptions to your blog for you?

If you haven’t heard yet about the Kindle, it’s Amazon’s wireless tablet reading device. You can download books, newspapers, and even blogs to the kindle, and them read them anywhere. Many other companies have tried e-book readers, but the Kindle is the first with much success.

Yes, blogs…. Kindle users can subscribe to a blog using their Kindle (it has built in wifi). This isn’t free – Amazon charges about $2.00 to subscribe to a blog, and they share about 30% of that with the blog owners. In order to add your blog to teh Kindle sture, just fill out a simple form here.


I recently completed a project using CodeIgniter, “an open source web application framework that helps your write kick-ass PHP programs”. In short, it’s for PHP as Rails is for Ruby – a simple yet powerful framework for writing MVC (Model-View-Controller) web applications. I’ve worked with other application frameworks in PHP before, but CodeIgniter was the first that I’d voluntarily use again. Most frameworks are horribly bloated tools that take far too long to learn, setup, and deploy.

CodeIgniter is a breeze to set up. It is entirely self-contained, so all you need to do is download the zip file, extract, and upload to your server. There is one configuration file to edit for your application, one to edit for your database, then you can start adding your code. If you’re familiar with the MVC style of coding everything quickly falls into place. If not, it seems like an excellent way of learning MVC.

The one small gripe I have is that the documentation could be better, and I’d rather it not be included in the default download. ther than that it’ a fantastic framework, even for your smaller projects.

Different Design Ideas from Across the Pond

kebi-lUnlike in New York, here “across the pond” means Asia. Specifically, I’m talking about getting design inspiration from Korea in this post. South Korea is a *very* wired country and as this post says, sometimes it’s good to step out of your own backyard and get some inspiration from a different culture. So here are 35 Korean websites with unique designs, at lease from our vantage point.

Simple tips to land more freelancing jobs

For years I’ve done a little consulting or freelance work on the side. The variety helps break up the monotony of the Day Job sometimes, and of course the added money is always nice. It seems that despite the so-called “bad economy” and “evils” of outsourcing, it is still quite easy to find freelancing work today. Here are few tips I’ve found useful:

  1. Familiarize yourself with the basics. There are at least half a dozen major web sites that help freelancers hook up with jobs on-line. Scriptlance, RentACoder, and eLance are just a few that pop to mind, but there are many others. All of these work in a similar fashion – freelancers fill out a profile and bid on projects posted by employers. Sometimes it is free to do so, and sometimes the sites take a percentage of any final project.
  2. When signing up for any one of the numerous on-line job boards, take the time to fill out your profile in detail. Take as much care in setting up your profile as you would a resume for a job you really want. The best employers will take the time to read your profile in addition to the bids, so make sure it’s good.
  3. Think about what the employer is looking for, and if you are truly the best fit for this job. Often employers are simply looking to outsource a job for $20 that would cost $1000 to complete at a fair wage. Others are looking for free services, or others are proposing jobs that would require a large team of programmers. Don’t be tempted to take on work that is beyond your skills, or would not be worth your time.
  4. Ask questions, and engage in a dialogue. The simple act of asking for clarification on a project shows that you took the time to read and understand what the employers has posted – unlike most other bids that are a simple copy and paste.
  5. Proofread, and use proper spelling and grammar. Since you are competing with hundreds of shops overseas, the simple act of appearing professional and fluent in the language can give you a leg up over most other bids.
  6. I posted about this in the past, but don’t forget to make use of twitter. This can be one of the most efficient ways to find jobs quickly.
  7. Also, don’t forget about craigslist. You can set up a simple RSS feed of any search in craigslist to find part-time or telecommuting work in any craigslist city.
  8. Finally, shy away from any projects that seem vague or ill defined. If the employer cannot clearly explain the project in the initial bid, there is a very good chance that the job will end up being far more complex that you imagine. A post for “simple web site” can easily turn into a nightmare if ill-defined.