Thursday, July 2, 2009

Creating a database with phpMyAdmin


I've been trying to get started creating the database I need for this project. I have it planned out on paper, but it's time to get it digitized, and I'm finding it hard to get any traction with MySQL. I've been spending a lot of time looking for tutorials and books, which I'll need, but many of these resources seem to start in the middle somewhere. I'm the kind of learner who gets cranky if information starts getting thrown at me without the foundational understandings already being in place.

Most of the tutorials I find have you importing a sample database from somewhere, leaving out the step of creating one. So I really just wanted a very simple, nice, friendly tutorial on how to create a database with phpMyAdmin.

Here's the one I found: www.homeandlearn.co.uk/php/php12p2.html

It explains in just a few words - not three chapters that go off in every direction - what those data types are, and how to choose which. That helped me a lot.

So - I have a database now, and one table. phpMyAdmin served me well for this, but I may try and switch to Heidi, because the interface is just so much nicer, as people told me. Not sure, because so many tutorials and instructions are written for phpMyAdmin.

Next: creating the other two database tables I need. Next after that: figuring out what's next after that.

Monday, June 29, 2009

Think Locally, Act Locally - Setting up a PHP Development Server

Day 1 on my brand-new project, a PHP/MySQL site. I'm hoping to post here about all of my mistakes and how I solved them, so that others can benefit from my ignorance.

The first thing I needed to do was to set up a local testing environment, so that I can create a database on my very own hard drive, write PHP pages, and test them with a web server.

Turns out that there are 493 ways that this can be done, and a simple Google search reveals that each one has at least 19 tutorials on the Internet. You do the math, because at that point I decided to look for the simplest solution. The one I came up with is called WAMP Server, which is for Windows. That's what the W is for. Windows, Apache, MySQL, PHP. It has all of them bundled together, a bundle of joy.

So I installed that. The only real problem I had with it was this: it didn't work. So I went and bothered everybody on my favorite web development forums, and they told me that (in my case) Skype was taking the port that WAMP needed. I don't really know what a port on a computer is, but it's some kind of a door-like thing, an opening through which things pass. I had to change a setting in Skype before WAMP would work. The setting in Skype was under Options > Advanced > Connections - I had to un-check "Use port 80 and 443 as alternatives for incoming connections". Apparently this lets Skype choose any port it wants. So if WAMP is running, Skype will still get a port that makes it happy.

So, now I have a PHP development environment.

Next, I needed to set up Dreamweaver, which is my homeboy that I use for everything, and I don't care what all the haters say. That involved creating a Site Definition, which I've done 3,057 times before, so I'm not about to describe all the details. The important parts are the paths - the one under Local Info where you tell Dreamweaver physically where on your hard drive the files are, and then the two paths under the Testing Server tab.

Now, for some reason, I thought that the root of my new local web server was at c:/wamp/bin/apache/apache2.2.11/htdocs. But it's not. It's at c:/wamp/www.

So, I'm putting my site files at c:/wamp/www in a folder named after the site, northeastlooms*, in a subfolder called site. So the physical path to my site root is: c:/wamp/www/northeastlooms/site. That path is what goes in "Local Info/Local Root Folder" and also on the Testing Server tab in the Testing Server Folder field. Under URL Prefix goes http://localhost/northeastlooms/site/. If you look at those two different paths, you can see the relationship between them. http://localhost points to whatever is in the local server root - in my case, that's a folder called northeastlooms containing a folder called site, containing the files for my web site.

And I don't even have a web site yet. But there you have it, that's my PHP Development Environment.

This video tutorial by David Powers, Defining a PHP Site, was helpful and so was this article on Adobe.com: Setting up a PHP development environment for Dreamweaver.

* Names have been changed to protect the innocent.

Labels: , , ,

Friday, June 26, 2009

WordPress Emergency Password Reset Script

Last night, I carefully changed the password to one of my WordPress blogs. Like I said, I did it carefully, and then noted the new password in the place where I note them, which of course I'm not going to tell you.

I then tested the new logins, and they worked fine.

So imagine my surprise when I went to log in this morning, and it didn't work. Neither of the logins I have for that WordPress installation worked. I tried old passwords, various passwords - nada.

There's a "Lost Password?" link on the login screen, so I clicked it, expecting an easy solution. I entered my email address and submitted it, only to get an error message saying something about my host company not enabling Send Mail. What the hell? So I don't get any emails from WordPress? Better look into that.

