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
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:
-
Single page restriction with JavaScript and also with PHP and cookies.
-
Directory access restriction with .htaccess password and with .htaccess directory cookie.
-
Membership software with secret page access restriction and with cookie-based access restriction.
-
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/
Site replication can be one page, several pages, or all pages of a website.
We've had experience with two site replication methods:
-
Creation of files on the server for each page of each replicated website.
-
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/
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:
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.
Some devices' PDF readers won't open the browser when a PDF link is clicked.
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:
Restricted to your company's use for sending a one-time text messages to a new customer or signup.
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).
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/
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.