Merry Christmas and a happy New Year – 2017

Another year gone by and it is nearly time for Christmas.

Over the last 12 months …

Client work
I have taken on and worked with 3 new clients this year. As you may or may not know I am a one man contractor and my contracts generally last months at a time so 3 new clients has proved sufficient.

I have worked on an internal system for managing my business which is 90% complete. For all intents and purposes the Toolkit is completed. The remaining 10% will involve adding any remaining features I can think up or that may be needed.

Neptune – Lead Tracker
I have developed the initial Neptune Lead Tracker and put it online. Neptune has not seen much growth as of yet, I will leave Neptune for 1 more year then take it down if no one is using Neptune. –

Czech Character Code Converter
I developed a web based software script to help me with work on a particular client this year. Afterwards I gave the web based software script a basic front-end and uploaded it online so it can be used by other people. –

King of Adem
Started writing code for a multiplayer strategy game. This project is on the back-burner at the moment and will remain there until some interest is shown from a game developer who would like to take the project further with me.

Overall a very good year.

As I wind down for Christmas I will not be writing anymore blog posts until January 29th 2018 so please check back then to continue reading my blog.

I wish you all a merry Christmas and a happy New Year, until next year, bye for now.

What is happening? – general update

I thought I would dedicate this post to informing you of what I am doing right now …

I am currently in a contract with a client at the moment with a rolling end date which means the contract extends indefinitly until I am not needed anymore by the client.

The company I am working with is an agency that creates web based software for their clients. I am currently designated to working on 1 of their projects with another developer who is also a contractor.

I remember when I first started there was a lot of “scare” factor about freelance dry periods and how work can be hard to come by. Looking back over the number of years I have been freelancing I can safely say this has never been a problem.

Yes there has been short dry periods between contracts but another contract always comes along in the end. I treat the short dry periods as my holiday time like regular employees would book their holidays off I have my short dry periods.

It must be mentioned though that in the dry periods I also dedicate a couple of hours each day to looking for new work. Generally what happens is after a number of days a pool is formed of potential leads which gets filtered down into potential actual contracts I could take on.

Like I say, getting work has never been much of a problem. Getting high paying / decent work is a little harder but still not much of a problem.

Infact I was thinking the other week that if I had someone looking for work on a full time basis rather than just me doing it a few hours a week in my dry periods. There would actually be enough work generated not only for me but enough work to grow my business.

The reason I have not done this yet is because I would want the person who is finding the work i.e. my potential business partner to be well known by me and most of my well known collegues already have jobs and they would not be willing to take this chance with me.

Secondly although I am a one man business I am actually quite alright just as I am. I can get the work for myself and provide myself with a reasonable income.

To all the new freelancers out there I would say do not be afraid of finding new work but note that the work might not always be with direct clients.

Sometimes to get work you may need to go to other agencies that act as middle men and sometimes you might need to consider taking up “real” contract jobs i.e. short jobs that are advertised on job boards by job agencies related to your area of expertise that pay a high day rate.

Contract jobs can be treated like projects. If a business is willing to pay you a high day rate for a period of time. Take the day rate and times it by the number of days you are contracted for, that is the value of the project.

Neptune – Lead Tracker
So whats the deal with Neptune? A number of months ago I posted some posts about the Neptune project and the progress I was making on it. Then I released a post telling everyone Neptune was released.

Neptune can be found at …

Neptune was originally released as a paid product due to lack of sign ups and a need for a user base to use the product and provide feedback I decided to get rid of the paid plans and just have a free plan. Anyone can now sign up and use Neptune for free.

In short, Neptune is currently in a holding area at the moment. It is functioning product that allows you and your team (it is multiuser) to keep track of any leads you might have. My intent is to have people sign up to the free plan and use the product.

This initial user base can provide feedback on the product and have some say as to the direction Neptune will take in terms of its next features / functionality.

I could keep adding features and improving Neptune myself to turn it into a fully featured product however my thoughts are if people do not use the basic version why would they use the none basic version.

Potentially I know it is possible people would use the fully featured but not use the basic product however it is a big time investment to build the fully featured and then not have people use it.

So I have decided to stick with the basic product for now and see if people use it. If people start using it then I can dedicate more time to it as needed.