Meanwhile, I couldn't get in! I went to the WordPress documentation and searched. One solution had me using phpMyAdmin to access the database directly. Ok, fine, it might come to that, but isn't there an easier way?

Thankfully I say it: ("thankfully" describes my feelings, not the grammatical clause which comes next, so it makes no sense to just write "thankfully") there's a nice little WordPress Emergency Password Recovery script that solved my problem very quickly. It involved downloading a zip file, uploading a single .php file to the server, pointing my browser to it, and filling out the form there. And it worked! Thank you, village-idiot.org. I guess I was the idiot in this case (what else is new?), though I still don't know how it happened.

Labels: ,

Thursday, June 25, 2009

My PHP/MySQL Adventure

I'm about to start a new project, a database-driven site. I've done a few before, always in ColdFusion and MS Access, but it's been a few years, and in 2009 I think PHP and MySQL is the way to go. If I'm going to spend time slaving over a hot laptop (and believe me, when you're working in the Yucatan in Mexico in summer, that's no exaggeration!) I want to be gaining PHP/MySQL skills, not ColdFusion/MS Access.

So, planning to blog here as I go along, and share what I learn, and my tears and triumphs!

I still don't quite have a grip on MySQL. Unlike MS Access, there isn't a convenient program sitting on my laptop already for creating and editing databases. Instead, apparently you have a number of other options, some free, some which cost:

PHPMyAdmin
Navicat
My SQL Administrator
MySQL-Front
Heidi SQL
SQLYog

Scary-sounding, aren't they? Couldn't they be more Web 2.0-friendly-birds-and-clouds about it?

A good discussion on my friend's NNTP forum (news://news.gowest.com/gowest.webdev) produced the following nuggets of information:

Re. Navicat: "Even for a single project it will make your mySQL life SO much easier. There is even a free 'light' version, and a 30 day full featured trial on the regular mySQL version that most of us use ($99 to buy a license after 30 days and well worth it). I can't imagine doing mySQL at all without navicat. Makes phpMyAdmin look like an old dog in a horse race... no comparison!" - Michael Evangelista, GoWest Web Design and Hosting

"...worth its weight in gold - i couldnt agree more, found it a few years ago and it beats all other tools hands down." - Twocans

"I would not know where to begin using MySQL without Navicat and would not even try. I bought the $99 version after using it for 2 days six years ago, have never regretted it, completely agree with Michael here." - LWD

"I've been using Navicat for donkey's years and love it, but I think unless you're going to be working with MySQL on many projects it wouldn't be worth the expense. phpMyAdmin is perfectly adequate (free) but if you want a GUI then there is MySQL Administrator 1.2 from http://dev.mysql.com/downloads/gui-tools/5.0.html which is also free. MySQL-Front is an old favourite too (http://www.mysqlfront.de/) - it used to be free but now I see it is US$35 - still, it's good value." - Steve Fleischer

"Take a look at Heidi SQL. This is the continuation of the old MySQL Front project and uses the same GUI if you are familiar with that one. It is also freeware.

http://www.heidisql.com/

I've used it since the first project (MySQL Front) was started. If you have minimal requirements (i.e. just working with a single development MySQL database on your local computer) it is all you would ever need (it also remotely interfaces to any online MySQL database too).

You may also want to look at what your web host offers. Most have PHPmyAdmin installed which is more than enough for 99% of all remote database nuts N bolts stuff.

Now having said all of this, I use Navicat standard because I have to interface with several databases on my DB server and it allows me to log in as root admin and do anything I need to do for clients. Navicat is nice if you need it or if you just want something super slick to play around in. I do not have Oracle or PostgreSQL installed on my DB server so I would not need to upgrade to their premium product.

You can still find the last freeware version of MySQL Front (2.5) if you Google enough for it but Heidi has moved forward from that last freeware version so you might as well download the latest offering from the original MySQL Front developers." - Mike

"If you're doing much of anything with a MySQL db I second the vote to get, or at least try, Navicat. If you're used MyPHPAdmin at all, it will open your eyes and make you wonder why anyone would want to use MyPHPAdmin ever again." - Mad Dog

