Daniel Boterhoven danielboterhoven.tech 0403 341 774 hello@danielboterhoven.tech

Web & Mobile App Development with Viewport Tech

As the online world continues to grow at an ever increasing rate, so does the demand for web, mobile and desktop app development. Due to this increase in demand, I have begun to transition from operating in a individual freelance capacity to operating as a small specialized web, mobile & desktop app developer consultancy, under the name Viewport Tech.

Viewport Tech has been established to cater for the increase in demand and has been created on top of a far more scalable business model. I will still oversee all projects from start to finish but will utilize the expertise of my network of other freelance web specialists, who I have worked with over the years. My role will be focusing on the application architecture, project coordination and ensuring the high coding standard which I’ve always adhered to are met with every project that we deliver as a consultancy.

Typical projects that we take on will be in line with the projects that I have delivered as an independent freelancer. These include Minimal Viable Products (MVP) for budding startups, as well as bespoke B2B and B2C applications for small to medium business. Since commencing trading recently we have already begun to receive numerous proposal requests for interactive web and mobile applications. Including projects which utilize modern technology such as custom d3 chart components and use of mobile geo-fencing.

Web application development is continuing to be the primary demand from our customer base. Mobile apps are also on the rise, however with the increasing enhancement to web browsers, it is becoming increasingly more appropriate to opt for responsive web applications instead on dedicated mobile apps which must be published through the App Store or Google Play. Another area which we expect to see thrive at Viewport Tech is desktop app development. These programs which are installed on client operating systems are able to leverage more processing power, and provide a better user experience for customers. We see these three services as the ideal offering for our new consultancy, you can read more about them on our services page. As always we will be looking to establish ongoing relationships with our customers, and so will of couse be available for support contracts.

So if you have a project which you’re looking to get off the ground, or have an existing product or service that you’re wishing to take to the next level, we’d love to hear from you. Please get in touch by contacting us directly via email or through our new website.

Why Diversify with Passive Online Income

Did you know that there are many ways that you can increase your income? In this article, we will look at the difference between active and passive income streams as well as the reason you should diversify your income sooner rather than later.

Active income streams

An active income stream is a regular form of compensation an individual receives from a range of sources. For example, salaries, wages and commissions are all forms of active income streams. Note, for something to be an active income stream, you would have had to have done something to receive the compensation, in other words, a trade of time for payment.

Passive income streams

A passive income stream is gained from something an individual does not participate in and requires very little effort to sustain. The easiest way to explain this is to use the example of a landlord. If someone rents out property, they will receive a monthly rental amount from their tenant. This is a passive income stream. It’s worth noting here that there will often be an amount of effort applied earlier on to develop this type of income stream. Other examples of passive income include interest from banking accounts, any form of royalties, earnings from internet advertising, and pensions.

Passive Income Online

In the age of the world wide web, it’s now easier than it has ever been to setup a passive income generating business. Being purely online means there are far fewer overheads. It’s relatively easy to setup a website online which can act as the front for your business. There will of course be initial groundwork involved, but once set up, the time needed to keep the business running can be decreased to potentially only a few hours a week.

Some of the business models often used to generate passive income online are eCommerce, online courses, eBooks and product review/comparison websites. By utilising methods such as drop shipping and outsourcing, the running costs (both time and money) for these types of businesses can be kept to a minimum.

Benefits of Diversifying

Why is it necessary to diversify your income streams?

Financial Security

First, it offers a form of security. Although you may have a well-paying job, job security is not what it used to be. Relying on one source of income to support you is not ideal, as losing your job is something you should always consider as a possible scenario. If this does happen and you only have one source of income, how will you manage to survive, let alone pay your bills? With another source of income to fall back on, you could make ends meet until you find another job.

Increased Income

Second, it increases your income. It is a well-known fact that most millionaires don’t just have their fingers in one pie. They have multiple streams of income. This increased income can be used in a number of ways including paying off your mortgage quicker, paying off debt, or setting up an emergency fund if you don’t have one.

