Tag: Mobile application
A mobile app offers tremendous potential for efficiency, growth, increased revenue, but only if executed right. The development stage is most critical, for faulty execution can render the effort waste, and result in a dysfunctional app that impedes rather than facilitates the business.
Success in developing mobile apps requires clarity of purpose and focus, and to attain it, developers and other stakeholders need to ask some crucial questions.
1. What is the Purpose of the App?
Many times, enterprises are too caught up in the mobility hype, and develop apps just for the sake of it. Such apps may not have a specific purpose, and may actually be another version of the corporate website.
Successful apps are highly focused, catering to a specific function, purpose, or niche. Zero in on the specific purpose, or the precise problem for which the app is being developed. Consider why an app is required for the purpose, how customers may benefit out of it, and how an app can be a better option than a responsive website.
2. Who are the Key Stakeholders?
It is imperative to identify the stakeholders associated with the app upfront. Understand who owns the app, who is funding it, who will be using it, who will benefit from it, who will be responsible for the data that would keep the app functional, who would be responsible for day to day maintenance of the app, and so on. Questions such as who are the decision makers, who all are empowered for the business side of the app, and more, are also pertinent.
The success of any app depends on successful communication with the stakeholders, to understand their requirements, gain clarity on their role, and take feedback. Understanding end users enable app designers to tweak their profile, improving the power of the app considerably.
3.What is the Deadline?
The deadline to release the app is often a function of the purpose. For instance, if the app is meant for a specific sporting event or concert, the entire work becomes waste if the app is not up and running in time for the event. Even otherwise, things change in today’s fast-paced world, and tight deadlines are more the norm than the exception. Even a few days delay can make a big difference in the patronage of the app, or the app serving its intended purpose.
Related to the deadline is the release schedule. It is common enough practice to have multiple release dates for an app, with each release adding new functionality on an incremental basis. Many apps launch different versions, such as for iPhone and Android, on different dates.
4.What is the Programming Methodology?
A basic upfront requirement when it comes to creating a mobile app is creating a wire-frame, which makes explicit how the user will experience and interact with the app. The visual designs and UX is also critical and requires addressing at the very onset.
Another essential requirement is to create product backlog that enables defining and prioritizing the functional and nonfunctional requirements of the app.
Any app requires application programming interfaces, outside services and systems, and integration with third-party vendors. Research on these aspects, arrange for the necessary integration, and factor in the time taken for achieving such validations.
5.How is the App going to be Hosted?
Consider whether the app would be plugged into an existing infrastructure, or whether new infrastructure, such as hosting space, need to be provisioned.
Apps also require post-launch support for bug fixes and tweaks based on user feedback.
6. From where will the App be Downloaded?
The delivery channels of the app can impact the design of the app. For B2B and B2C apps, getting listed on Google Play and iTunes store are critical, and the requirements for listing needs to be addressed at the design and development stage.
Read this blog to get few quick tips for faster approval of iOS apps.
7. What is the Security Blueprint?
Security is an important consideration in today’s high-stakes business environment. Provision adequate security protocols and ensure the code is secure, to pre-empt hackers attacking the corporate network through code vulnerability. A related task to be complete is drafting the privacy policy of the app.
8. Are there Corporate Guidelines or other Considerations to Adhere to?
Enterprise apps may have to adhere to corporate guidelines, such as branding conventions, consistent screen design, the design of the icons, and more. The impact is mostly felt in design considerations.
9. What are the Risks Associated with the Project?
Any app development will face risks and uncertainties that could impede or even subvert the project, or at the very least let timelines go awry. A best practice is to build a risk register at the onset, and document the actions and the stakeholders responsible for the action, for each risk factor.
10. What is the Budget?
The budget is often overlooked when it comes to developing mobile apps, and a major reason is the difficulty in estimating one. With the fragmented mobile marketplace, there are too many variables at play, including multiple operating systems, different testing environments, and more.
Also, an app project goes much beyond the coding and compilation. It involves several critical components such as researching for the app, undertaking competitor analysis, designing an intuitive UX, and more, and all these tasks can influence the budget in a big way. There are also hosting costs, on-going optimization of the app when in use, costs for push notification services, costs for scaling the back end as the user base grows, and more.
The possibilities are endless, but the budget brings in a reality check. The trick is to optimize the possibilities within the constraints of the available budget.
There is no one-size-fits-all method in developing a mobile app. The best approach is customising the process to suit the client. It requires the services of a seasoned and experienced partner who knows to ask the right questions, and guide the client to get the right answers as well. We are competent in this front, having successfully developed a diverse range of mobile apps for many clients, cutting across industries. Contact us now and kick-start your enterprise app development process.
To explain the whole story, from the beginning to the end, in a sentence would be: “Parse was the most popular mobile backend-as-a-service (mBaas) for mobile applications, acquired by Facebook in 2013 and Facebook recently announced that it is completely shutting it down in a year’s time (by Jan 2017)!”
The Parse framework provides a hosted back-end infrastructure with unlimited opportunities for third party developers with its products like, Parse Push, Parse Core, Parse Social, etc., to build their mobile apps (Android, IOS, and Windows) by using a single SDK. Facebook’s announcement on its shutdown, followed by their migration tools and assistance, simply disguise a world of hurt for businesses that based their future on Parse. It’s shutdown has sent panic waves among teams who have their apps on Parse; their main concern being what to do next ? Many are looking for alternatives to develop apps without bothering about the backend, some try to take all the code from Parse to elsewhere and are confused as to which platform to use and trust.
What do you do now?
Relax! Think of it like a simple house-relocation, the whole migration doesn’t come without headaches, but is still in control with some wise moves. Let’s evaluate the actual impact of Parse shutdown in its true sense, and few smart options to overcome the trouble caused.
Who will be affected?
For now, people who have their apps built on Parse. If you have created apps using Parse backend solution, then you surely need a game plan and a skilled technical team to move to an alternate service. However, Facebook has open sourced the Parse’s source code, supplied database migration tools and provided enough time to move to your next option, so this isn’t the worst shutdown announcement ever, So chill. One year is plenty of time for you to move away from Parse or build apps on a trusted place.
And for those others chuckling at the worried Parse users, just be informed that you too are at the risk of such an issue, especially if your app dependents upon third party services. Developers might have ‘exception handling’ for when servicers are temporarily down, but what if the server has vanished forever? A disaster recovery plan will be always handy.
What are your options? (Alternatives to Parse/mBaaS)
The shutdown means you have to:
1. Migrate to another BaaS/ Parse alternatives: Find an alternative BaaS that has all the features similar to your App’s requirements, for Google has many developer APIs and backend services; Microsoft has Azure, or Amazon’s AWS.But of course this requires ample amount of customization to ensure your fit. However, be warned because, “Fool me once, shame on you. Fool me twice, shame on me!”
2. Migrate to a PaaS from one of the major cloud providers: Platform-as-a-Service is more generic and broader than Backend-as-a-Service and the vendors won’t lock you in that much. PaaS services from major players like, Amazon, Google, Microsoft and others are mostly part of their core cloud offerings and therefore is comparatively at lower risk of shut downs. This migration would mean serious efforts from the technical team to develop missing parts, but you can be at greater development flexibility while enjoying all benefits you had with BaaS.
3. Migrate your backend to a self-hosted instance of Parse: Parse Server is basically Parse that can be hosted on your own infrastructure. Your client side will thus remain the same and needn’t refactor the whole app to unplug the Parse SDK. Copy the Cloud Code of your app to the parse-server as described here to migrate your existing Cloud Code to Parse server. There is no Native Cloud code in Parse server and you will need to use replacements like, App Links. Yet, direct replacement is not possible, but you can have a trained developing team to generate these tags and deal with the non-trivial migration process. The issue here is, whether the community will continue developing and fixing Parse in future, since it’s already a zombie. You may also extend your current JavaScript from Parse into full-blown NodeJS application : If there isn’t too much complex scripts on Parse, adding CRUD operations on top of MongoDB database would be much less effort. This shall give you complete control over the backend and data, without having to be locked down into any platform.
4. Look for building your own backend now: Something that you definitely had issue with in order to have gone for Parse in the first place. But since we are more concerned about vanishing services at this point of time, with open source self-hosting, you can at least hope to get the ongoing maintenance from a developer community.
From similar examples of other shutdown notices, the initial chaos it creates and the slow emerging saviors, it’s always wise to wait for a month or two to see how the dust settles, and eventually decide what will work best for you.
Moving to another mBaaS? What should you look for?
The shutdown of Parse, StackMob, Proxomo and MobDB has left developers perplexed about the future of mobile-backend-as-a-service. Unless mBaaS comes up with a credible response to this question of vendor lock-in issue, I doubt any sane developer would touch this now. Hopefully there will be no “fool me three times”.
Developers can avoid reliving such nightmares by ensuring that their vendors don’t lock them in. Under any cases of acquisition or shutting downs, you should be given full control of your applications’ source codes. Be sure to check these with your provider if you consider using BaaS or mBaaS:
Developers can avoid reliving such nightmares by ensuring that their vendors don’t lock them in. Under any cases of acquisition or shutting downs, you should be given full control of your applications’ source codes. Be sure to check these with your provider if you consider using BaaS or mBaaS:
1. Do you get full access to their mBaaS source code (including the backend server and backend server administrative console and not just client side SDKs)
2. Can you continue running your app if they shut down (Ask them whether you can download run time components of your app and deploy it elsewhere without going to their site)
3. Who owns the IP (intellectual property) of your app components? Ask your vendor to demonstrate these to you; if they can’t show how this is done or probably has no reference to provide, like a customer who got this done, you are locked in to them!
Can Developers still trust 3rd party services?
With Parse shutdown people woke up to what “Vendor-lock-in” actually means in practice. Several factors like, the move to serverless computing (e.g. Amazon Lambda), have recently made mBaaS a lot less attractive as a standalone. And with the recent shutdown notice, Backend-as-a-service is presently facing a tough time.
However, It is definitely a tricky balance between choosing an mBaaS platform or building the mobile backend yourself. The favored suggestion is to do more work on Amazon with the option to fall back to Google, than to do less work on Parse but without any plan B.. As Dave Verwer, founder of Curated puts it:
“It’s always a tricky balance between using a BaaS platform like Parse, or building everything yourself. We’re all aware that any service we rely on could potentially go away at any time but there is none more disruptive than your entire back end! On the other side of the argument, you could spend years building everything you need from scratch and completely custom, then have the app not gain any popularity and have it all wasted. It’s a tricky problem and there’s no right answer.”
Yes, Parse shutdown has brought a lot of pain, but it has also drawn light into the hidden risk that developers who depend on 3rd party services are at. It’s terrible when something you count on becomes an ex-service, but as its result you wouldn’t want an “ex-app or business”. If you are affected by Facebook’s move, you have to make a plan change and a new game plan until there’s time. Fingent will be glad to be of service to you for any migration, or app development using your own backend. We can help you decide what will work for your business in the long run.
Still unsure about your options? Let’s discuss!
As the reign of mobile applications and mobile devices continue, we, as part of this revolutionary trend, have to keep ourselves updated about everything latest in the mobile world, don’t we? Of course we do. We also have to be aware of everything we need to in this regard. I’m talking about mobile applications and their making. Continuing my endeavour to make you guys acquainted about the many processes and resources that go into making a mobile application, here I’m going to give you some more information on mobile application testing.
In one of my previous articles, A winning mobile testing strategy: The Way to Go, I had explained the various steps involved in the process of testing and the article, and Mobile Application Testing: Challenges and the Solution had the major challenges faced by testers.
Now, for those of you who read through the testing process, in case you are wondering “what other kinds of testing are there?”….
Here is a list of the most commonly used kinds of mobile application testing. Do keep in mind that all of these tests are conducted to perfect different aspects of an application. Hence, ideally a combination of some of these would probably be the best way to go.
- Functionality testing – This is actually the most basic kind of testing for any application, as it ensures that the basic functions of the app work as intended. As is the case with any user interface based application, mobile applications work on the basis of several human interactions as well. All of these functions need to be tested for their accuracy. Considering the challenges faced by testers, like the wide range of mobile devices for example, functionality testing is usually a time-consuming and intensive process if it is done manually. However, there are various automation tools available in the market for functional testing as well.
- Usability testing – This is conducted in order to ensure that the mobile app is easy to use and provides a good user experience to the customers. It basically tests the app from three angles:
Satisfactory user experience – The user acceptability level or comfort level of the application and also others affected by its use.
Effectiveness – The level of benefits achieved through the app in comparison to the level of resources expended for it.
Efficiency – The accuracy of the application in terms of its ability to achieve specific goals in specific environments. - Performance testing – This covers testing of performance of the application from the client side, server side as well as network. The client side will focus more on things like, responsiveness of the application, user interface elements etc. It also involves testing with different types of data connections, WIFI, levels of battery consumption etc. There are again a number of tools available to carry out testing in these areas.
- Compatibility testing – This is conducted to see whether the application works as intended in different devices, Operating systems and their different versions, browsers and screen sizes.
- Security testing – This is carried out to test whether the application is capable of storing and protecting information.
- Memory testing – This is important to ensure that the application maintains optimum memory usage throughout its life. Mobile devices usually tend to have very limited memory and the operating systems also have a tendency to stop applications that use too much memory, which might lead to problems with user experience.
- Regression testing – This is done in order to bring to light any bugs or errors that may exist in already built modules of a project after making changes such as improvements, enhancements or configuration changes and the like.
There are also other kinds of testing, like services testing, user interfaces testing, operational testing etc. which are also done in some cases depending on the kind of mobile application. Apart from that, the most commonly used tests are listed above. As a general rule, functional testing is often conducted first followed by performance testing and the rest. Like i said before, not all of these tests might always be conducted in order. It all depends on the application. The basic point is that testing is a huge and significant part of mobile application development, and at no cost can this be avoided.
Ever been frustrated with having to submit your iOS application to the Apple app store, and having to wait for days to get it approved? I totally understand it. Giving an app that you developed to the iOS app store, be it hybrid or native, was supposed to be the last step in the development process. But due to Apple’s App Approval process, which is pretty stringent, this last step for deployment has become quite a big one. At Apple, they have automated tests as well as reviewers who go through each and every aspect of the application like User Interface (UI), User Experience (UX), features, functionality and the like. The reviewers are people who have expertise in application testing, as well as with the Apple’s App Store Review guidelines.
Now, as a developer, this can be hard work, having to conform with Apple’s standards (which may be rather long-winded and complex) while developing an app. If you want to get your app approved quickly, it might take considerable time and effort and most importantly, patience. Here are 11 quick tips for you to speed up your iOS app approval process:
- Follow the Apple guidelines exactly – Apple has very strict guidelines on placing buttons, icons, navigation bars and other such elements on your app. Do not at any cost violate any of these, even by a few pixels.
- Work on bug fixes – Keep testing and working on fixes until you perfect your app. Bugs are one of the main reasons for rejection.
- Loading time – If your app takes a long time to load, say more than 10 seconds, initially, then chances are that your app might get rejected.
- Disclaimer – If your app uses other background services for various purposes like VOIP, audio playback, location etc. be sure to give a disclaimer in the app.
- In-app payments – If your app requires taking payments, be sure to use Apple’s In-app purchasing API. You have a Cordova plug-in for that for hybrid applications as well.
- Broken links – Make sure the links in your app are relevant and that they take you to the respective site. If they do not go anywhere, or if they take you somewhere they are not supposed to, the app is likely to get rejected.
- Privacy Policy – Make sure to add a link to your privacy policy to the app.
- Enough data – Make sure to provide proper and accurate description, including testing data, regarding the app before you submit it. If the app description does not match the user experience, it might get rejected.
- Advertisements – Make sure that advertisements in the app run properly and mention whether your app uses the Advertising Identifier (IDFA) to display ads.
- Similar apps – Be sure not to copy the features or functionality of another app. It is ok to be inspired by them, and incorporate them in your app, in different ways.
- Plug-ins – Lastly, if yours is a hybrid app, make sure that you do not call add-ons or plug-ins that are not being used in the app.
These points can be used as a checklist while developing an application. Following these will surely help you get your app approved faster by Apple. You may sometimes find that your app gets rejected even if you check for these points or even if you are very careful about the details of your app. All you need to do is provide the necessary clarification supported with sufficient documentation of course, while re-submitting your app.
Reasons for rejection
The top reasons for app store rejection include crashes and bugs, substandard user interfaces, broken links, inaccurate descriptions etc. According to Apple, in the 7 day period ending June 17, 2015, 14% of apps were rejected due to lack of information. Almost 10% of apps were rejected because they exhibited bugs. 3% of apps that used or mentioned the name of other mobile platforms were rejected. Also, apps that contain description or data not relevant to the content, apps that crash, apps that contain fraudulent or misleading information etc. were rejected.
That said, if you take care of a majority of these points while submitting your app, then you definitely have a better chance of getting approved faster.
Field service management software is becoming increasingly popular these days. With it’s advanced features of scheduling and dispatching and of course integration with mobile devices, there is no reason why managers like you would prefer anything else.
Now, mobile integration is one of the main advantages of field service management software. Without it, the whole purpose of the software to make field service management easier and faster for everyone, will not be properly served. Even a system with features like scheduling and reporting, will not prove to be very useful in terms of increased efficiency, if it’s not mobile integrated.
So, what exactly is the need for mobile integration in field service management software?
In the earlier developed, on-premise field service management systems, there was centralization of information and reporting but it required the field agents to re-enter the information they collected from the field through paper documents. Moreover, apart from a mobile phone to call, there was practically no way the managers could reach the agents and vice versa.
All these problems can be solved with mobile integration of field service management software. Here are some other advantages of mobile integration:
Back-end Service Knowledge Access
Technicians or field agents while at their work can look up manuals or diagrams available in the backend through the mobile integrated field service management solution and determine the best procedures for repair or even determine the parts or tools required for the repair. Even though your field agents may be experts, they could use tools and techniques that would help them complete their job in a better way. They could also make use of the history of repairs or warranty information etc. of a particular customer’s asset available with the solution to better help in their work. Moreover, they can access customer accounts for billing functions etc.
Transparency and Communication
Gone are the days when you did not know where your field agents are or what they are working on. With the help of mobile integrated field service management systems, you will be able to get real-time job updates and even location information. They also enable real-time communication between the field agents and the managers so you are always ready with information for your customers, as and when they call.
Efficient Data Collection and Accounting
As mentioned before, field service management systems that were not mobile integrated required the field agents to enter work related information twice. Such redundancy of data led to wastage of time and effort thus decreasing productivity. Mobile integration enables the field agents to enter data directly onto the system thereby saving time. Moreover, some solutions offer advanced features like payment processing which allow your agents to collect payments too. All of these digital records further enable smoother accounting and auditing.
Real-Time Scheduling
Routing and scheduling features are the main highlights of any field service management system. But when you have them integrated with a mobile device, you can allow your agents to view their schedules while they are at their work so that they can plan their work accordingly. Based on the location information of an agent, the routing feature helps to plan an optimized route between all the sites that are pending for a particular agent. That way,work becomes systematic and productivity is increased as more work orders can be attended to per day.
All these features make mobile integration for field service management solutions inevitable if you want to increase productivity. Your field agents are the representatives of your company and they reflect the quality of your service. Hence, if they perform better, your customers will be more satisfied. In order to stand ahead in satisfying your customers, you need to have field service management software with all the mentioned features and mobile integration.
Contact us to develop a field service management solution just for your Business.