Software, your way.
burger menu icon
WillMaster

WillMaster > Products > Custom Software

Skills and Experience List

What follows is a representative list of the skills and experience attained over the 26 years we've been offering programming services for websites. They are listed here in no particular order.

With 26 years of experience developing software for websites, we can be trusted with the most challenging of projects.

If there is something specific you wish to inquire about, please use the contact form and let us know what you are interested in.

Quick Links to Skills Descriptions

Site Automation

Device-responsive Sites

Access Restriction

Form Handling

Interactive Web Pages

Automatic Site Replication

Internet Spidering and Page Retrieval

Text Extraction and Formatting

Online Widgets and Calculators

Membership Sites

E-commerce

Agile Content

Spam-proof Forms

On-the-fly PDF Document Creation

Mailing and List Management

On-the-fly ePub Book Creation

On-server Spreadsheet Operations

Cookie Handling

On-the-fly Image Generation

API Development

Programming Languages

Database Operations

Form to Fax

Stripe Payments

Blog Feed Processing

PDF to HTML Conversion

Text Messaging

Site Automation

Implementing various ways to automate websites is both a skill and a thrill. It's been an intermittent focus for virtually the entire period of years I've been programming software for websites. The motto is, "if it's repetitive and doesn't require creative decisions, let it be automated!"

Automation experiences include (certainly not a comprehensive list)

  • statistics reporting by email;
  • content update by date, by user request, and by cookie value;
  • ad selection by click rates;
  • script testing;
  • server hacking attempt monitoring;
  • database backups;
  • email scanning and processing the contents; and
  • server housekeeping — tasks like compressing large files and deleting old software log files.

Device-responsive Sites

In addition to building responsive sites and updating sites to be responsive, skills include publishing content dependent on screen size and publishing content dependent on the type of device being used for viewing.

Access Restriction

Skills and experience related to access restriction include:

  1. Single page restriction with JavaScript and also with PHP and cookies.

  2. Directory access restriction with .htaccess password and with .htaccess directory cookie.

  3. Membership software with secret page access restriction and with cookie-based access restriction.

  4. Secure log-in processes with user's password one-way encrypted according to best practices of password handling. With this method, the plain text version of the password is stored nowhere on the server and is never emailed (lost passwords are reset rather than recovered).

Form Handling

The very first software title distributed at Willmaster.com was a form handler (Master Recommend, tell-a-friend form software). Forms have been a large focus ever since.

Features incorporated in various forms include

  • spam and spam bot blocking;
  • banned words and banned IP addresses;
  • site navigation history, geolocation information, and cookie contents incorporated into form data; error checking;
  • in-form help on demand;
  • double submission prevention;
  • automatic submission prevention;
  • form pre-fill;
  • retaining abandoned form data;
  • multi-page forms; and
  • same page form submission confirmation.

Features include forms delivered with JavaScript and forms delivered in frames. We have experience with virtually every kind of form.

Interactive Web Pages

Experience with interactive web pages include

  • on-page confirmation of action taken,
  • changing background images on demand,
  • repopulation of tables when data filters change using info obtained from a database, and
  • recalculating numbers and totals when criteria change.

Automatic Site Replication

Site replication is generally for affiliates or sales representatives, but can be for any reason a site needs to be published with custom elements. The custom elements may be the affiliate/sales rep's name, contact information, link URLs, and form field values within the source code.

Site replication can be one page, several pages, or all pages of a website.

We've had experience with two site replication methods:

  1. Creation of files on the server for each page of each replicated website.

  2. Web pages generated on demand with custom information obtained from a database.

With both methods, each custom site has it's own unique URLs.

Internet Spidering and Page Retrieval

Spidering experience includes making lists of URLs the spider obtained from a web page and spidering those URLs to expand the lists. In addition to page retrieval to parse for URLs, the source code of retrieved pages can be updated so relative URLs of images, links, etc. work when the page is stored on a different domain.

Text Extraction and Formatting

Plain text obtained from files, SQL tables, forms, and uploaded documents can be parsed/scanned and data mined.

As examples, extracted data may be URLs from a web page, IP addresses from a log file, telephone numbers from an SQL table, and key words from a question submitted with a form.

Examples of formatting include SQL table to CSV (and vice versa), form input to SQL table, CSV to HTML table, and uploaded text to HTML-formatted email.

Online Widgets and Calculators

We have experience with developing (not a comprehensive list)

  • calculators for engineers,
  • income estimation calculators and widgets,
  • lucky numbers widgets, and
  • daily content widgets.

Membership Sites

Master Members Only was released soon after we began publishing software for sale to the public. Other membership software followed, from simple one-login area software to more complex custom software.

E-commerce

We can hook your products up for payment to your PayPal account, Stripe credit card payments and, if you have a merchant account, credit card gateways like Authorize.net and WorldPay.