"Navicat is pretty, and it's easy to use, but it falls down terribly when testing SQL queries. phpMyAdmin isn't at all pretty, but it's easy to use, and it handles SQL queries that make Navicat barf. I must admit that I haven't used Navicat a great deal, but I can't find a great deal to get excited about." David Powers, www.foundationphp.com

"Or you can try SQLYog (http://www.webyog.com) - another excellent MySQL admin tool. I am not sure how it compares to Navicat now, but when I switched from phpMyAdmin it was beating Navicat on many fronts. The free version has a nag screen on startup and shutdown, and does not allow connections to remote hosts + of course none of the true enterprise features. $99 for a full Enterprise version seems very reasonable." - Azadi

"SqlYog is similar to Navicat, but has one HUGE advantage. SqlYog offers a php page you can upload to a site so that you can tunnel to MySQL on shared hosts that don't allow a direct connection. If you ever have to work with MySQL on a shared hosting account without any external ports open then SqlYOG is the only way to go. If you don't need this feature, then I think Navicat may be the winner but they are very similar in my experiance." - David

I'll let you all know which I end up settling with. I love the idea of a nice, easy interface, but I'm only doing this one small project and I'm living on pesos, so don't want to pay much.

Thursday, June 18, 2009

E-Junkie for Selling Digital Downloads

After using another digital download system for about six years, I just recently switched to E-Junkie, and I'm very pleased.

I had been using Payloadz.com since I first started selling my web business forms. Although the service generally worked well, complaints from customers that something malfunctioned were too frequent. More serious, to me, was the fact that as time went by, customer support went way downhill. Where initially I received fairly quick and cheerful responses from a real person, over time this turned into slower and slower responses, much more brief and less helpful, and they began to be unsigned, as if they came from a computer or a massive faceless corporation, which I actually knew was not the case. I found it difficult to carry on a support thread with someone who had no name.

These things bothered me. But I thought that the price I was paying - $70/month for about 30 downloads - was typical and reasonable. So imagine my surprise when I discovered that E-Junkie came very well-recommended, and that it would cost me $5/month for exactly, precisely the same service!

I was nervous about switching, but finally took the leap. So far, everything has been entirely smooth, no problems, no complaints from customers. To be fair, I haven't had much need for customer support yet, so that remains to be seen. My impression is that it will be pretty decent. But even if it's mediocre, I'm no worse off than before, plus I have $65 more in my pocket every single month.

Here's a list of features offered by E-Junkie - visit E-Junkie.com for more information. By the way, I am not affiliated in any way with the company other than being a customer.
  • Easy to use, centrally managed service
  • Digital storage & delivery for files & codes
  • Supports multiple payment processors
  • Copy-paste Buy Now and Shopping Cart buttons
  • Supports variants for tangible products
  • Shipping and packaging calculator
  • Sales tax and VAT calculator
  • Packaged products
  • Inventory management
  • Product promotion
  • Discount codes
  • Affiliate management
  • Autoresponder, updates & newsletters
  • Sales tracking, built in support for Google Analytics
  • Customization
  • Download link renewals
  • Easy integration with 3rd party and custom services
  • Logs & e-mail notifications
  • Globalized
I'll report in again a little further down the line when I've had more experience with them.

Labels: , ,

Tuesday, June 2, 2009

Actually, I can't recommend Foxit Reader

Ok, I have to renege on the recommendation in my last post. After testing out the PDF viewer Foxit for a few days, I found that it gave me trouble. There was one document I could not open at all with it, and I was a bit sorry I had set it to be my default PDF viewer, because it took me a while to figure out how to undo that setting. I'm back to using Adobe Reader.

Monday, March 16, 2009

A free, fast-loading PDF viewer

PDFs are useful, and everywhere on the Web these days. Yet I hesitate to click on links to PDFs on the web because of what a production it is for Adobe Acrobat Reader to open. It lumbers into action like a sleepy elephant being awakened from a nap, first showing a splash screen, then eventually loading the program itself. I tend to think twice before even taking a peek at a PDF, because there's really no option to just take a peek - it's a serious time commitment!

But I just found out that there's an alternative to Adobe Acrobat Reader for viewing PDFs, Foxit Reader 3.0 for Windows.

The best thing - well, I guess the best thing about it is that it's free. The second-best thing about Foxit is that it loads instantly. Those two features are enough for me. But it also allows you to draw graphics, highlight text, type text and make notes on a PDF document and then print out or save the annotated document. You can also convert the whole PDF document into a simple text file.