More Freedom

Third, it provides you with more freedom! We all need a little more time for ourselves, right? By having multiple streams of income, with some of them being passive, you certainly will have more time available for the things you want to do. This could be spending time with your family, taking up a hobby you have always wanted to participate in, or travelling. The possibilities are endless.

Without a doubt, the advantages of a diversified income are numerous. Start to think about ways that you could add additional income streams, even if they start small. You can gradually grow a few streams on the side and reap the benefits

Why you should use BCrypt to hash passwords

In the online world, passwords play a critical role in keeping your data and other important information safe. For this reason, ensuring your passwords remain secure is critical. If not, the consequences can be catastrophic – think the Sony hacks of 2011.

Hashed password solutions fall short

Many password solutions simply are not good enough and put your data and resources at risk. Let’s take a look at a few examples.

Plain text passwords

As its name infers, a plain text password makes use of only letters. Should a hacker gain access to passwords such as these, they can easily pose as a user on your system. Often, plain text passwords are replicated across other logins as well, as users don’t want to have to remember multiple passwords for different sites or applications. Guess what? That just gives a hacker access to those applications as well.

One way hash

With a one-way hash password, a server does not store plain text passwords to authenticate a user. Here, a password has a hashing algorithm applied to it to make it more secure. While in theory, this is a far better password solution, hackers have found ways around this system as the algorithm used is not exactly a one-way option at all. In fact, hackers can just continue to guess passwords until they gain access to your resources.

‘Salting’ the password

One could consider ‘salting’ a password before it is hashed. What does this mean? Well, a ‘salt’ adds a very long string of bytes to the password. So even though a hacker might gain access to one-way hashed passwords, they should not be able to guess the ‘salt’ string. In theory, this is a great way to secure your data, but if a hacker has access to your source code, they will easily be able to find the ‘salt’ string for passwords.

Random ‘salt’ for each user

As an alternative, a random ‘salt’ string could be added for each user, created on the generation of the user account. This will increase encryption significantly as hackers will have to try to find a password for a single user at a time. Again, even though it means they will have to spend more time cracking the passwords for multiple users, they will still be able to gain access to your resources. It just takes longer.

The BCrypt Solution

So, is there a solution for proper password encryption? Something that will protect your valuable data and resources no matter what? Yes, there is! It comes in the form of the BCrypt hashing function – designed by Niels Provos and David Mazières in 1999.

BCrypt is based on the Blowfish block cipher cryptomatic algorithm and takes the form of an adaptive hash function. But why should you use it to protect your data and resources? To explain, we’re going to need to get a little technical…

Using a Key Factor, BCrypt is able to adjust the cost of hashing. With Key Factor changes, the hash output can be influenced. In this way, BCrypt remains extremely resistant to hacks, especially a type of password cracking called rainbow table.

This Key Factor will continue to be a key feature as computers become more powerful in the future. Why? Well, because it compensates for these powerful computers and slows down hashing speed significantly. Ultimately slowing down the cracking process until it’s no longer a viable strategy.

If you have sensitive data or information that you need to be protected, ensuring it is secured correctly is vital. As we have seen, there are many ways to secure this information through various password methods, but only BCrypt offers a truly robust solution.

Automating Client Onboarding

Onboarding is a crucial aspect of any business in order to ensure that new leads are smoothly and successfully transitioned into paying customers. Many companies are manually bringing customers on but there are a few reasons why this may be holding them back.

Let’s take a closer look at the basics of onboarding and how manual and automatic strategies compare.

Basics of Onboarding

We all understand that onboarding is a way to get interested parties to become loyal paying customers, but how does it work? Just imagine you sign up for a call with a company that you are interested in doing business with and you receive an email with all the information you need to make your decision before you even get on the call. Then you receive reminders for the call, the call, and a follow-up email so you can place your order. This makes things easier on both sides as the customer gets their questions answered and the business streamlines their process by warming up the leads before they take the calls.