Czech Character Code Converter
I created the Czech Character Code Converter because a client of mine had a Czech language version of its flagship product. I was given blocks of text in Czech that needed to implemented within the system.

The blocks of text needed to have the Czech characters converted to their respective characters codes to be implemented into the system so rather than convert each character manually by hand I built a small script to do it. I then gave the script a user interface and uploaded the script online.

Czech Character Code Converter can be found at …

The script saved me a lot of time. Although the script is small and simple I have no intention of expanding the script any further and it is considered a completed project. If anyone has any ideas on how to improve it I may consider implementing the ideas but other than that no improvements will come of it solely from my perspective.

King of Adem
King of Adem the latest project to hit the project list and born out of my wanting to learn IOS development. This is a huge project and I only have part time hours to dedicate to all my side projects. King of Adem along with learning IOS could take up to a year to build and in truth the King of Adem project was probably too large a project to attempt to learn IOS development.

I want to build King of Adem and I want to learn IOS development. Both of these can be done seperately or they can be done as one project. I could learn IOS development and do a simpler project whilst still building King of Adem in the background. Alternatively I could incorporate my IOS development learning into the King of Adem project because part of the King of Adem project requires an IOS application.

Most likely to happen is the following …

I will learn IOS development as my primary goal and develop King of Adem as my secondary goal. I will learn IOS development by following the video tutorial course I have downloaded and taking on a simpler IOS project to enhance my development. The King of Adem will take a secondary position to the IOS development learning until the IOS development learning is complete then King of Adem will take the primary position.

Essentially both projects will still be happening at the same time but the IOS development will have more time dedicated to it at the start until complete then the King of Adem will get the most time dedicated to it until complete. As a rule it I will split it 75% / 25% in other words 75% will be spent on the IOS development learning project and 25% on the King of Adem project. After the IOS learning project is complete King of Adem can have 100%.

That sums up what is happening in my business right now. I hope this article ties up any loose ends anyone might have about the projects I am working on. It has certainly helped me clarify where I am with each project and what I intend to do with each project.

Neptune – web based lead management / tracking tool – going free

Neptune is going free. I spent sometime not long ago implementing the subscription billing system into Neptune. Now I have spent some time to enable Neptune to have a plan that can be signed up to free of charge …

You can sign up and use Neptune for free now.

Trying to run Neptune like a business and only have paid plans took the fun out of the Neptune project. With the business aspects of Neptune out of the way Neptune can now be treated like the side project that it really is.

Neptune – web based lead management / tracking tool – launch

Neptune has been launched and can be found online at the following website address …

Neptune has had a “soft” launch in that no huge marketing efforts have been done yet and there are still plenty of features to add to Neptune over the course of time. Marketing and feature development will be on-going.

Any updates to Neptune going forward will be posted at this blog as usual.

Neptune – web based lead management / tracking tool – email address conflict

Last week I spoke about the upgrade to Neptune in that Neptune now accommodates multiple users per account. Originally a Neptune user-account was the whole account. With the advent of the modifications last week a user-account now has a one to many relationship with an account thus allowing for multiple user-accounts under a single account.

Visit Neptune here …

I thought this was suitable for purpose until I started thinking into some of the scenarios that could crop up when Neptune finally goes live. If Neptune was left with this solution then the user-account could not be shared across different accounts. Lets say a person from Account A wants to add Jon Doe to his account and a person from Account B also wants to add Jon Doe to his account. This scenario would not be possible without Jon Doe having 2 different accounts with different emails addresses meaning Jon Doe would have to create another email address to have an account with Account B …

Account A
User-account A – Jon Doe

Account B
User-account B – Jon Doe

User-account A and user-account B both would have different email addresses. User-account A and user-account B are represented as 2 distinct user-accounts.

The above system could be improved upon so I set upon improving it. I came up with 2 solutions …

Solution 1

Keep the one to many data structure between the account and users and have it so “email addresses” do not have to be unique in the users table. The email addresses would then only have to be unique per account they are related to. I could then give each account a special login URL which is unique to the account in which the user-accounts can login with. This would result as follows …

Account A
User-account A – Jon Doe

Account B
User-account B – Jon Doe

Although it looks the same as before, user-account A can have the same email address as user-account B, in the old model this was not so and user-account A had to have a different email address to user-account B. User-account A and user-account B are still represented as distinct user-accounts though. The system would know which account the user was attempting to access via the special login URL given to each account and the system would only have to check the uniqueness of the email addresses for each given account.