Foxit also advertises that it will not connect to the Internet without your explicit permission, which Adobe Acrobat Reader does.

Labels:

Sunday, December 28, 2008

Creating order out of digital chaos

Are your digital photos badly in need of organization? Are they collecting in ominously large numbers on various hard drives, disks, and online sites, randomly sized and named? When you think of how important some of them are to you, and how you could lose them all in one theft or flood or fire - does it make you feel so bad that you're in denial about the whole thing?

Well, what if I told you that for about $2/month, and a little of your own time, you could have them all in amazingly great order, stored safely on reliable servers, and have tools available to you to share them easily with others, order prints - or just keep them private?

Sorry for the corny introduction, but I'm really pleased that I finally tried out Flickr.com, and it's so useful that I'm feeling like everybody should know about it.

For those of us who are trying to lighten our material possessions and live the virtualista lifestyle, Picasa is a godsend.

Okay, the basics. You can sign up for a free account which is pretty good, but won't serve the purposes I describe above. A free account allows you to upload 100 MB of photos per calendar month. This is a bandwidth limit, and not an amount of server space. When a new calendar month begins, your limit is reset, and you can upload another 100MB. They'll keep all of your photos, but the catch is, you only have access to the most recent 200 of them. (In comparison, a free Picasa account allows you 1,024MB storage, period.)

Just as their business model is designed to do, I tried out a Flickr account, realized how awesome it is, and pretty quickly upgraded to a paid version.

A Pro account is $24.95 per year. That may sound like an annoying bill to have to pay, but think about it -it's only once a year, and works out to only $2.08 per month. When you realize what you get for it, and how it is completely capable of solving your troublesome digital photo problems, it may seem well worth it, as it does to me.

A Pro account gives you:
  • Unlimited photo uploads (20MB per photo)
  • Unlimited storage
  • Unlimited bandwidth
  • Unlimited photosets
  • Archiving of high-resolution original images
But it's not just that you can dump all of your photos into an account. Flickr also makes organizing all of those pictures doable. I was going to say "easy", but the truth is, you have to make the effort and spend the time to organize them - but the tools they offer (a "photostream", "sets", "collections", etc.) are top-notch and are working really well for me.

But wait - there's more! (And I'm really not getting paid a cent for this!) If you want to email photos, or post them on your blog or web site, you can easily link to each one. Your original high-resolution photo (if that's what you have) is stored, and you can instantly access each photos in any one of several smaller sizes, and grab a URL which you can send or embed anywhere.

And then there's the slide shows - I really like this feature. In one click, you can create a slide show from just about any selection of photos, and embed or link to it, so that your email friend, blog readers, etc. can easily view it in that form. Here's an example:



You can also order and purchase actual prints from any photos, if you're into that! (I actually plan to - something I've been procrastinating on for years because it was just too hard to get organized to do it.)

The Pro account also allows you to upload videos. I haven't used this feature yet, but it may very well be a nice alternative to YouTube.

Flickr has a whole community aspect - sharing your photos with all kinds of people - which doesn't really interest me, but if you're a social networking web site fan, you may enjoy it. There are a lot of features designed to allow you to communicate and collaborate with others there.

But, if you just want to store your photos privately, there are a whole set of options for determining who can see your photos - from only you, to anybody at all, and several levels in between.

Obviously, I'm sold. It may not be the perfect thing for you, but if you have an hour to play around with it, a free account will allow you to find out.

Labels: , , , ,

Thursday, December 11, 2008

Having a taste of del.icio.us

I've decided it's high time I learn more about social networking web sites. I've used Facebook a lot and MySpace a little; this week I decided to give Delicious (also written as its actual URL, del.icio.us) a try.

According to its self-description: "Delicious is a social bookmarking service that allows you to tag, save, manage and share Web pages all in one place. With emphasis on the power of the community, Delicious greatly improves how people discover, remember and share on the Internet."

The main draw for me is to get my own browser bookmarks (1) organized, and (2) stored on the Web, where I'm trying to store everything important these days, so that I'm not dependent upon my own laptop and hard drive.

It was easy enough to get started: I signed up for a free account, and then agreed to have all of my bookmarks from Firefox imported into Delicious. By choosing certain options, I allowed Delicious to add tags to my bookmarks, based upon its own internal logic.

