Accepting Proposals for MySquibbles.com

Three years ago Botsko.net launched MySquibbles.com after several months of design and programming work.

Squibbles is a web-based community where adults share their favorite links for their children. Parents, care providers, teachers, and others share website links that their children enjoy and can easily find new links that have been moderated by website administrators and voted on by other users. Users also organize favorite links into lists for up to five children, submit content, vote, view links recommended for them, and more.

The community grew well in the first few months and the site performed very well for the use it was getting. In the following months Squibbles lost the focus it had and was not able to receive any of the proper marketing it deserved. This lack of marketing prevented the community from growing despite a significant interest from early testers, parents, schools, etc.

Botsko.net, LLC is seeking new offers on this web property, which we believe still has great potential. Accepted offers range from equity partnerships to acquisition. We’re looking for someone with access and experience in marketing this type of resource to the proper target audience.

We’re willing to remain involved for technical work if the eventual agreement allows.

Please contact Michael Botsko with any communications regarding MySquibbles.com.

2009 Policy Changes

Every year I make an analysis of projects and business from the previous year and make adjustments to my policy and procedures based on my findings. The latest changes for the next year are detailed below.

These policy changes will not impact existing projects at all. Existing clients should expect a bit more preparation prior to new projects, but with a better quality return in the end. Please contact me with any comments, suggestions, or questions.

These changes will be included in a revised copy of the client contract, which I will provide to all existing clients within the next few weeks.

Discounts

In the past I’ve offered several different types of discounts, and almost none of them applied during 2008. What I’ve also realized is that projects that have been heavily discounted tend to become a burden rather than an enjoyable project and the client and the project suffer the effects.

Policy Change #1: As of January 1, 2009 all previous discounts will no longer be available. Only a single discount will remain and it will be applied by request only. Clients will receive a $20 per hour discount for work that is beyond forty hours of work in a calendar month.

IM/Phone Time

Another issue that has arisen is clients conversing with me over IM. If I’m currently working on their project already then it’s not an issue, but if it’s for technical support or general discussion of non-urgent nature then it distracts me from my current task, and concentration is extremely important when programming.

Policy Change #2: As of February 1, 2009, all non-urgent IM and phone conversations that are longer than ten minutes will be billed at the minimum billing interval of fifteen minutes, meeting rate. This covers the “transition” time that occurs when I need to stop my current task and participate in the conversation. Urgent conversations are only those regarding serious technical problem that will prevent a client from using a live website or web application, or a time-sensitive question usually for estimating purposes.

Unless IM or phone is necessary, I encourage everyone to use email.

Automated Testing

Quality of work has always been a priority and in an effort to improve the quality of application code I produce even further, I will be implementing stronger release automation guidelines for larger projects.

Automated testing allows developers to build a suite of tests that may be run together to ensure that every function of the actual program is returning exactly what it should be in each situation. As the test collection grows the usefulness increases exponentially, and if done properly, will help prevent 90% if programming-related issues from reaching the client, and 100% of regressions.

Policy Change #3: For all new applications or components I will begin writing automated code test cases from the beginning of the project. This will require a bit of additional time and this time will be included on estimates, but will help reduce the time required finding and fixing issues manually.

For larger projects that I am the lead on, I will also enforce an automated deployment system so that we can deploy projects faster and reduce issues caused by human error.

Specifications Document

I began this business by requiring a description of the project in detail to avoid feature creep, and as my typical client type changed from one-time small business to recurring work from firms, I began relaxing this restriction. Over the past year I have seen that this document is essential for all large projects. I can’t calculate any exact number, but I’ve likely lost weeks worth of time due to gray areas in feature definitions. When I have to decline to add a feature that the client was expecting but I was not, it impacts the relationship, and the client perception of the project.

Although it’s more work for the client to provide this document, it save time, money, and relationships.

Policy Change #4: For all medium to large projects I will require an official specifications document from the client. This document will describe the expected functionality of each page and element within the project. It may use wireframes, text, or both. These documents will serve as guides for the project, and any feature that wasn’t described will be considered out of scope.

Contracts

A similar situation has been client contracts. I need to ensure that all clients have signed and returned their contract prior to work beginning.

Policy Change #5: All clients who do not have a signed contract on file already must sign and return a contract. All new clients will be required to sign the contract. Existing clients must sign and return the revised 2009 contract.

Subcontractors

I’ve had two subcontractors in the past few years and unfortunately the projects they were involved with became nightmares. I’ve learned that my main reason for my success is in the quality of work and my level of experience and knowledge with web technologies. When someone else comes in there’s a serious clash of styles, and an obvious lack of understanding of best practices.

Policy Change #6: No PHP subcontractors. I’ve lost one very good client because of one relationship and almost lost another. I’ve sacrificed thousands of dollars to repair projects and relationships.

Down-payments

For all new clients, I’ve always required a down-payment of one-third the estimated project amount. This practice helps ensure the new client is serious about the project and helps reduce issues with non-paying clients. However, I’ve learned that receiving a significant payment prior to doing work becomes demotivating during the project. It’s essentially a situation where there’s no reward after doing the work. However, something is still required to help prevent payment issues for new clients.

