Mobile App Development: 8 Best Practices - InformationWeek

InformationWeek is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

IoT
IoT
DevOps
News
6/26/2016
12:06 PM

Mobile App Development: 8 Best Practices

Creating great mobile enterprise apps isn't necessarily easy, but it can be easier if you follow these eight critical tips.
2 of 9

Start With Security

If the app you're building matters to the company in any way, then it's almost certain to involve sensitive information or information that is private to the user. In either case, you need to keep that information secure. You should start the process of thinking about security at the beginning of the development process, not the end. 

Thinking about security from the start means knowing what kind of input you'll be dealing with so you can build data testing into the app. It means understanding the network components and communications mechanisms so you can secure the data in transit. Security means knowing what authentication mechanisms are in place and what ones are available for use, so you make sure only authorized users get involved with data. It means a lot more, too.

Ultimately, though, it means building security into the app rather than bolting it on at the end, and that's the critical difference. So make sure that the very first whiteboard at the start of the project has 'security' on it -- your users and your organization will be grateful you did.

(Image: geralt via Pixabay)

Start With Security

If the app you're building matters to the company in any way, then it's almost certain to involve sensitive information or information that is private to the user. In either case, you need to keep that information secure. You should start the process of thinking about security at the beginning of the development process, not the end.

Thinking about security from the start means knowing what kind of input you'll be dealing with so you can build data testing into the app. It means understanding the network components and communications mechanisms so you can secure the data in transit. Security means knowing what authentication mechanisms are in place and what ones are available for use, so you make sure only authorized users get involved with data. It means a lot more, too.

Ultimately, though, it means building security into the app rather than bolting it on at the end, and that's the critical difference. So make sure that the very first whiteboard at the start of the project has "security" on it -- your users and your organization will be grateful you did.

(Image: geralt via Pixabay)

2 of 9
Comment  | 
Print  | 
Comments
Oldest First  |  Newest First  |  Threaded View
Richeux
50%
50%
Richeux,
User Rank: Apprentice
6/26/2016 | 8:51:20 PM
Requirements Gathering
After reading your post my BA classes actually make sense. All 8 Best Practices slides you're describing must be linked together and recorded in one centrelised location. So the teams can collaborate efficiently and effectively. Requirements gathering is key, but the language in which these requirements are recorded is absolutely crucial. Especially for businesses outsourcing the Developement of an App.
hiren184
50%
50%
hiren184,
User Rank: Apprentice
6/27/2016 | 2:23:06 AM
Each Mobile App Project has allmost different steps
Excellent post!! As per my mobile app development projects which I have done, there were almost different steps to follow. Its totally depended on app category. 
TerryB
50%
50%
TerryB,
User Rank: Ninja
6/27/2016 | 1:10:46 PM
Prototyping a given
And it has a cost you might have to eat. We are an IBM i5 server shop for LoB systems, many of which are still old school green screen. I use Sencha Extjs to write HTML5 apps using i5 as the server. 

We started making a new product which the tooling on the machines is a crucial component of success. Hundreds of parts, eventually thousands. So the company built a toolroom with defined locations to track tools going in and out. So early on, one of engineers (not a user actually making any transactions on tools) wanted to be able to use barcodes to scan the tools in and out of toolroom with a mobile device. 

Absolutely nothing wrong with idea, although I encouraged them to walk before they ran. So wrote the core server code, with green screen interface, to accomplish the needed transactions. Keep in mind the biz requirements were not even fully developed yet. The engineer thought it would be like grocery store where you scan one code and are done. Reality was the parts showed up from vendors with no barcode you could even scan, you had to look up what our Part No was by using the vendor's SKU.

Then when they used part, they needed to know which machine was going to use the part. So that meant a drop down box to choose which machine. And you also had to specify which toolroom location you were taking from. I could "suggest" the default location from server once they told me which part. But we have overflow areas, they could come from more than one place. So that is another drop down you may have to use. Then you have qty, which defaults to one but may have to be changed.

So you get point, this simple "scan and go" app was not going to work like a grocery store, different requirements. To even prootype this for them, I had to buy a $300 iPad mini and barcode scanner peripheral for $500. In hindsight, should have prototyped with built in camera to read barcode. Too clunky for production use but would have worked for prototype. Because as you might have guessed, by time the actual users tested and realized they had to use all the drop down inputs and virtual keyboard (if qty not one) on a machine issue, plus have to look up our Part No from vendor SKU on put away of new part, they ended up just using the green screen terminal which was just sitting there in toolroom anyway. 