Having done that, I had my entire set of bookmarks stored on Delicious, and categorized by tags. The tags needed a lot of work to be really useful, but they were a good start, and tags can easily be edited. Especially interesting was the "tag cloud" view, offering a non-linear view of the relative predominance of various subjects among my bookmarks.

I haven't gone much farther yet, to sharing of bookmarks among other users, exploration of the most popular sites, broken down into countless categories, and connecting with others of similar interests and concerns, which is the central purpose of social networking web sites. But I've at least had a taste!

Labels: , ,

Wednesday, December 10, 2008

Outsourcing to far-flung places via Elance

Today I finally tried something I should have tried a long time ago: soliciting a technical subcontractor via an online employment site.

A client of mine has asked me to get a web-based project done which I don't have all of the skills for. She readily agreed to my trying out Elance.com, one of the premier sites of this type. So I signed up for a free account and submitted a detailed description of my project and the skills that would be necessary in a provider.

The process wasn't hard to figure out and didn't take long. I was required to pay a $10 deposit which, I was promised, would be returned in full, no questions asked, in one week. It sounds like this effectively discourages those who are less than entirely serious from using the site. I provided my name and email address in order to get an account, and filled out the form for advertising a job.

This was all pretty straightforward. According to the FAQ files I read and tutorial videos I watched, the next few steps will be a little more involved - reviewing the proposals that will come in , choosing a provider, negotiating the specific terms of the job, including checkpoints and associated payments, and then proceeding with the work. But these are nothing different than I would be doing if I were hiring someone in a more traditional way.

Elance protects both the buyer and the provider by a number of methods. For example, typically, funds are deposited by the buyer into an Elance escrow account, where they are held until the the provider meets certain designated checkpoints in the project, at which point the buyer authorizes them to be released. This, along with the fact that the checkpoints are clearly spelled out in advance, ensures that the money is there for paying the provider, and that he only gets paid when he completes the work he agreed to.

The exciting part was when the responses started coming in, almost immediately; the first from Serbia, the second from India. Both made reasonable proposals and showed recommendations and portfolios.

It looks as if we'll have our contractor very soon. What the larger ramifications may be to this instant globalization of technical work, we don't yet know, but for now, it's serving my client and I very well.

Labels:

Monday, December 8, 2008

Something new in my web development career

I usually try to keep this blog non-personal, but I've been learning a little more about blogging, and apparently I'm supposed to be spontaneous and write about the things that matter most to me. So here's my first post in that vein.

In the past few weeks, I did something I've never done before in my web development career: I accepted a contract job with a company which is not in the web dev industry. I'm still very much self-employed, so this is, in many ways, simply another client. But it will be a different work situation than I'm accustomed to. Over the past ten years, the great majority of my work has been creating new web sites from scratch directly for my clients, the people who pay me. I've been the webmaster, the person solely in charge of the site.

Under this new contract, I'll be much more of a cog in a bigger machine. I'll be working with other web developers, and being assigned to various portions of numerous different projects. I'll probably seldom meet the actual owners of the sites I work on, instead working through the company who has hired me. And rather than making all decisions myself, I'll be following the instructions of others and collaborating.

I still have other work and other clients, but this is the direction I wanted my work to go in: less clients, with whom I work more closely. So I'm pleased, and looking forward to this addition to my work life.

Labels: ,

Sunday, December 7, 2008

Getting soft on hand-coding?!

Just now I was writing an entry on another blog, and needed to put in a link to a photo - and to my horror, I had to think for a minute how to hand-code the HTML!

I started out hand-coding more than 10 years ago, so I'm no stranger to it. But the truth is, with programs like Dreamweaver, I've gotten way too soft! It made me realize that it's important for me to keep code in front of my eyes frequently so that it never stops being second-nature to me.

Saturday, December 6, 2008

Tried iGoogle yet?

I have an on-again, off-again relationship with iGoogle, Google's dashboard-desktop application. Right now, it's "on" again between us.

I'm continually trying to improve and smooth the way I work on my computer, particularly since I gave up paper almost entirely, and this is part of that effort. I depend heavily upon GMail, Google Calendar, and Google Docs; in fact, those three applications are crucial to my operations these days. The iGoogle page allows me to see all of them on a single page, creating a sort of central control panel for my digital and online life which I like. Sometimes.

