Software Development


  

I wanted to backup a PostgreSQL database automatically to some offsite storage/server.

The first thing I had to do was decide where to put the backup. In the end I decided to use Azure as part of the solution. I know people say Azure’s expensive, but you can get a 12 month free trial. So at the time of writing, this solution doesn’t cost anything.

Let’s start with the Azure end of it. There are lots of options in Azure and it can take a bit of time to work where you should store the backup file. I knew nothing about Azure when I started, but I worked out that the best option was to use blob storage.

More...

  

How do you choose between Microsoft Dynamics 365 and a bespoke customer relationship management (CRM) solution if you want a new back office system to collect and manage information about customers, products and orders? Perhaps you want to capture new leads, allocate them to your sales team and then track sales conversations. When is a bespoke CRM system a better long term solution?

More...

  

Writing software isn’t difficult when you know what you want to do. Coding is the easy bit. The tricky bit is working out what your end users and your customers really need. And when you think you’ve done that, you’ve got to document it and communicate it in a way that makes it as easy as possible for your development team to design and build the best solution.

More...

  

A bespoke customer relationship management solution is an affordable alternative to more complex off-the-shelf software. It will put you in complete control of the information you collect about customers, enquiries, leads and sales; you make better decisions when you can report on accurate, well organised data.

More...

  

This post was inspired by Joel Splosky’s The Joel Test: 12 Steps to Better Code. That post is now more than 20 years old, but it is still very relevant and has plenty of good, clear advice for its software developer audience. This one is slightly different because my intended audience is customers - people with little or no software development expertise who want to commission bespoke software. It’ll take you less than 5 minutes to read and you never know, it could save you a lot of time, hassle and money.

More...

  

The best way to learn React is to dive straight in and build something. To keep things simple I decided to copy our current www.coursedate.com website (PHP with Twig templates) in React. That way I wouldn’t have to spend any time thinking about the usual stuff that comes with a new web project (requirements, UI design etc), instead I could just focus on understanding how React works.

I’m using Express.js with React. I created the React project in a folder called client inside the Express project. I think that’s just for convenience - I can open both projects at once in VS Code.

More...

  

The sitemap file for Coursedate, our online course booking system, is generated on the fly using PHP.

We don’t manually update the sitemap.xml file each time a training provider creates a new course. New course pages now appear automatically in the sitemap file as soon as they are published in Coursedate’s course directory. That’s less work for us and it means the sitemap is always up to date when search engines do their indexing.

More...

  

I’ve built a simple app to capture weight data from some bluetooth enabled bathroom scales. The app uses the react-native-ble-plx library from Polidea to handle the Bluetooth connections. The library is great - there’s good documentation - and getting it to work with the scales was pretty straightforward once I’d got a basic understanding of how the scales’ Bluetooth LE services and characteristics work.

More...

  

How do you estimate the cost of a software development project? Suppose you want to pay a software development company to build a bespoke web application. Can you get a rough idea of the cost before you start looking for a supplier?

More...

  

Are you about to commission your first mobile app? Here are some things you should know. They may save you time, reduce your costs and in the end help you create a better product.

More...

  

How do you use Node.js to build a TCP server to collect weight data from a set of wireless enabled scales?

TCP works by establishing a connection between server and client. The server listens on a particular port and then makes a connection when messages come in from a client device.

More...

  

How do you create JavaScript charts with the chart.js library that use data from a database on a server?

We use chart.js to display data about apprenticeship vacancies Sheffield. Each day we get the data from the gov.uk apprenticeship service API. The data's saved to a database and then used to build a chart that shows how the number of apprenticeship vacancies in each category is changing over time.

More...

  

You’ve got three main options if you want to collect useful data about customers, enquiries, leads and sales...

More...

  

This a 12 week programme of free online software development courses, activities and lessons for someone who wants to become a software developer. It’s a route through some of the best resources on the web.

More...

  

Sheffield based Marsden Weighing Group is the UK’s leading manufacturers of medical weighing scales. For more than 90 years the UK medical profession has relied on Marsden for high quality, accurate scales.

Marsden is now a market leading supplier of telehealth solutions. Its range of precision Bluetooth and wireless enabled scales can transmit weight data to nearby devices. Recorded weights are accurate and integration with hospital record systems means data can be shared between departments without the need for further weigh-ins each time a patient is assessed.

More...

  

