PHP Tip 1: 5 reasons to learn some PHP

Posted by John on July 6th, 2008

I’ve learned more programming languages than I care to remember over the years. Some I still have night terrors over (RPG II anyone?) and some I remember warmly and wish had not gone by the wayside. AREXX always comes to mind, for any out there with as fond memories of the Amiga as I have.

The main thing that keeps coming through is the old adage that the more things change, the more they stay the same. Features and usefulness can vary wildly form one language to the next, but the core principles of programming seem to remain static, even if the names change. Paradigm methodologies like Object Oriented Programming change the steps taken to perform a task, but the task remains the same.

PHP has become my personal favorite for web programming over the years. All languages have strengths and weaknesses, but for my purposes, PHP offers the best balance of power, scalebaility, and ease of deployment.

1. Open Source and free

PHP (which originally was an abbreviation for “Personal Home Page” ) is free, and is covered by the PHP License.  Nearly every hosting provider can offer you some degree of PHP functionality.

2. Designed for websites

If you already have a website and are familiar with HTML, stepping up to PHP is easy. PHP and HTML code can be intermixed in the same file.  PHP adds the potential for almost unlimited functionality to your site, but the basic appearance is still all created in HTML.

3. Easy to learn and use

For basic tasks, the PHP language is easy to learn and implement. The language has a vast library of powerful functions that you’ll find yourself using as your skill level grows.

4. Tons of existing scripts

One of the best ways to start learning any programming language is to first see how others achieved what you hope to do for your site.

A search for “PHP scripts” on any search engine will return a large list of sites with existing code examples to get you started.

5. Plenty of help and  resources

Along with the aforementioned scripts, you’ll find loads of tutorials, discussions on potential errors, tips and tricks, and more available to you with a simple search.

The official PHP home site should be at the top of your list. There is a huge online user manual complete with function list, code examples and discussions.

beta tester entrepreneurs needed

Posted by John on June 22nd, 2008

This entry is a re-write of a post from one of my other blogs, but seems to me relevant to some of my readers here, with some minor revisions.

I’m currently setting up a new website that focuses on local small and home based business, and as I start to promote it over the next three months I hope some of my readers may want to get involved and hopefully also benefit from it.

While hardly a new or stunning idea, The Daily Downtown is another “Local Small Business Directory” with extra emphasis on the “local” and “small”. I want to offer a very low cost advertising alternative to the smaller entrepreneur, with a good chance of reaching a target audience that is indeed local to the advertiser.

As you can see from browsing the site, it still needs a few extra tweaks and additions before being ready for prime time. I am trying to keep the design as clean and simple as possible, so as not to detract from the advertiser’s content.

Rather than category lists or banner ads, each advertiser at the site gets a full page, such as this live demo page.

I have several advertising plans to promote the site now in place and ready to start, but I don’t want to pull the trigger until there is a good amount of content at the site. Ye olde chicken and egge conundrum … I need content (ads) to attract readers, but I need readers to attract content providers (advertisers).

So for the next three months, I’m offering a free highlight page ad any readers who have a small business and would like to try it out. I’ll alert all my beta testers when I start to run promotions for the site. After the three month evaluation, you’ll be invited to continue as an advertiser at a special discount rate, or you can choose not to continue. No hurt feelings here, whichever you choose.

There are only a couple restrictions I need to place on prospective advertisers:

1. The product or service you offer must be family friendly.

2. Your products or services must be easily available to your local prospective customers. Whether you have a physical storefront, operate out of your home, do home visits, sell at the local famer’s or flea market, or any combination, all of these are fine. If you also offer goods or services over the web that’s great too .. as long as you also cater to your local customers. I’m not out to disparage the “web only” businesses out there (which would include myself) but there are already numerous quality “web directories” available. I want this site to have a narrower focus.

Additionally, I am looking for local “sales reps” who already have a network of local business associates and acquaintances.

