In my last email I told you about my new Freelance Your App course and I wanted to give you some background on it and give you a sneak peek at what you can expect. Also I made a mistake in my last email with the course opening and closing - we will be opening enrollment for the course on January 20th and enrollment will be open for one week, closing on January 27th.
A few weeks ago I was working from a restaurant and one of the folks next to me asked what I was working on. At the time I was doing some wireframes for a client's project (which look like pictures). We began talking and he was very curious about this process of taking some notes, turning it into a picture, and that someday my client would have the application they had been asking for. He went on to explain that he was a manager at a bank and he and his wife were expecting their first child...and then spent the next 20 minutes talking about an idea he had for an app that would allow expecting parents to easily connect with others in their same situation to arrange child-care, exchange ideas, and be the 'help-line' when each other ran into the challenges of parenting for the first time. The problem he was trying to solve was two-fold: He imagined this app would be self serving in connecting he and his wife with others, and secondly he was looking for a way to earn some extra money (kids are expensive!).
Similarly my wife, who has been around since my very first project, has an idea for a shopping and subscription service that will help her eliminate having to shop for things that we use every day or week and don't really think about (paper towels, milk, coffee). She also confessed to me that she has no idea of where to start with getting it developed, how to charge users for the service, and how to make sure that the picture in her head will be what she gets.
Whether or not you made it through my last email, I wanted to see if you identify with any of the following:
- You have a great idea for an app but don't know how to get started or there are things standing in your way from getting started.
- You have a great idea for an app and have started working on it but have some questions or have run into issues.
- You don't know what you want to create, but you know that you'd love to have recurring income from selling an app or subscription.
If any of these things sound familiar to you, I want to give you all of the tools that you need in order to move one step closer to having an app of your own to use, sell, or both. The next few emails youâll see from me will give you a background on application development and the process that I walk through in the course.
When it comes to developing an app (Iâll use âappâ to mean any piece of software, not just mobile-based), you have two main choices: a) you could learn to write code and develop it all by yourself, or b) you can hire someone who already knows how to write code (a developer) and have them do it for you. Before I get into the advantages and disadvantages of each, letâs go through the main components of an application. Note that this wonât be conclusive but will lay out (generally) the components of an application.
Graphic Design & Graphical User Interface â Often called âGUIâ or âUIâ the graphical user interface is the part of the application that everyone who uses it will see. It represents the buttons, links, pictures, navigation, etc that people will utilize in order to realize the functionality of your application. A UI starts out life as a picture, normally done in Adobe Photoshop or Indesign (or both), it is a multi-layered file that shows others what the screens will look like.
Database â Most applications will need a place to store data, whether it be data about users, friends, locations, restaurants, or products, the records are normally stored in a database of some sort. Most modern databases come in one of two main varieties: Structured Query Language (SQL) or Document (or schema less). Which version and technology of database will largely be determined by the familiarity of the person or team creating the application, but there may or may not be specific requirements that drive the decision of what database technology to use.
Application Framework â Applications are written in one of several computing languages that have an interface with the database, make up the User Interface, and describes and determines all of the business logic that the application will use. There are dozens if not hundreds of application frameworks and programming languages, and here again the decision will largely be driven by familiarity of the developer or team that is working on the software.
Hosting Infrastructure â In order for an application to be âusedâ it needs to be hosted somewhere. Just like software that you download or install resides on your laptop or computer, your application will need to get âinstalledâ or âdeployedâ to a hosting infrastructure (often called âenvironmentsâ) in order for other people to be able to access it. You have no doubt heard of the âcloud,â but there are other hosting infrastructures and locations as well. Here again you will largely be deciding this based on what the developer or team is comfortable with.
Payment Processing â Assuming that youâre not giving your application away for free, there are a number of ways for you to get paid when people buy or use your app. For mobile-based applications, the Apple and Google Play app stores have built in payment processing so that you donât have to worry about it (you do give up a significant portion of your revenue to their fees, though). If you are developing a stand alone web application, you will likely be incorporating some sort of payment gateway in order to accept credit cards.
So thatâs it â 5 main components to almost all applications that you use. Your app will most likely have these 5 along with maybe many more, or many more details behind the scenes. The question then becomes whether or not you would like to develop the app on your own or hire someone (outsource it).
First the advantages of doing it all yourself:
- You get an excuse to learn a lot of new things. For some people developing their own app by themselves is an excuse to learn about things that perhaps they have always wanted to but never had a reason. You will know the ins and outs of every part of your app. If something needs changing down the road, youâll know what to change.
- Defect? (Yes they happen). Youâll get to figure out and troubleshoot so you can fix them. You can do it on your schedule. No one to pressure for a release date, itâs just you and the application and can go as fast or slow as you like.
- Costs less â sometimes a lot less. Because itâs only your time you can spend as much or as little as you need to. You could outsource some parts that you donât want to learn and still spend less. Think of it like finishing your own house â you get money from âsweat equity.â
The disadvantages of doing it yourself:
- There are a lot of things to learn â learning everything from UI design to hosting to backups to database to writing code, web services, etc is a lot to bite off. Having to get a little familiar with a lot of things and doing so quickly might be overwhelming
- Troubleshooting & Downtime â defects happen and usually at the least opportune time. Doing it yourself most likely means not only learning it but having to take crash courses in more advanced topics (security, database restoration, etc)
- Time â most often the biggest price youâll pay in trying to do an app from zero to launch yourself is that it just takes a lot of time; This is doubly true if youâre starting from ground zero and learning to write code at the same time as trying to launch your product
- Distraction â a close cousin to Time is that there are a lot of things youâll have to be focusing on â and quite frankly the least of which is getting the software written: marketing, positioning, blogging, etc are just as important as writing the application.
The advantages of outsourcing:
- Typically you can find some incredibly talented people to work on your application who already have a ton of great experience in building, hosting, supporting applications so you wonât have to worry about having to learn a lot about a lot of things
- Speed â by having people who are familiar with writing software AND launching, you can typically get your application launched much more quickly
- Support â often times youâll be working with a team of individuals who are used to working together; This way you get the best of all situations where if one person gets sick or is away from work youâre not stuck waiting
- Existing frameworks â most developers and teams have a bunch of components âon the shelfâ that they are used to working with. If these can be leveraged for your project youâll save a ton of time and money not working on things that are common to many applications, like registration, password reset, payments, etc.
- Time â by having other people work on your project you are free to spend time doing other critical things like marketing, blogging, etc. to get your product launched
The disadvantages of outsourcing:
- Communication â by far the biggest challenge with outsourcing the development of your app is communication; the people who are working on your app may or may not be culturally similar and may not understand the domain of your app
- Control â by letting other people do the work on your project, you give up 100% control of the outcome and must seek success through otherâs success
- Cost â paying someone to do the work is more expensive than doing the work yourself from a pure financial perspective
The list of advantages and disadvantages for each approach is certainly not exhaustive â in fact depending on the app and its functionality, some of the items may not apply and there will be others in addition no doubt. Having said that, regardless of who you have do the work on your app, the important thing is to get moving on it!
Stay tuned for my next message where Iâll walk you through the first step in this process and give you some things you can do (immediately) to get started.
Peter
This message was sent to {EMAIL} from contact@redpointrack.com. To unsubscribe at any time, click the link below.
RedpointRack LLC | 4247 San Marco Drive Longmont CO 80503 | 877.694.4037
[Unsubscribe]