The Sheffield Apprenticeships app is the quickest way to find apprenticeship vacancies in Sheffield. You scroll through a list, click on a vacancy and then if you’re still interested, go directly to the Gov.uk Find An Apprenticeship website and apply. The app does exactly what Apple recommend in their app developer guidelines and solves a problem; young people can see at a glance the apprenticeship opportunities in Sheffield.

Why did we build the Sheffield Apprenticeships app with React Native and what lessons did we learn on the way?

More...

  

What makes a good landing page for an online service or application? I decided to look at the home pages of three successful online services and pick out the things that seem to represent good practice.

More...

  

You don’t need a degree in computer science to become a software developer. You just need a plan, some effort and an aptitude for solving problems. The demand for software developers is as high as ever and good developers are in short supply - that means great salaries and plenty of vacancies. You can make the move if you really want to.

More...

  

Our Sheffield Apprenticeship Twitter account (@SheffApprentice) uses the Twitter API to automatically Tweet out information about apprenticeship vacancies in Sheffield. The Tweets are scheduled - 6 individual apprenticeship vacancy Tweets and two summary Tweets every day.

More...

  

I wondered a bit more about freemium pricing models after writing the last post. Freemium is where part of your software as a service is offered for free. Users sign up, they use the application for free but then have to pay for more premium features.

More...

  

Dave Skok on forentrepreneurs.com has a nice post about SaaS applications and pricing in which he describes the three basic scalable pricing axes. Most Saas applications seem to have an approach to pricing that is based on one of the axes or maybe a combination of two.

More...

  

There is an EFSA API (application programming interface) that allows you to search live apprenticeship vacancies (in England) and then look at the details of an individual vacancy.

The API is easy to use and there’s good supporting documentation - developing a simple location based search interface is relatively straightforward.

More...

  

A lot of small businesses start out with MS Excel. They are run on spreadsheets - information about customers, products, quotes and sales spread across multiple workbooks. Valuable data is inconsistent, almost impossible to query and often never backed up.

Sooner or later someone decides to look for a new, more scalable solution. They want a cloud based system that:

More...

  

The design of your software as a service application (SaaS) is inextricably linked to your business model. You should think seriously about how you’re going to find and sign-up paying customers before development starts. Does your SaaS application make customer acquisition as frictionless as possible? How does the design of the application facilitate marketing, customer feedback and the prioritisation of new features?

More...

  

Why pay a software company to develop a bespoke application when there are so many subscription based online services?

Bespoke or custom software can sometimes be a better choice, but the decision is not always easy. This may help you decide:

More...

  

Here are some things we think it helps to know if you are about to start your first project with a software development company. Knowing this stuff makes a difference, you’ll get better value for money and you‘ll get better software - simpler, more focused software with fewer bugs.

More...

  

A customer relationship management (CRM) is then next step on from using MS Excel to keep track of customer interactions. You keep data your in one place - often a database in the cloud - instead of storing it in multiple Excel spreadsheets. Reporting on data then becomes easier and your data quality is better - data validation in web forms means you’ve got more control over what people type in.

More...

  

Do you want to change the way you collect and manage data? Perhaps you’ve been using MS Excel to record information about potential customers and now you need a better alternative - a single database that holds one consistent set of data and makes reporting easier.

One option is to go down the off-the-shelf application route. Sign-up for a online customer relationship management (CRM) system like Zoho CRM. You replace the ad-hoc MS Excel solution with a third party web application.

More...

  

What does it cost to develop a typical custom web application? Perhaps a bespoke customer relationship management (CRM) system that medium sized business might use for tracking customer enquiries and orders?

More...

  

The Software as a Service (SaaS) model for business software is now common. Software isn’t hosted on a server at the client’s site, instead it’s run from the vendor’s own servers. And most modern systems are multi-tenancy - that means there’s only one actual instance of the software running. Each client uses the same instance, seeing only their own data. The benefits of SaaS and cloud hosting should be clear - client’s don’t need to worry about hardware or local software installations and the software vendor can roll out fixes and updates more easily.

More...

  

You should talk about the technology stack when you decide to ask a software company to develop a bespoke web application. A lot of clients miss this because their supplier has only one preferred technology and so there’s never really a serious discussion about its advantages and disadvantages.

More...

  

Here are 5 useful tips for anyone who is about to commission their first bespoke software development project. I think these are common sense but they may not be obvious to someone who doesn’t have a technology background or who hasn’t worked with a software development company before.

More...