iGoogle also offers hundreds of other widgets, gadgets and thingies that can be added to this desktop - clock, weather, quote of the day, puzzles, currency converters - you name it, there probably is one. Most of these are created by third parties, so your mileage will vary, as they say.

It may be "off" again between iGoogle and I in a few days; we'll see how it goes.

Labels: , ,

Wednesday, December 3, 2008

Getting Set Up With Skype

[Reprinted from my other blog.] Among the multitude of systems and tactics I've put in place so that I can work my regular job from Mexico this winter is my phone arrangement.

I just finished putting the finishing touches on it, testing and debugging it, and I'm more than pleased with how well it works.

I'm going to use Skype for most of my business calls. Skype is a telephone-over-Internet system. I have their free software installed on my computer and a $10 headset plugged into my USB port, and with just this setup I could make and receive calls all over the world, for free, with anyone else using Skype.

But that is not all - oh no, that is not all. I signed up for two Skype services which I have to pay a small amount for, but get a whole lot out of.

The first service is a "Skype Out" subscription which allows me to call any landline or cell phone in the U.S. or Canada and talk as long as I want. This costs me $2.95 a month.

The second service they call a "Skype Online Number", also known as "SkypeIn". The one I signed up for is a Raleigh, North Carolina number, local to my home base. Anybody can call that number to reach me from any kind of phone anywhere, and it costs them whatever it would normally cost them to call Raleigh, North Carolina. In other words, for my local family, friends and clients, it costs nothing. It costs me $30 a year - $2.50 a month. (This is a deal you get for already having a subscription.)

So my total cost for what amounts to unlimited calling is $4.45 a month.

My next move was to forward my landline to my Skype number. This was a function of the landline service, and was easy enough to do: dial *72, wait for the beeps, enter the forwarding number, and let the forwarding number pick up.

Then I spent a few minutes making calls to myself. Using my cell phone, I dialed my landline number. Yay, it rang on my computer! I answered the call using my laptop and headset, and talked to myself back and forth just a little to make sure it worked.

Then I set up the Skype voice mail, which is included in the subscription. Tested that out; it works great. The caller leaves a voice mail in the normal way, and I see a notification on my Skype screen, and just have to click a little button to listen to the message.

I then unplugged my landline from the wall socket and the phone jack, since nobody here will need to use it, and tested again; everything worked great.

I found a finishing touch by browsing around in the Skype software's options: I set it so that when a call comes in, the rings comes through my computer speakers as well as through the headphones. That way, if I'm across the room making a cup of te caliente con crema, or just don't have the headphones on, I'll hear the call.

It seems just about perfect. Except for one thing... I'm kicking myself a bit for not having ordered a wireless headset, since it's too late to have one shipped to me before I get on the plane on Monday. I don't like being tethered when I'm on the phone, and love the idea of being able to wander around la casita talking on the phone as I normally do at home. I didn't know there was such a thing as a wireless headset! Well, maybe I can find one in Playa del Carmen on the way down to Tulum.

Wednesday, November 12, 2008

Out with hierarchical filing; in with tags


This week I spent some time organizing two systems which are important to my business and particularly to my "mobile office". Both are Google applications: GMail and Google Docs.

I use both heavily, and because I'm keeping much less information on paper these days, it's crucial that I keep both my emails and documents highly organized. I have to be able to find an email or a Google document when I need it.

Now, the search functions in both of these applications may almost be enough to render unnecessary the efforts I'm about to describe. They work so well that I sometimes suspect that this is true. But I'm just not quite ready to throw everything into one "place" and trust that I'll be able to pull up what I need only by entering search terms. What if I can't quite remember the spelling of a name, or the search terms I feel sure appear in the document aren't there in the form I expect them to be? That could be bad.

But GMail has "labels" and Google Docs has "folders", and I think I've finally begun using both in a smart way.

Despite the names "labels" and "folders", both are really best understood as tags. The concept of tags is somewhat new, and fairly new to me, but I'm beginning to really like it. But it takes a certain shift in thinking to use them well.

Many of us, I guess pretty much distinguishable by age, have always lived in an office environment in which information is organized hierarchically. A document "lives" in only one place, typically a folder or directory, either physical or digital. Files on a PC are arranged this way. In order to find something, it's been necessary to remember the whole hierarchical position of the item.