I’ll work with you to define a territory depending on your location, and get you set up with a “publisher account” that lets you create new ad spots with a simple-to-use web interface. You’ll notice price is never mentioned on the site, you can determine fair market value for your location.

For the first few months, the deal is pretty sweet - whatever ad space you sell, you keep all the revenue. My major concern is building up that content, and I think of any “lost revenue” on my part as an advertising expense. And as the site is still so sparse, I’m imagining that future sales reps will need to “promo” a few free spots in order to get momentum going, so this gives you chance to have a free offer for your best clients without any expense to you.

After 3 months we’ll revisit your account and see if the arrangement continues to be mutually beneficial.

If this sounds like something you would like to try, use the contact form on this page and you’ll get a reply from me shortly.

Thanks in advance to all who participate!

It would be impossible to pigeonhole every client into some pre-defined “type”.

While I have developed some generalized “customer profiles” over the years, more often than not any one customer will display attributes of two or more of my carefully crafted “types”. Every client is unique, and “typing” a client only works in the broadest sense and can lead to erroneous and dangerous (for your business) assumptions. Other factors like deadlines, competition and the general mood of the day also come into play.

So, with all those caveats aside, I’d like to relay an ongoing conversation I have with one of my oldest and best clients. This gentleman is the most amazing artist I know, and always has 5 to 30 major projects going at any given time. He’s also one of my best friends and was the Best Man at my wedding, so we have built up a pretty solid rapport over the years.

During the first few years when we were in provider / client mode, an initial conversation on a project would go like this:

Me: “OK, so what are the top three subjects you think need their own pages? This won’t be set in stone, juat gets us to a good starting point.”

Client: “Oh I don’t know … I have new pictures of the prototyping phase for (THE PRODUCT) that need to be there, though.”

Me: “Right, we’ll definitely want to put those up … I guess the important question for me is, do you want to go for a more documentary feel, a “making of (THE PRODUCT) website, or a more conventional information and sales site?”

Client: “Well, you know what I like, just do that.”

OK so some of you are probably thinking “What the heck are you complaining about? He just gave you carte Blanche! Go to town!”

Nothing could be further from the truth. This client is as close to a 100 percent visual thinker as I have ever known. In each of these conversations I know he already has a specific vision in mind, but he needs the visual input to comment on. The guy is undeniably a genius, but it can be a nearly impossible challenge to reach common ground with him based on conversation alone.

As mentioned before, you can’t pigeonhole. The need to express ideas and requirements visually is a trait we all share to varying degrees. We’ve all had that experience of SEEING in our minds eye what we want, and then being at a complete loss for words when trying to verbalize that vision.

With the non-verbal client I’ve found it’s usually better to stick to “expected results” questions rather than trying to draw out design specifics in the initial discussion. There will be plenty of comments and suggestions later on when you give them something to look at and “test drive”.

So rather than ask for details such as “what type of look” or “what information is most important” I’ve learned to start out with “After the first visit to the site, what are you hoping to get from the visitor? A sale? “An email address? A request for more information? What is the most important bit of information you want the visitor to walk away with after browsing the site?”

This approach usually works well with any new client, especially those who are contemplating their first site.

You’ll also get the clients who know exactly what they want, already have content and basic flow thought out, and are looking to you to build from their blueprints.

And, the majority of your clients will likely fall somewhaere in between these two extremes. Pigeonholes are notoriously unreliable devices. Enjoy the diversity of personalities, working styles and moods you’ll encounter, it should all be part of the fun.

the art of time management in a one man shop

Posted by John on June 21st, 2008

I love being a freelancer.

The idea of some day not having a boss or “chain of command” to answer and conform to is what keeps me going daily.

However, along with all the perceived perks, come new major responsibilities. I’m not talking about the obvious challenges like making a living and keeping the Tax Man happy. And to many what I’m writing about may be completely obvious.

The challenge that I’m referring to is simple time management. I recently had this brought home to me in a very uncomfortable and expensive way.