So a perfectly good hardware of $800 with an app optimized for what it needed to do is just sitting there collecting dust. As a developer, I loved the experience. I had been waiting for opportunity to write a Touch app on a mobile device. So I've added that to my skillset for future. But it did not payoff from company's point of view and really nothing I can do about it unless they change the biz requirements of what the app needs to do.

But until actual shopfloor users could touch the device and use the app, they could not give any feedback. If you are writing phone app, no investment other than writing the code. But in our case, took a small investment just get something in front of users to give feedback on. 
DDURBIN1
50%
50%
DDURBIN1,
User Rank: Ninja
7/1/2016 | 11:20:51 AM
Re: Prototyping a given
There are plenty of "process" tools to develop a work flow as a basis of requirements gathering.  Jumping on an "idea" with immediate developement action usually leads to a lot of wasted time and effort if real requirements are not set down first.  Prototypeing is great once there is a common understanding of the primary goals.
TerryB
50%
50%
TerryB,
User Rank: Ninja
7/5/2016 | 11:05:46 AM
Re: Prototyping a given
@ddurbin1, I hear you. Unfortunately the requirement was to track all this stuff with as little data entry as possible, preferably none. :-) Not many tools are going to help with that. Life at a small biz unit.

I've met very few people who can get the requirements right from the get-go. It usually take an iterative process to get there. When server based code to existing clients, the only cost is the salary they are already paying me anyway. This project introduced a curve because of new hardware needed just to get something in front of users.

In my case, a minimal $800. But I pity the people doing Big Data or IoT projects where the investment is many orders of magnitude higher, only to find out the users couldn't really get any ROI out of it. Then those tools you mention, plus requirements matched to ROI, should be a given.
EmillyB860
50%
50%
EmillyB860,
User Rank: Apprentice
12/20/2016 | 8:31:54 AM
Successful mobile apps development
That's a very informative article. Mobile apps development is not an easy thing indeed, and many factors should be taken into consideration before starting it. If a developer follows all the steps that are mentioned in your article and if they combine a great idea with an excellent implementation it's almost sure that the app will have an enormous success. I needed a mobile app and I decided to choose a company that is specialized in this field, so I chose BGO Software to develop it. Obviously they've followed all the steps, mentioned in this article, because at the end the app turned out to be great.
DavidR49201
50%
50%
DavidR49201,
User Rank: Apprentice
1/10/2017 | 4:33:57 AM
Re: Successful mobile apps development
I totally agree with you. Oh BTW, I love the site! Gives really helpful advice all things financial. Awesome to see them getting a good series A funding. Keep up the awesome work mate!

 

Joel
Code Brew Labs
CalvinA509
50%
50%
CalvinA509,
User Rank: Apprentice
1/10/2017 | 5:26:17 AM
Mobile App Development: 8 Best Practices
We should learn the easy steps to for mobile app development because nowadays people are using Mobile Apps more than a website you have explain small and important factors of mobile app development so easily in your post.
Techsoftzi170
50%
50%
Techsoftzi170,
User Rank: Apprentice
8/7/2017 | 7:55:47 AM
Re: Requirements Gathering
Nice post on the tips of Mobile app development. 
Slideshows
What Digital Transformation Is (And Isn't)
Cynthia Harvey, Freelance Journalist, InformationWeek,  12/4/2019
Commentary
Watch Out for New Barriers to Faster Software Development
Lisa Morgan, Freelance Writer,  12/3/2019
Commentary
If DevOps Is So Awesome, Why Is Your Initiative Failing?
Guest Commentary, Guest Commentary,  12/2/2019
White Papers
Register for InformationWeek Newsletters
State of the Cloud
State of the Cloud
Cloud has drastically changed how IT organizations consume and deploy services in the digital age. This research report will delve into public, private and hybrid cloud adoption trends, with a special focus on infrastructure as a service and its role in the enterprise. Find out the challenges organizations are experiencing, and the technologies and strategies they are using to manage and mitigate those challenges today.
Video
Current Issue
Getting Started With Emerging Technologies
Looking to help your enterprise IT team ease the stress of putting new/emerging technologies such as AI, machine learning and IoT to work for their organizations? There are a few ways to get off on the right foot. In this report we share some expert advice on how to approach some of these seemingly daunting tech challenges.
Slideshows
Flash Poll