Any onboarding strategy should involve the following 3 points:


This is all about giving potential customers the information they need that allows them to make a decision.


This part is giving potential customers the feeling that they are indeed in contact with the right provider who can meet their specific requirements at that time.


This is all about getting potential customers to buy into working with your organization as soon as possible.

Now when implementing onboarding, there are two approaches you can take; manual or automated.

Manual Onboarding

This is where each step of the onboarding process is performed by a human responding to leads. While many think this gives the personal touch customers are looking for, here are a few things to consider:

  • There is only so much people can do in a day. Manual onboarding limits the amount of customers who can be successfully onboarded by the staff resources available to onboard them.
  • It requires a significant amount of time which will require paying staff to attend to these tasks which can be expensive.
  • It can lack in efficiency due to the nature of performing anything manually. If someone is managing email replies, for example, and they are sick one day, it can result in a delay.
  • There is also a higher likelihood that some clients will fall through the cracks.
  • Finally, due to individuals handling each step of the process, each customer’s experience will vary which causes a lack of consistency.

How Automating Potential Leads Works

With these drawbacks in mind, automating potential leads can offer a better solution. But how does it work?

Well, it is simple really. After discovering your web presence and wanting to contact you, a potential client is automatically invited to complete a very straightforward form. This is connected to an email marketing service such as MailChimp. Once they have submitted the form, they are sent a welcome email. This should include information covering the work you do, your pricing structure, testimonials, and all the services you offer.(Basically, everything they are wanting to ask you.)

Of course, the email should include a call to action which will take them to another form on your website where they can fill in their specific needs in a more in-depth manner, a project planner in a way. They are then invited to book an appointment with one of your representatives to further discuss their proposed project in greater detail. Finally, before the appointment takes place, the potential client is sent a warm lead and told just how your proposed solution will meet their very specific needs.

Benefits of Automated Client Onboarding

As you can imagine, your customers will have all of the information they need to make an informed and confident decision. Furthermore, the onboarding process is streamlined and fully scalable to manage an infinite amount of leads. This gives your staff the time to focus on other critical areas of your organization.

The experience all potential customers receive is exactly the same with automated onboarding and it can be tested and fine-tuned to increase conversions.

Where can you get an onboarding service? There are a number of different services that can enable automatic onboarding. Here are just a few of the leading choices.


Used by over 13 million clients, MailChimp has operated since 2001 and each month sends 10 billion emails for their clients.

Traction Digital

Traction Digital offers a range of onboarding services catered exclusively to their client’s unique needs.


HubSpot helps to build campaigns to not only generate leads but to act on them in an efficient manner, converting potential customers into paying customers.

Services like these can enable your business to increase efficiency, open up staff availability, and help to contribute to an increase in sales. It is worth considering the switch. Has your company already many the switch to automated onboarding? If so, what are your favorite tools to use?

Cloudflare – Why You Should Use It

Since creation in 2009, Cloudflare have been used on a number of websites around the world. Let’s take a closer look at this important piece of software.

What is Cloudflare?

Cloudflare is often called a caching reverse proxy which uses similar technology to CDN but operates slightly differently. As with CDNs, Cloudflare can be used to run multiple data centers while static content can be cached at the edge which makes it faster. It differs however in a number of ways. CDNs will ask users to pick which content should be hosted on its network. They will also only receive requests for some subset requests.

As a caching reverse proxy, Cloudflare is able to send every request to a website. This enables it to stop website attacks, improve performance by modifying content, place applications in web pages, give a range of analytical data, make a network gateway between different protocols and help to easily install SSL.

What are the Benefits?

Cloudflare has numerous benefits. Let’s take a closer look.

First, it offers excellent security across a range of threats. These include cross-site scripting, comment spam, excessive bot crawling, SQL injection, email harvesters, and a host of others. Security features are easy to setup and will stop threats automatically while continually adjusting according to traffic patterns.