Hierarchical organization of information can be just right for some things. But for my thousands of emails and Google documents, I quickly realized that my initial "folder" way of thinking and organizing was clumsy and inefficient. As I began to see tags used in other contexts (in Blogger, for example), it dawned on me how much better this system was.

With tags, the idea is simple. To organize your documents, you tack on one, two, or more tags - words or phrases which identify the subject matter of the document. Ideally, the list of tags in your system is kept to a minimum; you don't want to use "United States", "USA" and "The United States of America", but only one of those three.

When I want to find documents that have to do with family, for example, I just click on the tag "family", and there they all are, just as if there was a folder called "family". But several of them are also tagged "travel", and those documents appear in my list of documents tagged "travel". Some of those are also tagged "purchases", and I can see them in that list as well.

In GMail, again, the term used is labels, which fits well. In Google Docs, they're called folders, which I think is a poor choice. My guess is that the designers of the application wanted people to be able to think in the old folder-thinking if they wanted, and in fact, I did for quite some time. But Google Docs items can be "placed in several different folders", and so, if used that way, they're really functioning as tags.

My main point here (since I'm afraid it's buried in verbosity) is that the fairly new concept of using tags or labels to file digital documents is far superior to the old hierarchical way of thinking. And, dull as this subject might seem, it's strategies like this that are allowing me to be organized enough, and mobile enough, to work from Mexico this winter, rendering them considerably less dull, in my humble opinion.

Labels: , , ,

Tuesday, September 16, 2008

Why my business model is gradually changing

As a self-employed web developer, I've seen some interesting trends in the past couple of years. One is that many, many more clients seem to be "shopping" for a web developer, requesting estimates from a number of us and then choosing the cheapest. This doesn't work well for me, since I find that an accurate estimate for a web site project - even a "small" one - takes me at least several hours to complete. My answer to this is to be a lot choosier as to who I'm willing to provide a free estimate for, these days.

Another trend is more interesting: I'm getting calls from programmers who have lots of back-end work for clients and consider themselves design-challenged. I love design, and I love designing with HTML and CSS, so these gigs may work out well.

As some of you know, I'm now also working as an off-site administrative assistant, doing a wide variety of work for my clients, all from my own location and on my own time. Maintaining web sites is still one of my main responsibilities, but I'm also handling some other promotion-related work, such as the production of podcasts and the maintenance of contact databases.

Wednesday, July 23, 2008

Starting a Web Design Business

I frequently talk to people who are considering opening up their own web design business. The burning question most of them have is, "Will I actually be able to make this work?"

I try to pass along what I was taught when I was at that stage: it depends upon a number of factors. If you're at this juncture, I'd recommend asking yourself these questions:
  1. Do you have at least some type of written business plan? I don't think that you necessarily need a formal, full-scale business plan, assuming you're not looking for investors. But I believe that a well-thought-out, written document expressing your plans and intentions for your business is extremely important. What steps will you take in starting it up? Marketing your services? Setting up accouting and other office procedures? What equipment will you need? How will you handle taxes? What are your projections for income and expenses?
  2. Do you have a realistic plan for your own financial support (and that of your family, if you have one) while you're getting your business up to speed? It almost always takes some time - let's say at least six months to a year - before a new small business is generated reliable income.
  3. Are you prepared to aggressively market your services? Business usually has to be drummed up through numerous efforts, certainly more than simply advertising. I remember when I had just opened my new business, and my father asked me how I was going to get clients. I told him the different tactics I knew about, including one of the main ones, networking face-to-face with other people. "But I don't think I'm very good at that," I worried. "Well, you'd better learn," was his answer. I didn't like it, but he was absolutely right, and I forced myself to learn to meet people, talk about my business, and make connections. I did a lot of things that were outside my normal comfort zone during that time.
  4. Maybe most important of all: do you have the self-discipline to get up every morning, figure out what the most important work is for that day, and then actually do it - even with nobody breathing down your neck? This is a type of character that not everyone has; many people simply need to have their marching orders coming from someone else. I suggest thinking hard about this question: do you have that ability to self-motivate and self-direct, day after day, month after month, year after year?

Labels:

Wednesday, July 16, 2008

A Nifty Flash Audio Player for MP3s

My client wanted to present an MP3 audio file on her blog, in a way that looked good, sounded good, and was easy for the user to figure out and click on. So far, the Flash audio player script I'm using has worked out really well. You can see and try it here on The Mojo Mom Blog.

