Lowering the cost of ownership of a website and the Software Development Life Cycle
The hardest things a company can do when building a website is to do it for themselves. The second hardest thing a company can do when commissioning the website is to outsource it overseas. We're going to go into the reasons as to why both of these are extremely challenging, and why you won't want to do this without a lot of planning.
If you want to understand more on how info rhino lowers its cost of ownership - please take a look here. Web Data Platform Launch - inforhino.co.uk
About the article
In this article, we delve into the cost of ownership for a website. This is often the last thing a company thinks about when procuring a website. We cover how to think about structuring procuring your website, and how to reduce the time you spend on implementing the solution.
We introduce our own software paradigm known as data droppable websites. The goal is to cut out multiple layers when moving information from different systems into the website to be displayed to users. We cover the concept of portability in terms of how moving from one website system to another should be relatively pain free.
Do get in touch with Info Rhino Limited if you're interested in any of the things discussed in this article.
Starting the process
When building a website the first thing that needs to be done is to think about the structure in relation to your business. The result is will be a mental map in terms of your business versus how your customers expect to see your business online. The process of creating content for your audience is a complicated one. We can only use existing website content and our knowledge of our customers to try and create the right message for the customer to connect with. This is a complicated process because we are dealing with the unknown. What makes the customer click with your products and services?
It is for this reason, we will have to take significant time to create the content. We will need to collect images, ensure these images are an appropriate size, ensure there are no copyright issues, deciding whether these images should be personal versus generic, and think about the impression your customer could get from them.
Before we even think about the website or who will build the website, we will need to have a content ready. Additionally, we should be confident that I content seems like it will be found through organic web searches. We may need to use keyword searching tools and potentially explore competitors. It would make sense to review competitors on social media, especially in terms of competitors and who follows them.
The reason for your website
The number one thing to understand is why you are having a website in the first place. If we don't know exact reason or reasons why we are creating a website this is likely to confuse your customers further. Everybody makes this mistake. Putting out websites which did not address the customers’ needs. The reason being we tend to think more about just having a website online. Our focus is just to have a website because we think this is what needs to be done and once it is online that is good enough.
To avoid this, we need to think through exactly what the website is for, to illustrate the point, here is an example;
- We have six products for sale
- We have four services that are linked to those products
- Our business has 6 offices
- We want our customers to have access to our policies and terms of conditions.
- We want our customers to see the fun side of our business
- We would like a customers to understand our sales successes
- We have some promotional videos we would like to demonstrate our products
When we look at the above requirements, we can see we need far more than just one website. Online video platform hosting, Social media presence, website, reviews and opinion, presence on different websites.
If we focus purely on the website, we can see there are multiple things to consider;
- The websites will need a logo.
- The website will need a homepage.
- The website will need images content.
- We will want to have maps to show office locations.
- We will need to have a services and products page.
- We will need a link to our terms and conditions.
- We will need to have a nice looking feel for users.
- We will also need to consider adding in links to our social media.
In addition to the content type requirements for the website we would also need the following;
- Page title
- Page descriptions
- Links between different areas of the website.
- Site maps for search engine optimization
So before we can even think about what website provider we should use which company we should engage, we are already finding a huge amount of work is required before we can engage a provider.
Often, the first thing my company does, or individual does is to immediately start looking for website providers and website development applications. This is a natural thing to do.
It is natural because we want to understand what we think the website may cost. To most people this becomes the most important thing. However, in doing this you are potentially limiting what your website will do because the company who you engage will naturally to try it to make the job as easy as possible for them. This is to maximise their profitability. You on the other hand are trying to make the cost of the work as cheap as possible - not always the case but almost university true.
Another major challenge with commissioning websites. Is you may need some very specific application functional functionality built into the website. When this type of requirement arises we move from a fairly straight forward arrangement of content images links, instead we face substantial development work requiring medium to high expertise. Additionally, we may encounter substandard development by software houses claiming to be better then they genuinely are. This leads to expensive software development. Which may outstrip the true value the website provides.
This brings us to the DIY website approach - or what is known as WYSIWYG. When taking the DIY approach to websites. We are presented with a platform or application which allows us to add our content, including; text, images, links, and articles. This can help to create a fairly powerful website quite quickly, but it will never have the potential of custom developed websites.
The reason most website developers and most clients are asking for the wrong kind of website
When commissioning a website it is typical for a customer to request a content management system. This is because the customer wants to update their information and they believe a CMS will be the best way to do this. There are a number of reasons why just having a CMS is not the best approach;
- A CMS is complicated to learn and understand.
- A CMS can pose additional security challenges in terms of controlling who can manage the content.
- It can be very easy to simply trash the content by human error.
- Transferring content from one format to another is time consuming.
What we need is a website that is a content management system and can consume information without manually adding it to the website.
When clients ask for a website they often request the CMS thinking it is because they want to be able to maintain their own information. This is a reasonable thing to consider. The challenge here – customers update this information without having a true understanding on how to manage websites for the effect of SEO and user engagement.
Text to website
We put a lot of thought into how content gets published to and updated on and displayed on a website, and in doing this we realised that the main stumbling block is the need to transform content between different formats to end up on a website and this can become a very slow process. So to give an example, right now we are on a website called voicetext.org, we are talking into this website via a microphone and it is transforming our spoken word into text. It's not perfect but is saving us time in terms of writing content manually, we can edit this later and just generate lots of text. It is possible to talk, put a number of articles in what is known as the markdown file, drop that in a folder, have that appear in our website and search engines to find this information, even if it is not 100% perfect. This is a game changer for getting content online quicker, whereas most people spend their time creating perfect documents.
Data to Website
At Info Rhino we are experts in data. We build data warehouses, we develop reporting suites, and applications that integrates data. We write applications to translate data. We've written applications in NLP. Info Rhino always thinking about data and how to get it to where it needs to be, whether it is a user or an application to use that information.
When we think about websites and data we see companies with website users who want to know more about their company. They may want to understand more about the products and services on offer when they visit a particular website. The challenge that all companies will face, whether they have very mature information systems within their company or in the cloud, or whether these companies are very new and are yet to establish their information systems. All companies will face the challenge of taking their information from whatever information store their information happens to be in and delivering it to the website for their audience to understand and use.
Avoiding the specifics of the implementation of data transfer from company systems to public facing websites suffice to say this is a very complicated process. This process tends to require advanced skills in data development, website development, and more than one skilled individual.
We at Info Rhino instead, try to look at the job needing to be done, and in this situation the job needing to be done is taking information from one repository or area and putting this information into another information or area which your customers can access.
The Droppable Data Website
Info Rhino are working on a new cryptocurrency platform. This cryptocurrency platform will take data from Exchanges and pricing websites and put this information on our new crypto website. When we think about how users like to see information, from our experience of developing dashboards and reports, users prefer to see information at different levels, and this is partially because humans are used to understanding hierarchies. For example, we may want to know the following;
- On a particular day, how many cryptocurrencies have gone up by a certain price or percentage?
- How many cryptocurrencies have decreased in price over the last week?
- Which cryptocurrencies are common to both groups?
These types of information can be kind of literally thrown onto a website and automatically displayed for users in an attractive way which does not require significant time to develop dashboards. This is because the data which is being taken and transformed automatically can intelligently be displayed without the need for too much human intervention Once we start to appreciate how this can be of benefit to users, we can also see that they only really want to see information in different ways to help them to recognise patterns in that data more easily.
There are two main ways by which content and data can be quickly dropped into our web data platform using our droppable data functionality.
1 - Content
The first is to simply write content in an editor such as OneNote or Word and to then paste this into a markdown editor, we use is stackedit.io. The documents that we write in markdown before placing them on the website, we create a folder per subject area and then a sub folder with a further category. So we have a two level summary of the document and within our website. We have a mechanism which scans these folders to see which articles are new and will then upload these into the relevant area within our website. So our main website has an article section and this effectively is a directory of articles which are users can access. Truly powerful, as previously described is this idea of speaking into a voice recorder, which will automatically take your voice, turn it into text, and then this text can be pasted into a markdown editor or some editor like Microsoft Word, to then speed up writing content manually. The benefit to this approach - getting text online in articles quickly to hopefully then attract users and SEO engines to hopefully boost traffic to our website.
2 – Data
The second method is dropping data onto different folders on the website directory. The website sees this data to determine what type of report it should be, and then based upon certain small amounts of configuration puts that data into relevant areas of the website. Currently on info Rhino’s website, we have the capability of including reports such as; maps, tables, and charts. We have a dashboard capability too including linking article content to reports within our dashboard based upon matching information. To stress - this approach will never be as perfect as manually creating dashboards and linking content such as seen by professional business intelligence developers. The benefit to customers owning these websites is lowering the cost of ownership.
To give a very good example on how data capabilities within our data platform can work. We will give our own example of findable, which is a property platform. Our first iteration of this approach involved creating different views or web pages which could show a map and a table and a chart. We found ourselves having to create different endpoints per report view because these reports were accessing different information from the database. Good design practice makes it important to have an interface per report.
Thinking in terms of scalability, we can immediately begin to see the many issues in continuing with this kind of approach.
- Every time we needed to add or remove a report, we would need to re-release or redeploy the web application.
- Adding a report or removing a report required development expertise and this also took time which added a cost.
- Users would become frustrated with the website continually going down to add and remove information, when in fact this information should appear automatically.
- Releasing software is always a risky process and the less releases to our live environment the better.
The key win from this approach is removing many of the additional steps needed to take information from upstream systems and publishing it to a website.
Let's describe two types of customers who would use this approach?
Customer number one - a start-up or small company
They would be unlikely to have many information or reporting systems. They still have a need to get information that is held on their own private corporate information stores to their website. This type of customer could quite easily save information from a number of spreadsheets into a format known as json format, and drop this information into a web folder. They could take articles and content that they've written in Word and then paste it into a Markdown editor and drop these into a folder .It will be perfectly possible to place quite large amounts of information on these folders without having to the need to transfer them to the website using a content management system. The key goal is to get information online quickly, not necessarily in the most perfect structure.
Smaller businesses don't want to spend all their time maintaining their website content and information. They may be able to put a certain amount of time per week into updating information to keep their website current and reflective of how their business is performing. This is a great trade-off between paying significant amounts of money to develop complicated software versus manually maintaining lots of information and transferring it to a content management system.
Customer number two - a large enterprise with a data technical reporting capability
Larger businesses will have a fairly well developed reporting capability, typified by there being multiple systems or software applications within their business. Examples being CRM system accounts, Ledger system, An EPOS system, to name but a few. For the organisation to maximise their information and analytical capabilities, they will frequently have a data warehouse. On top of this, data warehouse will be reporting software suites and dashboarding software. These organisations may have very involved processes taking data from one system to another.
As these enterprises will have a fairly mature reporting capability, their in-house data skills will be strong. This allows them to automate publication and transformation of information. It is not their skills in data which is the challenge. Instead it is their lack of skills in moving data to the website. This is because the website will have its own specific way of accepting data through what is commonly known as an API. Where the company has skills in writing code against an API, there still remains the challenge of the API being upgraded enforcing breaking changes.
To this enterprise, the website is simply another information target for their data to be displayed to users. Concerning themselves with low level detail implementation of the websites API is a cost enterprises can do without. Following simple rules on what data formats are expected. These companies can simply save information to folders through an FTP share cutting out significant amounts of effort in publishing information. It is not unimaginable that this could save one to two headcount a year.
Website Portability – replacing it altogether
The time may come when you find that your requirements may eventually out grow our Web Data Platform. It could be you want a different type of website altogether. Remember, the Web Data Platform is very much a rapid way to get a website online. We do trade quite a lot of the more advanced layouts to work with data quicker. If your business scales and grows, there is nothing wrong in deciding to move to a more dedicated platform that you developed yourself.
The clear advantages that Info Rhino's Web Data Platform stores most of its data outside of any database or document data store - on disk. Not only is our data stored physically on disk, which is easier to access. Configuration and settings is also stored in data files, which is easy to understand and access. You are free to take this structure and develop your own applications off of that data. This lowers the cost of portability because you can work with this data and put it into alternative systems.