Second, it offers excellent caching/performance, often up to 50% more. Through its global CDN, Cloudflare caches static files including JavaScript, CSS, and images automatically. These are stored on servers around the world and when accessed by a user visiting a site, they are loaded from the site nearest to them resulting in incredibly fast load times. This is due to the fact that latency between the server and the user is reduced because of their close proximity.

Third, in terms of an analytical overview of your website’s traffic, few applications can beat Cloudflare. It provides visitor analytics, search engine crawlers as well as threat monitoring.

Finally, Cloudflare offers HTTPS for free, not only that, but this is simply the best way to ensure your website looks professional.

In conclusion, Cloudflare has a range of must have benefits that you simply cannot do without. If you incorporating it in your infrastructure setup yet, you should seriously think about doing so soon.

The Free SSL Option for Your Website

Whenever you provide information such as your username and password, credit card number or tax file number, these are passed from one computer to another before it arrives at its destination server. Because of this, having an SSL certificate on your website protects sensitive information from being stolen through encryption, so that only the intended recipient can understand it.

You need to have an SSL certificate to gain the trust of potential customers, especially if you are running an ecommerce site or an online store. The trust seal that comes with having an SSL certificate will assure your customers that your site is secure and that their information is safe in your hands.

What is Let’s Encrypt Free SSL Certificate Service?

Let’s Encrypt is a free certificate authority (CA) that issues digital certificates to verify an entity’s legitimate identity on the internet. However, not all certificate authorities are created equal. The distinguishing characteristic of Let’s Encrypt among all the other certificate authorities is that it is free to the public. As long as you own a domain name, you can own an SSL certificate with the help of Let’s Encrypt, at no extra cost.

It is also very convenient to use because everything is automatic. Your software can interact with Let’s Encrypt in order to get the SSL certificate and have it automatically renewed. You are also assured of a high level of security because it puts an emphasis on using the TLS best practices to ensure its servers are secure.

The Let’s Encrypt CA is also transparent by keeping its records readily available in public. All of the certificates it has issued or revoked are available for public consumption. Its collaborative nature makes it a great CA to work with because it is a joint effort that benefits the online community as a whole.

How to Use Let’s Encrypt

Let’s Encrypt is a free CA alternative to companies that offer paid SSL certificates. Choosing an SSL certificate can be a difficult process, but Let’s Encrypt makes the whole process easier for you.

It all starts with the “certbot” client, which can either get the certification on your behalf or install it for you. If you don’t want to use the “certbot” client, there are many others to choose from.


Encryption can be an expensive investment for your business, but it does not have to be that way. Let’s Encrypt has been a complete game changer because it offers SSL certificates for free. It has also made the entire installation and renewal process simple and hassle-free. This means that website owners can now offer an extra layer of protection for customers on their site, without having to spend money.

As an online business owner, you need to come up with various ways to gain the trust of your audience. The first step to this is offering encryption in your website. This is a great valued-added service to offer to your customers and will likely increase your conversions as well.

You Can’t Improve What You Don’t Measure

As an online business, having a strong online presence is a must. However, what is the use of having a fancy website with all the bells and whistles if it does not have a carefully thought-out and plotted online marketing strategy backed by numbers and analytics?

With the influx of free tools that you can use online such as Google Analytics, there is simply no longer an excuse for any business not to use web analytics in order to determine and measure the success of their ongoing marketing strategy.

The Importance of Measuring Your Online Business Results

Using web analytics, you will be able to determine where your site’s traffic is coming from and concentrate your energies in that corner. You will also know the topics and blog posts that attract the most attention from your audience and build on that niche. You will see the keywords people use in search engines to arrive at your website, and can then use them in your SEO and Google AdWords campaigns.

Using web analytics allows you to determine the best days and times to publish your blog posts. You will be able to write about topics that matter to your target audience. You will also know what type of content will best fit your online audience, whether it is an e-book, a white paper, an online course, a podcast, or an infographic. This information can prove to be valuable when it comes to your marketing campaign and can be used to improve your website’s user experience.