Policy Change #7: For all new projects below $20,000 for first-time clients, the down-payment required will be no more than $1000. Pricing guidelines as to what requires a down-payment have changed slightly, but they’ve all been reduced.

Post-Project Technical Support

Technical support has always been an issue because it’s something that clients should have access to, but it takes time to supply. I’m sure that my policy will change over time, and it may even vary between clients.

Policy Change #8: For projects that are likely to require technical support, time will be included in the original estimate unless you request otherwise. In this scenario, it will be billed at the current meeting rates. If you request that it not be estimated, then it will be billed an a standard hourly basis at the current PHP Development rate. Exceptions are if the question is a quick question that doesn’t require research on my part.

Aspen Framework Upgrades

All projects that have been built on the Aspen Framework have typically received free upgrades as the framework improved during last year. Now that the framework has reached a level of stability (it’s currently in release candidate stages), no projects will no longer receive free upgrades unless the project will continue development indefinitely.

Notes…

For those with web hosting accounts with me, I am going to spend time this Spring to convert everyone over to a recurring credit card system. I’m spending so much time invoicing and chasing down late payments that it would be beneficial for everyone.

My goal for 2009 is to try to reduce the number of distractions I deal with every day. I’ll officially be ending support for any personal projects except those under the Trellis Development umbrella.

Thanks all for a great 2008 – let’s make 2009 even better!

PHP4 Support

Today marks the very last release of PHP4 declaring the old version officially dead. No matter what, PHP developers will now continue on PHP5 and 6, and many clients had some questions about how this affects projects.

  • Botsko.net will continue to support applications developed for php4.
  • Many previous projects will work properly if transferred to a PHP5 server.
  • All new applications/websites will be developed in PHP5 only.
  • We’re always available for reviewing code and planning upgrades.

Please contact us if you have any questions or concerns.

Pullman, Washington

Jay and I flew out to Spokane, Washington and then took an hour drive south to Pullman for a quick day trip to visit Pullman Regional Hospital for an upcoming project. We left on a small jet and arrived on a small propeller craft. We got out of town just as a snow storm came rolling through.

The holiday season was much busier than I was expecting and it looks like the new year is off to a busy start. I’ve posted a few pictures of the trip below.

img_0259.JPG

img_0267.JPG

img_0271.JPG

Email Problems…

Just wanted to let everyone know that I’m pretty much missing every single email from last night to tonight (Friday), gmail must be backed up or something. Usually when things come late, they arrive with a day so if nothing has come through by tomorrow then I will provide another address. I apologize if you’ve been waiting for a reply all day.

I will leave AIM open all night/day for those who need to send a message. AIM user: botskonet

Six Months of Freelance

I’ve been doing various forms of web design and development for ten years, although it was mostly just a hobby or a business on the side. In 2005 I began working hard to set myself up for an eventual transition into doing this full-time. Ironically, I began doing this full-time when I was least expecting to, despite all of my work. It’s been six months since I made the transition, so I figured it would be a good time to share some of the things I’ve learned.

1. Always Follow Up

I always try to keep in constant communication with clients – it helps me keep the project fresh in my mind as well as theirs. Sometimes I follow up and they’re reminded that they still need to do something – like pay. It works well with clients, but even better with leads. When I follow up with leads it has that “reminder” aspect, but it also shows that I provide everyone the same level of consideration and communication.

2. Know Yourself

When I began working at home I would become focused on watching TV, stepping outside, eating, cleaning, going through old magazines, playing games, etc. I’m a person who really needs to separate work and home life, so I moved myself into an office. There is absolutely nothing to do in the office except work. I keep an ever-changing list of tasks for each project on a giant white board, and I really don’t have any standard way to track projects as they’re all so different.

This situation works well for me because I’ve learned that’s what my brain handles best. You may be more efficient and more productive working at home without anything written down. The key is to learn what works best for you and to adapt your life to accommodate those needs. Once you’ve found the best method to make yourself productive, you’ll really start seeing the work get done.

3. Play

You need to force yourself to stop working. Around 11:30 or noon I wrap up whatever I was working on and shut everything down and I play a game or surf the internet. It gets my mind off of work, gives me some time to have fun, and it really helps break up the day. Having something in the middle of the day to look forward to also helps me get to work in the morning.

If I convince myself that I can play for a half hour if I do several hours of work, I’m pretty eager to get started knowing I have a “reward” coming. Even to this day I feel guilty taking time to play because I know how much work there is. Now that it’s my business I’m much more concerned about how much money is coming in, and time is money. You just have to learn that a bit of a break is required.

4. Don’t Assume

I’ve always loved the saying ‘when you assume you make an ass out of ‘u’ and ‘me’”. Never assume that you know what your client wants, because you’ll waste time doing the wrong thing. Never assume that a quick and extremely easy change works fine and doesn’t require testing, because something that’s connected will fail and cause problems. Never assume that you don’t need a file, a document, or an email, because right after you delete it you’ll realize why you need it. This last point is the basis for the final tip…

5. Keep Everything