Solution 2

Get rid of the one to many data structure and replace with a many to many data structure. This solution is the most taxing in terms of implementation as the code would have to be altered in the system to accommodate the many to many relationship which also means swapping a few other database columns round and getting rid of some as they would be no longer needed.

Luckily due to the way the system was abstracted in the code, it turned out that most of the changes could be accomplished by altering a few class methods. Essentially just changing the way those methods returned the data they where fetching from the database.

Using this solution the result now looks like the following …

Account A
User-account A – Jon Doe

Account B
User-account A – Jon Doe

In this solution both accounts share the same user-account. The user-account obviously uses the same email address as it is the same user-account across both accounts. If a fictitious Account C wants to add Jon Doe to their account the system would first check if the email address for Jon Doe exists, if it does then the system will link the Jon Doe user-account to Account C, if not, then the system will create a new user-account for Jon Doe and then link the newly created user-account to Account C.

When a user logs into the system using this solution and the user belongs to more than 1 account the system will present a list of accounts that the user-account belongs to in a selection list. The user can then choose which account to fully log into. If the user-account is only in 1 account then the user is taken straight to the account.

In the end Solution 2 was chosen in favor over Solution 1.

Neptune – web based lead management / tracking tool – multiple users

Neptune – Lead Tracker has been updated. The latest change to Neptune is the multi user capability. Originally Neptune had just 1 account per user. All users would login to the same account using the same username and password. There was no way to differentiate between users within an account.

The fundamental structure of the user accounts on Neptune within Neptune has changed. Now users create an account and an account can have multiple users within it. Each account has a Administration user which controls the creation, updating and deletion of users within the account.

Visit Neptune here …

Users are managed within the Administration screen only accessible to the Administration user …

Neptune user accounts page

This change to Neptune is part of a series of changes leading to a paid version of Neptune. It was decided to make Neptune a paid for product using a monthly subscription model.

This release is expected to go live with the new subscription payment integration within the next couple of weeks.

Neptune – web based lead management / tracking tool – lead statistics update

Neptune – Lead Tracker has been updated. After using Neptune to keep track of my own leads I decided that Neptune needs a way to show how many leads are in each of the lead categories.

Using Neptune you can store, process, search your leads and opportunities.

Visit Neptune here …

Originally I was going to leave this feature until I had extensive time to do a nice reporting system for the leads with charts etc. I do not have time to create the reporting system yet so I decided to just put the statistics in the drop-down filter for the lead categories for now.

When selecting the drop-down to the right of the leads data-grid table you will now see the drop-down includes the number of leads in each category …

This is a nice little place to put those statistics for the time being.

Neptune – web based lead management / tracking tool is released

Neptune – Lead Tracker has now officially been released. Using Neptune you can store, process, search your leads and opportunities.

Visit Neptune here …

Just enter your details on the homepage sign up form and you will be signed straight into Neptune, a password will be emailed to you so you can access Neptune using your email and password in future sessions.

Update: The sign up process may have changed since the time of this article.

Neptune – Web based lead management / tracking tool

So I am bored and I have spare time. How am I going to spend this spare time? I am going to re-introduce Neptune as an online Lead Tracking tool. As a freelancer I have had to store leads in TODO lists, Notes, Databases and free online CRM tools. None of these options where ideal. The CRM came close but it provides a ton of other features that I did not need and the other tools were too simple.

Neptune will be introduced as a lead tracking tool that can accessed through the web browser. It will be hosted by myself and will not be made available for download like the Neptune – Task Manager system was.

I aim to create a central area for the storage of leads. Leads will be added using a form. I aim to keep this project simple and straight to the point of storing leads. As the project has been stripped down, this will give me the opportunity to provide the tender loving care which a larger project like the Neptune Task Manager lacked. The ability to collect leads from external web forms is yet to be decided and may be included after the initial release.

The project will be released to the public through its own website. Neptune – Lead Tracker will be accessed through a single user account as I did not feel the need to allow people to create multiple user accounts under one company. The user login will be kept simple in that each company will have a single user account with which to access the software.

Look out for Neptune – Lead Tracker, expected release date is January 2017.

Update: Neptune – Lead Tracker has now been released, visit Neptune here …