Underestimating and ignoring web analytics that can be used to track your website visitors, traffic, and conversions mean you are wasting precious resources that could help you determine what you are doing right, and what you need to improve on.

Tools for Measuring

If you are at a complete loss as to where to start measuring your business’ performance, rest assured that there are a lot of tools available out there that will help make the job easier, with most tools concentrating on one aspect of your marketing. Some tools help with your social media, others focus on email marketing, and yet others are used to track your SEO efforts.

Facebook, Twitter, and Instagram all have their own Insight feature which allows you to have an idea of the demographic that are following you and are making an impression on your social media posts.

CRMs such as Agile and InTouch allow you to track how well your email marketing campaign is performing. You can also track your SEO ranking via CheckPageRank.net, which has a PageRank Checker that allows you to see how your website is ranking against your competition. Small SEO Tools, on the other hand, has a Keyword Rank Checker tool that lets you see how your website is ranking in the search engine results pages according to specific keywords that are relevant within your industry.

With tools like these, you will be able to measure your results and improve upon them in a strategical way.

Realtime Interactive Communication with HTML5 WebSockets

If you are thinking of building a web or mobile app that involves multiple users who are in constant communication with each other, then consider using WebSockets.

What is a WebSocket?

A WebSocket is a bi-directional connection from a web browser to a server. Both the client and the server can send a message to each other at any time until such time that the client decides to close down the connection. This enables a fast and instant data exchange between client and server, and provides a way for applications to utilize real-time messaging, resulting in a better user experience.

The Evolution

Traditional HTTP, which was originally used as protocol for hypertext delivery, presented a lot of problems. It produced a lot of chunky HTTP headers and cookies which resulted in a large amount of data being loaded into the server. As a result, it produced latency problems frequently experienced by the end user. When using the old HTTP method, you had to continuously refresh the page in order to receive the new content. HTTP was not at all scalable, and people needed a new way to make the connection between client and server.

Because of the said poor user experience, Outlook Web introduced AJAX as a custom extension to Internet Explorer and as an alternative to real-time connectivity between a client and a server. Apps made use of JavaScript to create an HTTP request without the need to undergo a page refresh. It is in this environment that the WebSocket was born.

How and Why WebSockets Came About

WebSockets were created because of the need to produce a low-latency connection between client and service. These days, WebSockets are a tool used by developers to create web and mobile applications without the hassle of using HTTP requests; instead, it uses a separate implementation through the TCP protocol.

WebSockets are bi-directional, meaning the server can send data to a browser without the latter asking for it. This means that apps that require real-time exchange of information can be done over a standard web protocol. Because WebSockets do not need a HTTP request when making a connection, there is a significant reduction of unnecessary HTTP header traffic and a lesser occurrence of latency problems.

With a WebSocket, you no longer have to wait for a request before it sends new data; it will automatically send the data to the client the moment there is new information. Another boon to WebSockets is that they dramatically decrease the bandwidth usage.

The WebSocket is highly useful during the app development process and is great to use for real-time applications. It makes everything simple and efficient, and saves time, space, and money. It is commonly used in the following environments:

  • Instant messaging
  • Social feeds
  • Online courses
  • Real-time sports updates
  • Multiplayer games
  • Collaborative software
  • Document editing
  • Location-based apps

These days, modern web and mobile applications require constant connectivity more than ever before. WebSockets can be provide many benefits, especially if you are building an app that requires the client and server to push messages to each other at any given time.

New Business Model? Start with a Minimum Viable Product

Got an idea that you want to turn into a business? Before you go about building a prototype and investing all of your effort, time, and money into it, consider building a minimum viable product first. After all, you don’t want to waste all of your resources building a product that nobody wants in the first place.

If you don’t have an actual product just yet but you already have an idea, you can build a minimum viable product first to see if it will work and be welcomed by your target audience. Not only that, but this process will also test your audience’ willingness to pay for your product or service once it goes live.

What is an MVP?