Keep every email, every attachment, and every document. Keep any password you ever have (securely of course), keep all of the materials sent to you for a project. Keep all of your files, and if possible, keep as many revisions as possible. Keeping this much information is a waste of time if you’re not backing it up.

For example, my data is backed up once a day to two machines – one machine at work and one at home. No matter what I need I have access to it, whether it’s a logo graphic someone sent me six years ago or an ftp username/password for a current client. Keeping everything just saves you a lot of time and energy if anything is lost, in question, or needs fixing.

Plus, it’s embarrassing to go back to a client asking for something a second time.

Anyway, it’s been a great six months! Here’s to another six!

The Someday List

Every project spawns new ideas, whether additions or changes, that just aren’t possible with the current (workload, budget, time-frame, all of the above). When a project creates a nice and clean foundation, the possibilities often become infinite. Sometimes they’re just small changes, but most often they’re large changes that seem much more exciting than the current project ever did.

Changes that are large are almost always out of scope, and often become their own project. I always spend some time talking with clients about the ideas that they’ve had, as well as some possibilities that they’re not aware of yet. We begin keeping a list of each idea and as time goes by we re-evaluate the potential benefit and cost values for each idea. Months later when they’ve had time to think about which ideas are worth the investment we proceed with a project that we’re both excited for.

It’s very important to keep a ‘someday’ list no matter who you are – I keep a someday list for my own projects. Some of the ideas are just for fun and wouldn’t be of much use, and some might really increase the usability of an application. As time passes I get an idea of which items on the list I would like the most, and when the time comes, they’re the items I tackle first.

I’ve always focused on creating an application using a very clean and clear framework of code. Other developers, designers, and hopefully even the weekend web warrior should be able to go in and figure out what’s going on. By utilizing a myriad of classes and functions that work well together I allow for an excellent amount of scalability and expandability. This saves time not only in the beginning of a project, but makes future additions easier and cheaper for the client.

It’s also a list that let’s you have fun with projects. If you’re intentionally trying to add items to the list you often think outside the box, which is what it takes to be successful on the web today.

It’s just a place for the “wouldn’t it be cool if…”.

VT Changes Finally Released

The work that I did for VersionTracker.com is finally seeing the light of day.

The new developer connect system is available, and looks so much better than the last one (no frames!). I spent a majority of the summer and fall working on this – the various forms went through a hefty amount of revisions but after several months it all paid off.

Here is a small image of the default page after logging in to dev connect:

vt-dc.jpg

The new category navigation system is finally visible. The original specification did not have the fade-out that you see now, but that was one of my recommendations as the menu was vanishing too quickly.

vt_nav.jpg

The sub-category navigation took some work getting things to work properly across the various browsers, but it looks great!

vt_nav_sub.jpg

The new Updates by Category page looks good too. The grid system was fairly simple, although I had some tweaks to do in IE6/7.

The menu was the most difficult part, and unfortunately I didn’t have any time to clean up my javascript (don’t look at the source!). Getting the sub menu to display and have a hover color in both IE6 and Safari was a pain. I wasted several days and several emails to the css-discuss list trying to figure out what was happening. I finally found a work-around, but the javascript is still ugly.

vt_menu.jpg

VT uses the prototype framework on some pages, so I was trying to see if they wanted to use it on the home page, however I left in the middle of those decisions. VT already suffers from an immensely high page size, so I doubt they want another library attached.

Although it’s been out for a while, the VT subscription system is the only xhtml/css work that’s entirely from me.

New Logo

I’ve known since 2005 that I needed a better logo. Until now, it was essentially ‘botsko.net’ in blue lettering using the same font found on this website. After I finally received my LLC papers this past weekend, I decided it was time for a new logo. I needed something that would easily connect any business cards, documents, envelopes, labels, etc.

I originally was going to pay someone else to design it so that I could focus that time on current projects. However, while searching for alternatives this weekend I found an excellent online logo creator. What would have cost $150-300 for someone else to design, cost $9 and a bit of time playing around with ideas. Spending $9 for your logo and loosing a few hours on your weekend sure beats spending $300.
Click here to view a nice large version.

Over the next few weeks I’ll begin updating the various documents I use to display this nice new logo. I’ll also work on a seriously-needed update to my business card.

Botsko.net, LLC

In 1998 I began working under the name Jazit Web Design which lasted until mid-2003. In 2002 I started working with more advanced languages and concepts and felt that I needed to escape from something that resembled a pre-bubble business to a post-bubble one. I continued using my name instead (Michael Botsko Web Designs) even though I had little direction and it was still a hobby business.

In 2005 I spent several months figuring out a new direction for my business, with the goal of being self-employed by 2007. I worked with a marketing company to define a general direction for the next year. As recommended by their final report, I worked on a new identity for the business, re-did the website (and blog), and I started to act as business rather than an individual. I decided to use Botsko.net as the official company name.

To start out 2007, I’ve finally turned Botsko.net into an official business. There are all kinds of advantages I’m looking forward to, and it’s going to feel better knowing that it’s official. Filing services and excellent work by The Company Corporation.
Botsko.net, LLC. Official on 1/10/2007.