Agile Content

After a web page is loaded into a browser window, content pulled into it on demand or in anticipation of demand is called agile content or an agile web page.

An example of content pulled in on demand is a table of products and prices. The user selects a price range from a list and the table's content changes with new data pulled in.

Another on-demand example is a quiz with the results immediately displayed on the page, perhaps replacing the quiz questions with the results.

An example of content pulled in on anticipation of demand is when a user scrolls down then more of the page is loaded. The page tries to keep at least one scroll length ahead of the current position so the user never has to wait for content to load.

Another on-anticipation example is inserting a detailed specifications section into the page when the user spends a certain amount of time at a paragraph with general specifications. The detailed specifications would be available when the user next scrolls down.

To be friendly, a "detailed specifications" link can be appended to the end of the general specifications paragraph as soon as the detailed specifications section is ready.

Spam-proof Forms

Forms don't have to entice spamming robots. Actually, those robots can be completely fooled. And it can be done without the annoying CAPTCHA many site owners use on their forms.

Mailing and List Management

We've created software to interact with both Mailgun and MailChimp mailing services using their APIs.

Our programs to work with MailChimp process the subscription form to trigger other remote software that needs to know a subscription has taken place, then sends the subscription to MailChimp via their API for normal processing. (MailChimp currently won't release email addresses that haven't confirmed their subscription, citing privacy concerns. Using custom software to record the subscription before it's sent to MailChimp would give you access to all addresses.)

Our programs to work with Mailgun all send email to lists maintained at the clients' domains. The outgoing email may be personalized and it may have attachments. The email is composed with a TinyMCE interface to compose HTML email, which may contain images.

We anticipate also making APIs for Constant Contact and for Mandrill.

PDF to HTML Conversion

A PDF can be converted into a web page. The conversion is coded with HTML and can be read in a browser like a regular web page.

Reasons for creating a web page version of a PDF:

  1. Some people have issues with downloading PDF documents and saving them on their hard drive. Then finding them on their hard drive so they can read them.

  2. Some devices' PDF readers won't open the browser when a PDF link is clicked.

  3. Adobe PDF reader's recurring security issues has gone on so long that some people have uninstalled it.

The main overall reason for providing a web page version of a PDF is for site visitor convenience.

The software uses an online service to do the initial conversion. The HTML web page is stored on your server just like other web pages.

Text Messaging

With the right software, all it takes to send a text message is a mobile phone number. Oh, and the message to send.

Examples of use:

  1. Restricted to your company's use for sending a one-time text messages to a new customer or signup.

  2. Run a notification service:

    • Notify a customer list when a new version is ready.
    • In-company use to deliver time of a meeting.
    • Notify guys their wedding anniversary is coming up (and other types of notifications people sign up for).
  3. Run a periodical subscription text messaging service, like an emailing service except it's text messaging instead of emailing.

The software uses an online service to look up the SMS address from the mobile phone number. When the SMS address is found, the text message is sent.

On-the-fly PDF Document Creation

The on-the-fly PDF document generator can get content from URLs, files on the server, MySQL database tables, content submitted by web page form, or a combination of those sources.

Each installation of the PDF generator functionality is customized for the source of the content it will use to generate the documents with.

When generated on the fly, PDFs optionally can be customized with name, affiliate links, and other information. The newly-generated document can be given away or can fulfill a purchase.

When obtained from URLs or other sources with HTML markup, the software recognizes a limited set of HTML tags and CSS rules. Text and image content is incorporated into the PDF. But the web page style might not be.

Although PDF documents are limited in the types of content they can include (text and images), they are one of the most popular methods of content distribution for individual use.

If you have affiliates, sales people, or a downline, consider this: It's now possible for them to distribute PDFs customized with their affiliate links and contact information — without your manual intervention. They fill in a form with their custom information, click the button, and download their personally customized PDF.

Are you offering a free PDF as an incentive to subscribe to your newsletter? Free PDF downloads for the general public with the person's name custom published on the cover are likely to be considered more valuable and are much more likely to be read.

Talk to me about your ideas. Let's make it happen for you.

On-the-fly ePub Book Creation

As a birthday present to myself, I scheduled the entire day to learn something I've been wanting to learn for a long time, but never found the time to do so. That was to learn how to programmatically create ePub books.

When the day was done, I had a PHP class ready for use by custom software. The class can create the ePub book from a list of Web page files, including images, videos, and other web page elements. (Whether or not all web page elements work depends on the capabilities of the ePub reader software.) If told to do so, the class will include a table of contents, the entries linked to relevant pages.

When generated on the fly, ePub books can be customized with name, affiliate links, and other information. The newly-generated book can be given away or can fulfill a purchase.

Talk to me about what you have in mind. Let's make it for you.

On-the-fly Image Generation

Starting with a base image, a new image can be generated with custom/personal text embedded on it.

As examples, the functionality can be used to print certificates, personalize images, generate greeting cards to view online or send by email, watermark images on-the-fly to publish on web pages, or imprint quotations on images for sharing on social media sites.

On-server Spreadsheet Operations

Instead of writing my own spreadsheet software, I prefer to install a reliable third-party PHP class. My code then interacts with the class to accomplish spreadsheet operations.

Cookie Handling

Cookie handling skills relate to setting and reading cookies with PHP, Perl CGI, and JavaScript — including cross-domain cookie handling.

Database Operations

To allow software to remember something from launch to launch, or to share data with other software that isn't running concurrently. The information is stored and retrieved using files. That's database operations. Database skills and experience include working with text files, relational database files, and database engines from dBase II to MySQL.

API Development

Yes, we can make an API for you.

An API can be employed for security, for allowing many programs from many devices to interact with cloud or other centrally-located software, and for a variety of other reasons. An API is an Application Programming Interface, a software intermediary for programs to interact with each other.

The What an API Is article describes many uses for an API, along with some of our experience developing such software.

Form to Fax

Form to fax functionality can now be provided for your website. Someone submits a form and it's sent to you as a fax.

It can be used for applications, orders, anything important that you want to receive at your fax number in addition to (or instead of) your email address. Custom made for your site.

Get more business. If your website has a PDF that people must fill out and print and then drive to their local Kinkos, FedEx, or UPS store to fax it, there's likely to be a lot of abandonment. Who wants to go to all that trouble?

Let them fill out a form on your website, instead, and have the info automatically faxed to you. When it's easy for your site visitor, you are more likely to get the response you want.

An example of use is takeout orders submitted at the website and automatically faxed to the order station or directly to the kitchen.

Doctor, dentist, and other professional websites can use the service to automatically fax filled-out forms they must have before the first consultation. If the form needs to be signed, it can be presented to the person when they arrive for the appointment.

Job and apartment applications can be handled similarly.

Yes, it's now possible to set up form to fax functionality for your website. In addition to faxing, the form information can optionally be emailed to you and/or stored in a database for later retrieval.

Stripe Payments

Stripe and other credit card processing gateways can be hooked up to your shopping cart and independent payment forms. (We use Stripe for our credit card processing.)

Blog Feed Processing

RSS and Atom blog feeds can be used for many things. As examples, several feeds can be merged into one, or the title and content of feeds can be published on a web page.

Blog feed processing is the foundation of our Blogs Just In website. The spider gets handed a list of URLs. It retrieves the feeds and stores certain data into a MySQL database. When you load a web page, the relevant data is retrieved from the database and published on the web page.

PHP, JavaScript, Perl CGI, MySQL, CSS, HTML, Ajax, JSON, JSONP, XML

Those are some of the programming languages and technologies we're comfortable working with.

We specialize in software for website domains hosted on Unix/Linux servers.

How Can We Help You? balloons
How Can We Help You?
bullet Custom Programming
bullet Ready-Made Software
bullet Technical Support
bullet Possibilities Newsletter
bullet Website "How-To" Info
bullet Useful Information List

Customize Your
WillMaster Software

We are also available to customize any of our current line of software titles to your specifications. Please inquire here.

Feedback From
Custom Programming Clients

Will Bontrager is the Go-To Person when it comes to writing software that works! Will listened to what I wanted for the Chamber of Commerce - on the Web membership site and wrote a program that does everything I wanted — precisely as I wanted. And, the best news is — that site has worked like a charm — with absolutely not one glitch — since the day it was launched. Now, add to all that how easy Will is to work with, and you not only have a winner — you have worked with THE Master!

jl scott, ph.d., Director
Chamber of Commerce - on the Web™

John DeGrazia: "I am highly pleased, and you can tell the world that."

Country and pop singer Billy Joe Conor said some really nice things. "Will, as you already know, the entire process is working beautifully from beginning to end." Twice. "It's the only part of his website with which we didn't have to struggle, thanks to your expertise and generosity."

Bill Carr of Traffic Hoopla says "If you don't know already, I'm a big fan of your work."

Michael Bates of Duratherm Extended Life Fluids sent us a PDF with his testimonial. (direct PDF download)

I highly recommend Will Bontrager for custom programming! In addition to a number of off-the-shelf programs I have purchased from him, he has also written several complex custom scripts, and modified several others for me over the past 8 years. His work is always done promptly and meets my specifications exactly. He is a pleasure to work with, being both friendly and professional. I always think of Will first when I have something special I want for my websites!

Terri Zwierzynski
SoloWiz Services - Making Your WordPress Website Beautiful and Worry‑Free

© 1998-2001 William and Mari Bontrager
© 2001-2011 Bontrager Connection, LLC
© 2011-2024 Will Bontrager Software LLC