The operative word here is “minimal.” Minimum viable product means building the smallest thing with minimal resources that will give value to your customers, instead of turning your idea into reality right away. You then send the MVP to a segment of your targeted audience to test and gauge their interest in your product.

An MVP is a relatively new and practical scientific approach to product development, where the focus is on testing the effectiveness of your product by getting it into the hands of potential customers quickly to see if they will like it.

What Does an MVP Entail?

Too many startups come up with an idea that they will think will be a potential hit with their customers. They spend days, months, and years perfecting the product and launching it once it has been deemed as “perfect” or “complete”, only to fail because of indifferent customers.

On the other hand, the process of building an MVP involves releasing it to its audience even while still in its early stages of development, using its minimum set of core features, and no add-ons as these will come much later.

The idea behind this is that the audience will be more “forgiving” at this stage and will provide constructive criticism. This way, the manufacturer can still tweak and make some changes to the end product based on the feedback that came from its earliest customers. This takes away the uncertainty out of the equation by the time the product is ready for launching.

Why Conserve Resources Early On?

Mature products take years to launch and are expensive to develop. Creating an MVP will save you a lot of money that would have been traditionally used during product development. Instead, an MVP allows you to start with less, and allows you to build on it until you come up with a better product.

You will spend less on your product’s design, packaging, and marketing costs; instead, you will focus more on its main function and will make sure it does this main function very well. These savings can be extremely important in the long run because you don’t know yet if the end product will be well-received in the market.

If you are thinking of bringing a new product into your niche, consider creating a minimum viable product first. For a smaller investment, you will be able to come up with a better product that has a better chance of being a hit among your audience.

Does an MVP sounds like a good idea to you? It just so happens that I’m in the business of helping clients map out develop these early stage products. Get in touch and see how I can help!

Introduction to the Browser Push and Notifications API

With so many ways for a business to reach out to their audience online, they need to make sure they are using the right methods. Aside from email marketing and social media, another fast way to reach out to your customers is through push notifications. A push notification is a great way to send a message to a target audience by using a web application. The notification is then sent to a computing device. This is a way for you to communicate with your users or potential clients, keeping them notified even if they are not currently browsing your site.

What is the Browser Push API?

Most notification APIs are shown unobtrusively in the corner section of the end user’s active browser window or on the home screen of a mobile device. The notification will contain the web application’s logo or icon, a header, and a short message that informs you what the notification is all about.

Pull notifications are requested directly by the client while push notifications come from a server. The Push API sends a push message from a web application using a push service in the form of a display notification to the end user. The web application’s server will be able to send the push message at any time, even if the said web application is not being used by the user.

A browser push API will give you the following advantages:

  • An online store can notify its existing customers of an ongoing sale.
  • A user can inform another team member when a task is finished.
  • A blogger can inform subscribers that a new blog post has been published.
  • A business can talk directly to its customers real-time because it sends the message right on their target audience’s browser.

What is the Notifications API?

The Notifications API gives websites the ability to send out and display notifications to the end user, even if the person has switched tabs or has browsed to a different website. The browser will show an alert to the end user.

It is worth noting that before the notification API is enabled, the end user must explicitly give permission to the website to display notifications. These notifications will only be displayed if the end user has granted permission to be notified.

A notification API can provide you with a lot of advantages, especially when used in conjunction with the browser Push API, some scenario’s:

  • You want to be informed if somebody sends you an email.
  • You want to be notified if someone mentioned you or replied to your posts on Facebook and Twitter.
  • You want to be notified if your teammates want something from you in a messaging app, such as Slack or Skype.

While API notifications started from the mobile industry, this technology is also becoming widespread in desktop applications, too. It is always great to see mobile functionalities moving to the web. These days, more and more businesses and personal brands are using desktop notifications to provide updates to their users. One thing to note is that this technology is not yet supported by all browsers, so remember to include some kind of fallback functionality in your implementation.

Care to join my mailing list?

Exclusive articles on the latest web technology and methods for boosting productivity in business!