We had to work out a few bugs. First, the code provided in the tutorial I followed (linked below) needed to be adjusted; it didn't work in some major browsers (my Flash genius friend Dan Smith re-wrote it for me). Second, we found out that MP3s which are going to be played by Flash need to have a standard bitrate and sampling rate. Last but not least, we had to overcome the Blogger application's ridiculous habit of inserting
tags into the middle of other tags such as the tag that is used here.

Here's the tutorial I just wrote: Flash Audio Player Tutorial.

Here's the Embedded MP3 Audio Player Tutorial that was my starting point, and I really appreciate Mindy McAdams for providing it.


Labels: , , ,

Monday, June 30, 2008

Email doesn't cause stress and distraction, PEOPLE stress and distract THEMSELVES

It seems like the latest thing among computer-using professionals is the idea that email is somehow a major cause of a distracted, over-busy lifestyle.

I mentioned this a few months back when I had just read Connect!: A Guide to a New Way of Working from GigaOM's Web Worker Daily by Anne Truitt Zelenka. When I bought this book, I expected it to be very relevant to my "web worker" lifestyle, but didn't find it to be so. One of her main points seemed to be avoiding using email in favor of other means of communication such as instant messaging, social networking sites, blogs, and wikis.

An article from yesterday's New York Times seemed to be making the exact same point: I Freed Myself from E-mail's Grip by Luis Suarez.

I continue to be somewhat puzzled by this advice, simply because email has never become a problem to me. I have been using the Internet for about 12 years now, and I run two Internet businesses, and have the usual family and friends to communicate with - yet, somehow I've never gotten into the position I hear so many complaints about, in which email has become a terrible burden and taskmaster.

Even when I recently spent five weeks in a small town in Mexico, and even being the owner of a business which operates 100% over the Internet and depends upon email, I was able to keep up with my email correspondence without any stress at all.

So I don't seem to have the problem that apparently is more and more common these days, having email correspondence become something whose "grip" I need to be "freed from". I'm not sure where all of this stress comes from for so many people, but I suspect that it's much more the product of a corporate environment in which much too many pointless emails are sent, than the fault of the medium itself. I don't work for or with that size or type of organization, and maybe that's why I don't suffer with that particular ill.

I can tell you, though, that if I did suffer from an excess of email, the replacements suggested by both the Suarez article and the Zelenka book would not be my solution. Social networking sites - now why would logging into yet another web site to check digital messages - exactly like email - be easier? As for instant messaging, I've used it a lot, and have basically given it up as a poor excuse for a method of contact, because I find that it fosters careless, thoughtless, valueless communication.

I think email is being given a bad name by people who don't know how to manage their email or their time, and are looking to hit a nerve with other people who have the same problems.

Email isn't the problem. Used properly, is a brilliant method of communication. It shouldn't be used thoughtlessly, and it shouldn't take the place of more human methods of communicating (such as the phone) when a situation is touchy or complicated. But used intelligently, it has all of the advantages of other quick ways of talking to one another - it's easy and instantaneous - and all of the advantages of traditional written communication, because it leaves a permanent record. And best of us, it doesn't demand the recipient's attention until he's good and ready to read it - at least, if he is the boss of his email, and not the reverse.

Monday, June 23, 2008

An Update on Zoho CRM Support

I wanted to provide an update on Zoho CRM, and particularly on the customer support they offer. I had written in a post several days ago that I had had some unsatisfactory experiences thus far with Zoho CRM's support, which was true. But it's now looking like those problems were the exception rather than the rule. There may be a few wrinkles in their support system, but as of now, I think our support needs will be well taken care of.

A phone and web-meeting session was arranged for this morning with Gopal, who had described himself as being assigned to support my account. While we talked on the phone, I was able to watch him using the software on his own desktop. Gopal had actually worked on customizing the software to handle the processes that I had asked about, which in fact hadn't been available in the system: a double-opt-in email list signup function. He explained that he had tested out his customization on his own local system, but that within a few days it would be added to the actual Zoho CFM software so that it would be available to me and everybody else with the appropriate type of account.

This was a lot more than I had expected, and I'm really pleased. The fact that the software is under ongoing development, and that the programmers are so closely connected with the requests of users, seems like a major advantage.