Strategic direction

It is often said that there isn’t a single mobile or web application that is perfect. There are varies way in which the app might be develop. The app may be developing in door, brought off the shelf or outsourced to another company. The app can be native or web based. We look at each option in detail.

Native App vs. Web Based 

Native App -An executable program coded in the machine language of the hardware platform it is running in. A native application has been compiled into the machine language of that CPU.

Advantages of Native App

  1. A native app, written for a specific hardware platform, will always run faster than a Web app, because there is no translation processing taking place.
  2. Offline Access: Native apps can be used when a user has no network connectivity, such as on an airplane, in the subway or in an underground parking garage. If users are sometimes in areas where network access is unavailable or unreliable, a native app is your only real option.
  3. Device Integration: Native apps are more effective at integrating the unique capabilities of the mobile device into the application, such as the GPS, Contact List, Camera and Voice Recorder. In a native app, images, GPS coordinates, voice memos can be directly piped into the database without the user having to search and attach them.
  4. User Experience: The user interface of a native app can be designed to be consistent with what the users expects and is accustomed to on their particular device.
  5. Flexible Synchronization: Native apps can be configured to periodically synchronize with various backend data sources, which can reduce data costs, particularly while roaming. If users do not need to synchronize their data until the end of the day, why go to the trouble and expense of having them establish an internet connection each time they do an update?
  6. Push Capabilities: Native apps can use "Push Technology" available on many mobile devices to automatically update the application data rather than relying on the user to log into the web application. You can get important information out to your users without having to train them to constantly check the database over the web.

Disadvantage of Native App:

1. No portability: Application can only work on one platform

2. Platform instability: Mobile platform change quickly, it requires time and investment to keep up.

3. Development cost: it takes time to change and hire skilled people to develop the app .Also to buy hardware to test the app.

4. Limited control: Cannot control the Platform. The mobile might cease to be developing because it is not popular with the mass.

Web App: A web-based applications is applications that are stored on a server and interpreted one line at a time by the browser's JavaScript or HTML5 interpreter.

Advantage of web app:

1. Future proof: The web eliminates the problems associated with mobile platform instability. In a world of fragmented mobile devices and operating systems, the web is the only constant. It’s shared by all mobile platforms and operating systems, it’s not controlled by another company, and it won’t disappear in a few years. When a business builds mobile web apps, they choose a platform that will last.

2. Cross-platform: Unlike native apps, one mobile web app works across all mobile platforms and operating systems, both now and in the future. They don’t need a different mobile web app for IOS, Android, Blackberry, and Windows Phones. One mobile web app works everywhere. Additionally, even if another mobile OS becomes popular in the next few years, that same mobile web app will work on that platform as well. They work everywhere, both now and in the future.

3. Inexpensive development: If a business already develops web apps, they already have the skills necessary for mobile web app development. Unlike with native apps, mobile web apps don’t require new developers with specific skillsets. Most businesses already have the skills for cross-platform mobile web app development.

4. Simple maintenance: Since one mobile web app works on every platform, future maintenance is simple. All changes made to that single application instantly reflect across all platforms. Out of the three mobile app methods, mobile web apps require the smallest amount of ongoing maintenance.

5. Instant updates: Since mobile web apps run in a browser, and aren’t installed on the device itself, all updates instantly reflect in the application. Users don’t need to install the latest update, or do anything at all. The app instantly updates for all users.

Disadvantage of web app:

            1. Moderate device integration: With the rise of HTML5, mobile web apps can access many device hardware sensors like GPS, file uploading, the accelerometer, gyroscope, and local storage. However, they do have a few limitations. As of now, mobile web apps still cannot access the device’s camera, microphone, or contact list.

2. Limited graphics: While mobile web apps are perfectly suited for displaying most every type of content, they do not handle heavy graphics as seamlessly as native apps. For that reason, any company requiring game-like graphics in their mobile apps should stick with the native approach.

                                    Commercial Software vs. In House Development

Commercial Software: Pre-written or COTS software that is written and update by a vendor.

Advantage of Commercial Software:

1) Development cost shared by users, so software costs less.

2) Features you might not know you need are included. This is especially important if       you really don't know the business you’re in. If you want to start retail store and you don't know anything about the retail business, your first purchase may be a good Point-of-Sale package to help you serve your customers, capture your sales, and maintain an accurate record of inventory.

3) Software is more reliable because more users equal less bugs. This of course assumes a mature package; it doesn't apply if you are one of the first users of the package.

4) Software is available right away because it is already written.

Disadvantage of Commercial Software:

  1. COTS software usually does not have all the functionality you might need. If you really know your business it is highly probable that you have ideas that the software doesn't implement.

2) You need to adjust your workflow and processes to match the software.

3) Updates are on the vendors schedule not your schedule.

4) If you have customized your COTS software and the vendor stops support for the version you are using you may have to pay for some or all of the customizations again.

5) Software targets only the platform that the vendor picks.

6) Software has a bunch of features you don't need and don't want. COTS software has to be designed to work with lots of businesses, not just yours. This extra code adds extra bugs and frequently more complex configuration to the software. One thing for sure, whether you use it or not, you pay for In-House Development- Software that is develop by the company

Advantages in House Development:

1) Development teams are very close to the end user, resulting in a high quality product for the end user. A lot of "the fat" can be cut by a few phone calls to key users. This results in a much greater “specialized” application.

2) Relationships between the development team and the user base can be built, which aids in both communication and expectations on delivery.

