Tag: web app

  • How much does it cost to build an online platform or mobile app?

    How much does it cost to build an online platform or mobile app?

    Cost is a big factor with any investment, and software development is no different. So, how much does it cost to build an online platform or mobile app?

    The answer – it depends. You might be able to get away with $10,000 or it might cost you $200,000+.

    Yes, an infuriating and vague response, but unfortunately, very true.

    Think along the lines of “how long is a piece string?” Software development projects can be small or they can be big. This, of course, affects the cost.

    Factors that can affect cost

    There are many things that can affect the cost of software development. Here are some main ones:

    1. What features and functionality you want (and how complicated it is)
    2. Who will build it
    3. How it will be built
    4. What devices need to be supported

    Let’s look at each of these in more detail.

    1. What features and functionality you want (and how complicated it is)

    There is a direct correlation between how much you want to build and the cost. An app with 50 functions is going to cost more than an app with 10. It just takes longer to build more, than to build less.

    The next part of this relates to how complicated the functionality is. We might both define a product with 10 functions, but they may differ in complexity. Mine might have lots of different rules, require lots of information to be captured and stored, and need lots of calculations to be completed. Yours may just be displaying different types of content that has been loaded into the system. Mine will probably cost more to build.

    2. Who will build it

    It’s no secret that going offshore will get you a lower daily rate than staying onshore. You’re probably looking at a difference of $50-$75 per hour. This can add up over a large project. However, the quality may not be there.

    There is also a difference between using a freelancer versus an agency. Agencies have a lot more overheads to cover, which makes them more expensive, but they usually have better coverage of the end-to-end process, because they have staff to address all of the skill sets needed to build software.

    Another element is the experience of the developer. As expected, if you use someone with lots of experience, it’s going to cost a lot more than if you have an inexperienced one. The balancing act between cost and experience is a tough one. Depending on your budget, it may be worth the risk to give someone less experienced a chance. However, if you don’t have a lot of time to spend on the project, then you’ll need someone more experienced.

    3. How it will be built

    If you’re building a mobile app, then the question of native vs hybrid will often be raised. Native apps are built individually for each phone operating system (e.g. iOS vs Android), and in the language of those operating systems. On the other hand, a hybrid app will be built once, and then converted into apps for different operating systems. The former is much more expensive because you have to build the app multiple times, but it allows you to have a product that is made specifically for that operating system. Hybrid apps work well too – and are often a good starting point – but you have to compromise because you’re building a “one-size-fits-all” product.

    On the web side, there are lots of ways to build a platform. You can use existing platforms like Wordpress to build very functional and experience-rich applications. Or you can build from scratch. This approach can have varying costs too depending on what you want.  If you can leverage an existing platform, it’s probably going to be cheaper than building from scratch. However, down the line, you might have to replace it with something else that allows you to do all the things that you might want to do.

    4.What devices need to be supported

    The number of devices that you want to run your product on will also affect the cost. If you’re only looking at a platform that someone will use on a laptop or desktop, that’s a different proposition to having it work on all device types. Just dealing with multiple screen types adds lots of overheads. Think about the different sizes of mobile screens and you’ll start getting an idea of the effort involved. Even if your product is built to be responsive, you still have to test it on all of these devices to make sure it works as expected. If you want to support touch screens, then there’s even more stuff to design, build and test. A lot more work has to go into making your product work on multiple devices, than making it work on one.

    How much will your project cost?

    Hopefully, you’ve now got a better feel of some of the major things that affect the cost of a software project. There isn’t a standard number that someone can give you.  If you want to know how much you need to budget for, then you really need to talk to a few developers about your specific idea. They should be able to give you can indication of the cost. You also need to find out how different parts of your idea will affect the cost, and where you might be able to simplify things or reduce what you build. This might affect the viability of your idea.

    At the end of the day, you need to know what it’s going to cost to make your idea a reality. This also includes all of the other costs that you’ll incur to launch your product. To give yourself the best chance at success, make sure your budget can cover it all.

    Looking for a developer?
    Get my 10 Essential Tips for hiring the right developer for your project.
    Download it now for free!
  • What’s in a web application?

    What’s in a web application?

    You have an idea for a web application (a.k.a app or platform), but what does that actually look like? If you think about building a house, you have a foundation, a frame, walls, a roof, plumbing and electrical wiring.  All of these things are important to the finished product.  You should think about your application in the same way.  It’s made up of a bunch of different components.  Depending on the type of application, these components will be needed to make your product work.

    Since, I’m always trying to find ways to explain technical concepts to people with non-technical backgrounds, this article is going to take you through the components of your future product.  This will help you to understand what you’re aiming to build. Mobile apps are slightly different, so I’ll look at that in another article.

     Here’s a simplified diagram of your web app:

    As I started to create this diagram, I realised that there were a lot of things we just take for granted. We turn on our phones, open up a web browser, go to a website and it all just works. It’s obviously a little more complicated than that! So, when I say a “simplified” diagram, it really is! For now though, it’ll suit my purpose for explaining some basic concepts to you.

    Some of these explanations may sound obvious, but for the sake of making sure that everyone is on the same page, please bear with me.  

    Device (hardware and software)

    Let’s start at the top of the diagram. The device (your phone or computer) is a physical piece of equipment through which you access your application. This is called “hardware”. When you turn on your phone or your computer, the thing that makes it work is called “software”. Without software, you phone is like a paperweight – it does nothing! The software associated with making the hardware work is called “operating system” (or O/S) software. The individual programs and apps that allow you to do things on your phone or computer (e.g. a web browser) are also called “software” or “applications”.

    Software is a collection of programs that provides instructions to do something and it can be written in many different coding languages. Programs themselves are a collection code used to perform a function. The code uses specific terms and formats to instruct the device on what to do – this is dictated by the coding language chosen. I’ll save a review of different programming languages for a different post as there’s a lot to cover there.

    Front-End

    The “front-end” is composed of all of the things that you see on the screen. It also includes some smarts to help you navigate the app, capture information and trigger activities within your app.

    The level of complexity on your front-end will depend on the types of things that will done via the screens. For example, if you’re just displaying information that never changes, then that’s a lot easier than a page showing search results on a map; where you can zoom in and out on the map, select an object and view information about it.

    Back-End

    The “back-end” refers collectively to the programs and data storage for an application.

    Back-end Programs

    Back-end programs do the heavy lifting – they allow you to do things like store and retrieve information, make decisions, and perform actions by applying logic to information provided by the front-end. Think of it as the engine behind what you end up seeing on a screen when you make a request for something.

     Some examples of back-end programs include:

    • Creating an new user account
    • Validating a login request
    • Retrieving a list of items based on search criteria
    • Calculating values for a report
    • Making a decision on a customer appliction

     As you can see, the back-end is just as important as the front-end. Together, they work with some sort of data storage facility to make your app work.

    Data storage (a.k.a. a database)

    Information that is captured by your app needs to be stored somewhere so that it can later be retrieved, displayed or processed at a later date. This prevents a person from having to re-enter information over and over again. The data held in the database can also be generated by the app itself. This might include things like the date the information was entered or an internal status for a person’s account.

    For web apps, data is usually stored in a centralised database where the information for your app and all of your users is held in a single place.

    There are alternatives to a “database” which is why I have termed this “data storage”. For now, the important thing to know is that data for your app will be stored somewhere and programs will be written to access and update it.

    Application Programming Interface (API)

    So how do the front-end and the back-end talk to each other? This is where APIs come in. An “application programming interface” is a program that allows two applications to talk to each other. Those applications may belong to you or to someone else.  APIs take a request from one application and provide it to another application to process. It also provides the response back to the original application. In your case, this conversation will mostly take place over the Internet.    

    Some APIs are standard – for example if you want to embed a Google map into your app or if you want to add email addresses to a MailChimp list. This allows companies to establish consistent methods for applications wanting to communicate with them. Think of them as a published manual with the available ways to contact an application and the functions you can access. This manual will also tell you how to make the request and the format that is required.

    Other APIs, like your application, may require some customised coding to work. However, for most functions, there’s probably already a template that your developers can start with to achieve the required result.

    Host (hardware and software)

    Your app (front-end, back-end and datastore) has to be loaded onto a piece of hardware to work. Otherwise, they are just letters and numbers on a page. That piece of hardware is called a “server”. It’s a physical device that has the capacity to run programs, manage all of the requests being sent to it, and store data. These machines can range in size and the specifications will depend on the needs of the application and the number of people accessing it. These servers also have software that allow you to monitor their performance and manage the content on them (think uploading and downloading files and programs, and managing security).

    As you can imagine, at the beginning, most of us will not be buying and running our own servers, so we’ll use companies that specialise in this. These companies are called “hosts”. They offer services, called “hosting” that provide the hardware (e.g. servers) and the software to run your app.

    Hosting and choosing a hosting service deserves a whole article of its own, so I’ll leave it at that for now. Basically, to make your web app work and to make it available to people, you’ll need a host.

    What does this mean for you?

    So, there you have it – the components of a simplified web application. It turns out there’s a lot there!

    It’s important that you understand all of these different components so that you have a reference point when a developer starts talking about them. It also helps you to know what you’re actually building.  Finally, you now have an idea of the types of expertise that you’re looking for when putting together your development team.    

    If you have any questions or if something about this isn’t clear, please feel to let me know in the comments below.  

    Do you need some help to make your web application a reality? Send us your details and we’ll set you up with 30-minute discovery session to get you on the right track:

    * When you sign up for a discovery session, we’ll also add you to our mailing list so you can receive emails from us (with your consent). These emails will include news and updates, occasional offers and promotions, and exclusive content and resources to help you on your development journey. You may also receive follow-up emails in relation to this session. We will not spam you. If you don’t wish to hear from us anymore, simply select the unsubscribe option at the bottom of any email that we send to you.To view our privacy policy, click here.

  • I have an idea for an app – what happens next? (idea validation)

    I have an idea for an app – what happens next? (idea validation)

    Getting a great idea for a new business venture is such an exciting feeling. Finally – you have something that might have legs but you’re still on the fence about what to do with it. It’s such a risk, but can you imagine the life that you might have – the flexibility of being your own boss and hopefully some financial rewards too? If you already run your own business, a new idea may allow you to grow your revenue and allow you to serve more customers.

    For some people, ideas are relatively easy to come by; for others, they struggle with coming up with just one.  However, it’s the ones that require you to build a web platform or mobile app that I’m interested in.

    There are many businesses that people can start and all of them have their complexities – if you want to design and make your own clothes, you’ll have to source fabric and manufacturing. If you want to sell other people’s goods, you’ll need to find those suppliers. If you want to be a consultant or service provider, you’ll have to decide what you want to offer and how you’ll deliver it.

    What makes developing an app particularly troublesome is the cost to build it.  Also, compared to physical goods, it’s not as easy to see a “sample” of your app before you put in the big order, which makes it difficult to know what you’re getting.     

    What should you do?

    If you’ve never been involved in an IT project before, an obvious question once you get your idea is – what do I do next? It’s a very smart question to ask! Before you quit your day job or bet the house on your new venture, let’s take a look at what your next steps should be. 

    If you read my first article on product and software development – you’ll know the answer to this question! 

    After you’ve come up with an idea, you need to analyse or validate it. This is the process of making sure that the idea is the right one to pursue. Making your idea a reality is going to require some investment from you – and it’s not only going to include your time.  More importantly, it’s going to include your money. Therefore, you need to take some time to research your idea to make sure the investment is worth it.

    Idea validation is a necessary step for most businesses, large and small – and it should be no different for you. The last thing you want to do is to spend money on an idea that no one wants. A structured approach to evaluating your idea is key. 

    So, what exactly are you looking for?    

    To get you started, we’ve put together five ways you can validate your idea:
    1. Talk to potential users – use your social media platforms to see if anyone knows anyone who has experienced the situation that you want to solve for, then ask them about their experiences and find out what their issues were. Determine if your product could solve their problems. Alternatively, start with a survey via SurveyMonkey or Typeform to get some feedback about your idea and then interview some of the people that responded.
    2. Look at your potential competition – use a search engine to see if there are any other companies currently doing what you want to do. Determine if what you could offer is at least as good, if not better, than what they do now. Also look at companies that solve the same problem but in a different way. Would you be able to stand out from the competition? 
    3. Look at potential environmental factors that may affect the viability of your business – are there new laws or regulations being proposed? Are there changes in technology? Are people behaving or thinking differently? A lot of new product successes are about timing rather than the product itself – if the world isn’t ready for it, it will be a lot harder to be successful regardless of how good the product is.
    4. Determine the potential size of your market – look for statistics that can give you an indication of the number of people that might experience the problem that you want to solve. What percentage of those people might buy your product?
    5. Think about how much you might charge for your product – would the price be one- off or recurring? Would there be an upsell or downsell? How could you get your customers to buy more from you? How many products would you have to sell to achieve your desired goals?
    What happens next?

    The above will give you an initial view of whether your idea is a good one. Sometimes this is enough for you to make a decision, but more often than not, you’ll have to dig a little deeper to gain the confidence that you need to go ahead with building your app. 

    There are lots of things to look at when validating an idea!  If you work for a large organisation, think about all of the processes that they put in place for spending money on new things.  People have to justify to the company why the idea is the right one to pursue.  

    It’s important to remember that you can’t take the risk out of every investment, but you do want to get enough information to make an informed decision about your idea.  After all, building an app could have a very big impact on your life  good or bad. So, the obvious is question it  why wouldn’t you take the time to validate your idea first?! 

    There are many different things to look at when validating an idea and different ways to do it. If you’ve gone through this process before, please feel free to share what you’ve done in the comments below.

    Want a blueprint for validating your idea?
    My Validation Course will walk you through some key tasks and activities to make sure your idea is worth pursuing

    It’s available now for only $47.

    * When you download a copy of our cheat sheet, we’ll also add you to our mailing list so you can receive emails from us (with your consent). These emails will include news and updates, occasional offers and promotions, and exclusive content and resources to help you on your development journey. You may also receive follow-up emails in relation to this download. We will not spam you. If you don’t wish to hear from us anymore, simply select the unsubscribe option at the bottom of any email that we send to you. To view our privacy policy, click here.