Author: Lance Olson
How App Development is Done
Application development UI illustration in flat design. Mobile app building concept banner with industrial crane and team of workers developing and constructing applications. App development company.
There is a constant need for apps to help employees and everyday people complete tasks. Developing an app of your own can be both helpful for the general workforce and lucrative for yourself. The following is a step by step approach for how app development is done.
1. Brainstorm
The first step in developing an app is to decide which kind you should make. Take note of the different tasks you do at work or at home and see if any of them can be automated. Write down all the ideas that come to mind, even the bad ones. In my experience, bad ideas that don’t get ignored lead to good ideas, so write them down. Take a look at other apps on the market and determine if they are lacking anything, or if there are ways they could be better. All of this will help you pinpoint what sort of app you should develop.
2. The Design Document
Once you know what kind of app you want to build, the next step is to put it into words in the form of the design document. The purpose of this document is to keep the development project on track. The design document outlines all of the features and abilities you want your app to have. For more information on writing a design document click here.
3. The Prototype
Now you’re ready to actually build the app. You’ll start by creating the prototype. This will be a rudimentary version of your app. At this point, the main concern is to get all of the functionality in place. The prototype doesn’t need to be beautiful, the art and design of the app (while important) will be one of the last things to work on.
4. Testing the App
There will be a plethora of bugs to work out. The bugs come from mistakes in the code, weird usage the app’s design didn’t account for and other reasons. Testing will help you find the mistakes so you can fix them before your end users find them. Try to throw every conceivable scenario at your app to make sure it can handle them properly. When you’re working so close to an app, it can be hard to step back and spot problems that fresh eyes could find. For this reason, you’ll want to have friends and family test your app to further uncover any bugs.
5. Polishing the App
Now that you’ve finish testing and fixed all the bugs you were able to find, you’re ready to polish your prototype into a finished app. This includes choosing attractive color schemes, borders, buttons and art that you want to include in your app, as well as organizing your menus in a way that has a logical flow. Typically a skilled UI designer would work on this part, but that would add significantly to the cost of your app. If a UI designer is not within your budget then at the very least make sure your app is both easy to use and pleasing to look at.
6. Distribution
Now your app is finished and ready for distribution. There’s a few ways you can get your app to the masses. If you designed your app for a particular operating system, there are online digital stores you’ll be able to sell it in. For example, if you designed your app for Android devices, you’d be able to sell it on the Google Play Store or even on your own website. Document your apps features and include tutorials and screenshots. If you distribute and sell the app through your own personal website you’ll need both a server and a decent digital payment system, respectively.
If you have an idea for an app and would like our team of developers to build it for you, contact us by clicking here and get started with a free one hour consultation.
Hold On. Do Apps Honestly Need My Permission? Check These 3 Permissions Now.
We’ve all done it before, got bored, downloaded an app and (without a second thought) gave it permission to access our camera, microphone and contacts list. While there are legitimate reasons why apps may need access to your camera (like a video calling app) other times it makes no sense, like if a solitaire game app needs access to your microphone. Nowadays it’s necessary to think critically about the permissions we grant to software applications.
What are Mobile Permissions?
On both iPhone and Android, apps require your permission to access sensitive data on your phone. This includes but is not limited to: contacts, your camera, photos, your microphone, etc. The app retains this permission until it’s disabled. Sometimes you’ll be given an option to grant permission to the app at all times or just while the app is in use.
The Camera
Giving an app permission to access your camera or photos shouldn’t be taken lightly. Technically, by doing that, the app can take pictures and video with your phone, anywhere, anytime and could potentially post them online. I’ll let your imagination help you conclude why that could be a problem. If an app has a legitimate reason why it needs to access your camera, like sending video clips via Snapchat, or Facetime, then it makes sense why they need to have access to your camera. In cases like that, you’re most likely fine to give it permission. However, if an app wants to access your camera or photos, and there’s no feature in the app that warrants it (like a mobile card game or reading app like Kindle) then that’s a huge red flag and you should probably deny it permission.
The Microphone
The microphone can provide data every bit as sensitive as a camera can. Since our phones are on or near us almost every second, we probably don’t think twice about what we say around them. But if our phones had ears (and they do) what would they hear us talking about? Would they hear us mentioning PIN’s or social security numbers. Would they hear us give passwords, birthdays or email addresses? Usually, when an app asks for permission to access our microphones, it gives us the option to only grant it while the app is in use. Some apps will use your phone to listen to what shows and movies are playing around you to give advertisers a better idea of how to market to you. While that example isn’t super distressing, you don’t have to think far to figure out how access to your microphone could be used for more insidious purposes. Again, for this reason, think hard about whether or not an app really needs access to your microphone. If you can’t think of a good reason, then there’s a good chance that app wants to use it for iniquitous purposes.
Contacts
Apps that have some form of messaging usually ask for permission to access your contacts. This can be helpful to find out who else in your contacts list is also using the same app. But once again, if it doesn’t make sense for the app to use your contacts list, then it’s not a good idea to give the app access to it. For example, if you’re a sudoku buff and download a mobile version of the SINGLE PLAYER game, there is zero reason that app needs your contact list. Usually games like this and solitaire, where players don’t interact with other people, will want to use your contact list to send spam out in order to get more people to download the app.
What Technical Skills App Development Teams Must Have
Your business is booming and you’ve got an idea (and a need) for an app that will make managing your enterprise 100% easier. You start searching for a team of developers to create your new app. What skill sets should you be looking for in this development team? The following are 5 technical skills you will want your app development team to be well versed in.
1. Cross-Platform Abilities
One of the most polarizing topics in our society is whether Android or iOS is better than the other. Regardless of what side of the platform aisle you fall on, in order for your app to be a success, you don’t want it to have to pick a side. For this reason, your team of developers needs to know how to use a cross-platform tool, so the app can be neatly translated into iOS, Windows and Android.
2. Cloud Infrastructure
Have you ever stopped and wondered what the cloud actually is? The name conjures an image of a giant area in the sky where a bunch of 1s and 0s fly around until summoned to our phones or desktops. In reality, the cloud physically exists as a network of data centers (giant complexes with lots of computers inside) located around the world. Most apps will live in these data center networks, so it’s important that your app developers know how to interact with them and be able to recommend which network will fit your needs best.
3. Current Coding Language
The world is getting increasingly more mobile, so you’ll want to make sure that you team up with developers who are skilled at coding for mobile apps. There is an array of different coding languages well suited for mobile app development. Your development team should have a working knowledge of at least one of them and be able to explain why they selected that coding language to build your app.
4. Security
It goes without saying that security is essential for your app. While it’s true there will always be a risk, minimizing that risk is crucial. Your development team needs to have a clear understanding of security protocols as well as what tools and practices will be the best to secure your app.
5. Data Proficiency
Your app will be driven by data. Data is something your app needs to collect a lot of, so you can better understand your end results. You’ll need a developer who can build efficient databases so the app will run smoothly. Your app will collect data in many different forms and from many different sources. The development team needs to be familiar with these sources and forms of data so the app can interact with them properly.
Apps can make a world of difference for your business. They can increase sales, streamline processes, save time, improve productivity, security and more. In short, an app is well worth the investment. If you have an idea or need for an app, contact us today to get started.
What Coding Languages are Most in Demand
When starting a career for an app development company, you’ll want to set yourself apart from the crowd by knowing what coding languages are most in demand. One of the best ways to make yourself more marketable is by being proficient in as many high-demand programming languages as you can be. Learning a programming language takes time and energy, so you’ll want to focus your efforts on learning a language that will give you the best return on your efforts. The following is a list of 5 programming languages that any software developer would do well to have under their belt.
1. JavaScript
At the moment, JavaScript is one of the most widely used programming languages in the world and many hiring managers look for programmers who can use this language. JavaScript is popular because most web browsers utilize it and the language is one of the easier ones to learn.
JavaScript is used for game and web development, building web servers and mobile apps. Programmers can use JavaScript to make web elements like clickable buttons, interactive maps and animated graphics. JavaScript’s usability makes it one of the most marketable programming languages developers can learn.
2. HTML
HTML stands for Hyper Text Markup Language and is the foundational building block language of the web. This language is used for web documents, website maintenance and development. HTML formats what information means and how it is structured on a website. Programmers use HTML to structure and create the text on a website such as links, headings and paragraphs.
HTML is another commonly used programming language that will help programmers look more attractive to hiring managers.
3. Python
Python is a somewhat easy programming language to learn and is used by both beginning and experienced programmers. Python is in high demand and allows developers to utilize an array of different programming styles like reflective, functional and object-oriented.
Over half of hiring managers look for candidates who can use Python making this programming language a very marketable one to know.
4. CSS
CSS stands for cascading style sheets and is used for website development/design and web documents. CSS programs the size, position and color of the elements on a webpage. Knowing this language helps programmers be a bit more versatile, plus it’s a relatively easy language to learn.
5. PHP
PHP is a very popular scripting language used for making dynamic web pages. Also, common open source shop systems are carried out in PHP. Learning this programming language helps developers become more valuable and attractive to employers. PHP is also free to use because it’s an open source framework.
Don’t get hung up on which programming language you choose to learn. Decide on what kind of work you want to do and choose the language best suited for your goals. At the end of the day, learning any new skill will increase your abilities and make you more marketable to hiring managers.
What Software Does, Software Solutions Explained
Before I started working at a software company, I would drive down the freeway flying by billboards advertising some sort of techy product or past industrial complexes sporting a name like “Blah Blah Software Solutions”. But one day I finally paused and asked myself, “What exactly are software solutions”. I know what software is and I also know what a solution is (I assumed in this case the term “solution” referred to a fix for a problem rather than one of those soapy liquids people spill in chemistry class). Simply put, a “software solution” is when a computer app is used to to do a task.
The Vegas Waiter and Software Solutions
A software solution is a little more involved than the above definition, but I have a really good example. I use to be a server in a restaurant in Las Vegas. I would jot our guest’s orders onto a paper pad and then I would take that paper over to a computer and I would enter it into a “software solution”. The name of our software solution was “Aloha”. Aloha was great. Using this software I could see all of the tables in the dinning room. The software enabled the computer to show me which tables had guests seated, which tables were closed out and which tables were being worked on by another server or manager. Not only could I see the status of tables, but I could enter a table’s order, call for refills, split the check, close the check, clock in, clock out, enter my tips and activate gift cards. There was so much I could do with Aloha.
Chaos Hits
When the pandemic hit in March 2020 and the whole world screeched to a grinding halt, software solutions were employed to get the world moving once again. Technically, we had the technology, long before the pandemic, to work remotely, however it was utilized in full force during the outbreak in an attempt to keep people home and slow the spread of disease. At the time, and still today, employees are using software solutions like Zoom to conduct quasi face to face meetings and other products to complete reports and send data right from the comfort of their own homes.
Nothing Exotic
Before I actually stopped and thought about it, I would hear terms like software solutions and automatically think I’d need a degree in software engineering in order to understand what it was. But a software solution is nothing exotic and usually isn’t even difficult to use. What is a software solution you use on a daily basis? What are some software solutions you think need to be invented? If you have an idea for a useful app, contact us and let us help you build it!
What Are Story Points Used For?
The Developers Kept Saying Story Points
I sat in a meeting recently, with a group of developers discussing what we had accomplished at work that week. We went around the room, dishing out numbers for different projects we were working on and I noticed something strange. The developers kept on telling the group how many “story points” they had done. I think I should point out that I am not a developer and their lingo is still somewhat foreign to me. I was intrigued. Part of me knew a story point probably wasn’t very interesting, but another part of me imagined the developers putting together plots and storylines for a Dungeons and Dragons quest. So what are story points used for?
Story Points are a Strange Unit of Measurement
I guess anything new can be a little strange, and story points were strange to me. I talked with David Sutherland, one of our awesome developers, and asked him what story points were. (We actually made a video about them. I’ll post it at the end of the blog). Anyway, David told me that story points are a way for developers to measure the amount of work they need to do. Before the developers start building an app for a client, they need to be able to give the client an estimate of how much the app will cost to make. Apparently, as I found out in my research, estimating how much time it takes to develop an app, is a notoriously difficult thing to do. Difficult enough, in fact, that app developers worldwide have adopted story points as a unit to measure the work needed to build apps.
How are Story Points Calculated?
It’s easier for developers to estimate the number of steps it’ll take to make an app, than it is to estimate the amount of time it’ll take to build said app. They’ll break the project down into smaller steps and assign those steps (or tasks) a number. A task with a higher number, will most likely take longer to complete, than a task that is assigned a lower number. It gets trickier though. There’s a level of uncertainty associated with any task that needs to be completed. This means that when a developer is working on a step, they won’t know how long it will take to complete, until they’ve actually started working on it. The reason for this is because unforeseen challenges can arise that will slow down the process. I should probably note that a task or step with more uncertainty is given a higher story point value. Different development teams attach different time lengths to story points, but it can work something like this: 1 story point = .5-2 hours, 2 story points = 2-4 hours, 3 story points = 4-8 hours, 5 story points = 8-20 hours.
Why do They do This?
So why then, do developers spend so much energy trying to accurately estimate work? The answer is money. In the video David and I made, I had already figured out why this was important, but I asked him anyway, why these estimates were so critical. He told me, that underestimating the time needed to build the app, would result in the client spending more money on the app than initially budgeted. On the other hand, if the project was overestimated, the higher price could scare customers away. Hence, being able to accurately estimate the amount of work/time needed to build the app is entirely necessary to make sure we don’t overcharge the client.
Our team of developers are highly skilled in both programming AND estimating story points, so they can build your business a quality app at an affordable price. If you have an idea for an app you’d like us to build, contact us.
3 of the Best Apps for Sales
The job of a salesperson is known for being cutthroat and uber competitive. So it makes sense that any person working in sales will want to equip themselves with the strongest tools to give them the best chance possible at making sales. Afterall, high-performing sales teams tend to use about 3 times more tech than their under-performing counterparts. Here at Matraex, software and apps are our thing, so we’d like to point out 3 apps every salesperson should be using to give them a more competitive edge.
1. LeadSquared Mobile CRM
If you’re new to sales, you maybe wondering “what the heck is CRM”. CRM stands for “Customer Relationship Management”. A CRM is a robust system that centralizes information about clients and prospective clients, such as name, age, contact info, order history, contact history and even their personality traits. In the past, the CRM was confined to the office, leaving the field reps out to dry, as they didn’t have access to the information when they weren’t in the office (a field rep can only bring so many papers and lists with them while they’re hitting the pavement around town). Now however, mobile CRMs are a thing, so the field reps have access to all valuable client information even when they’re out of the office. LeadSquared is currently one of the best in the industry when it comes to CRM systems. With all the information their system holds, they do a great job displaying it all, even in an easy to read format.
2. DocScan
This is a big one. There are countless times that important documents need to be scanned, sent and verified before a sale can go through. If you’re in the office with a copier handy this isn’t a big deal, but if you’re in the field it’s a problem. First you have to get the document from the client. Then you have to take the doc all the way back to the office to be scanned. Then of course the document needs to be returned to the client. It’s time consuming and you’ll probably need to be holding on to multiple documents from different clients at the same time, increasing the chances of mix-ups and human error. Also, can we just point out that anything can happen in between the field and the office, papers can get wet, wind can blow it out of someone’s hand, the car could break down. DocScan is a lifesaver and eliminates all of these problems, while saving time and increasing productivity. With DocScan, the client shows you the document, you can scan it and send it with your smartphone back to the office immediately. How easy is that? Plus, get this, the app is free.
3. Keynote
As a sales person, you’re frequently making pitches and presentations. Sometimes words aren’t enough and in order to really sell your product you’ll need to present it with visuals, enter Keynote. Keynote is pretty much powerpoint for tablets and phones. You could literally do a presentation (with visuals and animations) at your table during a business lunch. What’s more (and super cool) is that you can cast your screen onto a smart TV and do a presentation straight from your handheld device, no desktop needed.
The Best Apps for Sales: Concluding Thoughts
Yes, the sales world is fast paced and competitive (which if you ask us, is kind of the thrill of the job) but there’s never been a better time to be a salesperson. We just mentioned 3 apps that every salesperson should be utilizing, but there’s a lot more than three. Arm yourselves with some impressive apps/tech and see how much your sales will improve.
If you have an idea for an app you’d like us to build for you or your business, contact us.