3) Business knowledge of the developers’ increases, reducing the time required for

Specification and design, as knowledge of the problem domain is pre-existing.

Disadvantages of in House Development:

1) Heavy investment required by the company. This does not also provide "income" as such. Return of Investment (ROI) is provided by increased efficiency and productivity, quality and so on, this is very difficult to measure, and can be difficult for some management teams to view as ROI.

2) Lack of portability of software could be an issue if the company later decides to sell the application to another business. If the original specification does not have this requirement in, the application may be so tightly coupled with the company identity; it is too difficult to move elsewhere, which could further reduce the possible ROI.

Conclusion: The development of the app should be in house due to the special Requirement of the app. It also should be built using web technology because of the amount different mobile devices we are targeting.

IT capacity and resources 

Development of this type of platform based software in house will require a certain level of skilled personals and powerful hardware that might not be able to find locally. Currently we have a system admin, web developer and network admin. We will need to acquire and hire network specialist, junior and senior programmer in mobile application, UX interface designer, mobile specialists and graphics designer. The way in which we plan to acquire these people is through job advertisement through different medium such as website and newspaper. 

We will need powerful servers such as the Dell PowerEdge 2950, Hardware firewalls, switch and a fiber optics connection to the location where the server will be stored. To acquire these servers we have to order them from overseas company and estimate the capacity of user. The internet connection will be provided by one of the few internet providers Jamaica has, we are considering flow. Flow has the fastest internet speed at 100Mbps business, this will sufficient for the amount of users we are expecting at time. We also will take internet from LIME as backup internet connection if flow fails.

Gathering requirements

All requirements will be gathered from three (3) sources: The bookstore (through the use of interviews and questionnaires), university students and universities (through interviews and questionnaires) and through third party mediums (internet, library, newspaper etc.).The teams will also be in constant communication with book stores and libraries to understand their policies. The reason the team has chosen these tools is because they allow for a robust research technique that offers the best results at the cheapest cost, these results also will have the ability to be quantified and justified.

Your options

                When it comes to development of this application we can develop it in house, outsource it from a foreign entity or neither if doesn’t worth the time or effort. Let’s look at the advantage and disadvantage of each.

Outsource Advantage –

  1.  Focus On Core Activities – allows the Team to focus on promoting the business and also preparing the environment for the software to run on.
  2. Cost And Efficiency Savings – We would not have to hire more people because we are not developing our self
  3. Access to wide experiences pool – most outsourcing companies of year of experiences behind them
  4. Faster and better Services – in most case outsourcing company provides faster deliverable of software than in house.

Outsourcing Disadvantage –

  1. Threat to Security and Confidentiality – The information that is sent to them maybe use for illegal activity.
  2. Tied to the Financial Well-Being of Another Company - If the outsourcing company goes out of business then the money and time we invest in them will go to waste.
  3. Quality Problems – the outsourcing company will of different meaning from quality than we.
  4. We loss control of the source code – We can’t change the source code without the outsourcing company.

In House Development Advantage -

  1. We have full ownership of the final product as well as its source code and the knowledge gained while developing it.
  2. It will fit exactly to our needs.
  3. We will be able to communicate and test features will our user base.
  4. It gives us full control over the system and its functionality

In house Development Disadvantage –

  1.  It can be costly to maintain and improve the system to continuously meet business needs.
  2.  It requires more IT personnel which in turn lead to High overhead cost.
  3.  High switching costs: it is more expensive to change to newer technology.
  4. It is time consuming to develop an in-house IT system as opposed to buying it
  5. High development and maintenance costs (Although it may seem less expensive, in house
  6. development can actually become more expensive as time goes, as there are a

lot of things that go into the process, such as analyzing requirements, gathering, programming, designing, implementing, testing, user training and maintenance).

  • If the company decides to sell the system, it may suffer from a lack of portability, as it the system maybe too tightly built into the identity of the company.

Conclusion: As stated in the Strategic direction that best plan is build the app in house and also to build it as web app. Building the app in house will allow for new features to be  added to the app more quickly and allow for less people to know how the system work, which will improve security. This will also give the engineer experiences in development and in the near future will able to offer customize features to business clients. Due to the diverse amount of smartphone the general public have, a web app will be able to reach more people.

Forming mobile governance

This will ensure that mobile players, plans, processes, and Partners are defined and working together to execute the mobile strategy.

Phase 1: Engage Stakeholders

The company will have to inform all major stakeholders about the plans for the application. This will allow the company to gather all the necessary information and input from key figure that help to push the app to success. This process will allow for any future problems to arise and also might give rise to features the company might have missed. This will also allow for any stakeholders to get understanding of app being develop.

Phase 2: Ensuring Security

The application will be dealing with money; the company will have to ensure all transaction is legal.  The company will have built a policy that will take in account the security of the user financial detail. The company will have to be register with the required financial institutions to ensure to safety. The company will also have to ensure the distributors are trust worth.

Phase 3: Evaluating the Platform

This will involve the inclusion of stakeholders and the utilization of a pilot or focus group to continuously test the application. Furthermore, it will involve the promotion of the application via e-marketing, universities and schools across the island .Application growth will monitored by a select management team who will over periods two 1 year , every 6 evaluate the application and define new directions if necessary for its ultimate success. Finally, together, the contents of this document describe the approach to achieve mobile governance as creating a mobile strategy is an important step in achieving such.

Read More