As an employee, I get a task list and completion dates. While I have a great track record of completing assigned tasks within the given time frame, It’s ultimately my boss’s responsibility to see that things remain on track. And of course he’s responsible not only for my productivity, but all the other employees as well as himself.

I recently took on a redesign job that at the outset, looked reasonable. I felt I had sufficient time to get the job done within the time frame agreed upon by the client and myself.

What I failed to do was account for unforeseen external demands on my time. OK, so no one can predict this with any certainty, life just does not work that way. As a one-man shop however, I hopefully learned a very hard won lesson.

To some extent the job just seemed to be plagued by bad luck. A hardware failure brought my production down to zero for nearly 2 days, and I spent a lot more time getting to a “common ground” with this particular client than I had anticipated.

And then, two more things happened.

First, a sudden increase in work required by my boss, and some pretty tight deadlines. Since my ability to eat on a regular basis still hinges on keeping my boss happy, those items had to take precedence. In fact I’m writing this as I take a short break from the task list.

Second was a personal incident involving my family. While all ended happily, I lost another 2 days in travelling back and forth halfway across the state.

Meanwhile, the client only saw that the work that had been contracted, was not being done. And rightfully so, from the client perspective.

So the final result has been a refund of the initial downpayment, and one former and very unhappy client.

If I was doing this job as an employee of a larger company and was unavailable, a larger company has other resources to draw on, and someone else could have taken up the slack. As a freelancer, I don’t have those options.

So, one of the areas I need to re-train myself is in simple time management and forecasting. Mainly, I need to pound into my brain one simple thought: “There is NO safety net … there is NO safety net …”

After years of providing estimates, I thought I was pretty good at providing a good and reasonable time frame. What I forgot was that my boss would make sure I had the time available according to my estimate. From now on, that’s my responsibility.

As my clients know, I’ve been a bit of an evangelist for the Website Baker CMS (Content Management System) framework for several years now. While it has its quirks, it has been a steady workhorse in providing a stable framework for me to build client sites on, and feel confident in handing the day - day editing and content management over to the client, with little fear of 2 AM phone calls.

My main site has been built on top of Website Baker for the past few years, and continues to serve me well. I am a big believer in having some type of CMS on any site regardless of the size or complexity of the site. It just seems silly to me to force a client to contact and pay me to correct a mis-spelling or change a date.

While content for now with the framework, I make a point of keeping my eye out for other systems and potential rising stars in the CMS world. I think I may have found a replacement or partner to Website Baker in textpattern.

I had looked at this system a while back, my initial impression at the time was that it was too blog-centric. While still aimed at the blogger, the latest release (4.0.6) might just be the ticket for me.

A note to those already familiar with textpattern - because of the amount of time that has passed between my first look at textpattern and the present, I may refer to some features as “new” that have actually been available for some time.

I’ve set up a development copy of the textpattern framework, and I’m just starting to dig into it. More details to come in a future post!

woo hoo Racine here I come!

Posted by John on June 21st, 2008

So, I moved from Racine, WI to Milwaukee, WI for a “short term gig”, inending to move back within a year.

And stayed for 4 years.

Then, I moved up here to Wausau, WI for another “temporary gig” and figured that I’d then move back to Racine within 6 months or so.

That was another 4 years.

Well finally I’m going back home. I’ve worked out a telecommute deal with my present employer, so I won’t quite be jumping out of the frying pan and into the fire, employment - wise. And I’ll have more time to devote to freelance, which is where I want to be eventually.

Don’t get me wrong, Wausau is a beautiful little burg. I would recommend it to anyone looking to relocate to a nice little town that still has some amenities of the larger city. And the employment situation up here is still a bazillion times better than Southern Wisconsin.

But for me at least, it’s just not home.

Hi and thanks for taking a look!

Posted by John on June 6th, 2008

Welcome to DevRamble, my little place to share news, tips, and perhaps just rant from time to time.