App-Scoop

iOS v/s Android: What to Build First?

​With the advent of technology and smart devices, the use of applications has been increasing continuously. The types of apps available in market range from social media apps such as Facebook, Instagram to gaming such as Candy Crush, Pool to local stores where the user can order groceries such as Grofers, Nature Basket. All these apps need to be built on a platform that is supported by these smart devices.
The most common topic of discussion among developers, “Which platform should a company choose to build their app on? Is it iOS or Android? 
Well, to understand better, let’s take a look at both these platforms in detail with their pros and cons: 
Picture

*Source: https://mixpanel.com/trends/#report/ios_11


Companies with good revenue resource can build both their platforms for their users. This makes more sense for large or global companies as they will have Android and iOS users. For mid-sized companies, it is necessary to choose one platform and then move on to the next one. You can maximize your audience on one platform and then roll out on the next platform to see a quick increase in your user base.
 
So, when do you choose iOS first?

  • Firstly, it depends on the demographics of your user, for example, if you are introducing an app for a grocery store in Beverly Hills, then you must target iOS. This is because there are more Apple users in this area than Android.
  • Since, a lot of capital needs to be raised to build an app, the best way to test is to develop it for iOS users. This is the case for most start-ups because of its cost and speed to market. More recently, the Coachella conference organizers stated that 90% of their attendees use iOS and their attendees are definitely reflective of influencer types.

 
When do you choose Android?

  • If you are rolling out an app for mass users in developing nations, it will be sensible to build your app first on the Android platform.
  • Also, if you are looking to make customized apps, you much choose Android because of the flexibility it offers. The iOS platform is not supported by all hardware and software elements.
  • If you need a quick approval, then the right choice will be building an Android platform.


Conclusion

At the end, most apps will end up being on both platforms to maximize their user base. In today’s world of fragmented audiences, it is the most logical conclusion. This is where the developer should consider cross-platform app development tools. These tools allow you to develop two apps, Android and iOS, at the same time. They reduce time and cost for development. 

Is Hybrid Apps the Future of App Development?

​The “application world” is a market that is constantly growing. Not only the app world but the technology in the app industry is growing at high speed. So, sometimes it becomes very confusing for the app developers to understand which app platform should be used – the native app or the hybrid app? Firstly, we need to determine the fact that a modern business can’t afford to not offer mobile apps that don’t offer the required software to its users. Hence, choosing between the hybrid and native platform is very challenging. Secondly, both these programming languages – native and hybrid – come with their own pros and cons. 
​But while weighing both these platforms, the popularity of the hybrid app has been growing. Do you know why? It’s because a hybrid app is able to provide features and performance with a nominal costing. It is also compatible on different platforms; and hence the hybrid app is becoming a new norm.

Advantages of a Hybrid App

Let’s quickly list the key advantages of the hybrid app:

  • The developers are using different web technologies such as HTML and JavaScript as they are compatible with various mobile platforms.
  • It can be written in a single code base instead of writing the native code in different languages such as Java, Swift, etc.  
  • It reduces time and cost for developing the app; as the app can be developed in HTML and you don’t need to create two versions, i.e. for Android and iOS.
  • It has access to a wide range of platform-specific functionalities such as GPS or camera.  
  • It has a good appearance and user-interface.  
  • It is portable and just requires a native harness to run it.  
  • It can provide both online and offline access as the app can be packaged through a server or locally.  
  • There is no update required and wait for approvals.

Relation between Java and Hybrid Mobile Apps

Java became popular because it got rid of the limitation of C and C++. Java has been upgraded several times since, and now it has become an object oriented programming language. It is an open source language and is freely available to the public. Similarly, hybrid mobile app is very cost effective and can be developed in HTML, for both – the Android and iOS users. Hence, the same logic applies to hybrid mobile apps.
The scope for hybrid apps becoming more popular is possible primarily because of the advantages it offers.

So, Will Hybrid Apps Replace Native Apps?

It is determined that hybrid apps will not replace native apps because former also has a few limitations when it comes to its functionality. For instance, native apps offer better user experience than hybrid apps. There are also high chances of the app not being a part of the App Store is they realize that it’s a hybrid app. Also, native apps are a preferred choice when it comes to running high performance apps and games.
We are at a stage of infancy when it comes to choosing between platforms (there are only four – Windows, HTML, iOs and Android). To conclude, hybrid apps are a much cost effective way for a company to port over their app. Their technical person does not need to learn a new language or even hire someone to do it.
But on the other side, the user experience in native apps is something that the company cannot ignore. For example, iOS users and developers know the apps inside out. Without customizing the UX for each platform, the apps won’t work the way they worked before, thus, the lack of functionality and eventually losing their app users.

Hybrid apps will grow and shows promise for the future but native apps are here to stay too!  

Is Your App HIPAA Compliant or Not?

​Experts estimate that there are more than 40,000 health related applications. That’s a lot of apps for an industry that is just starting to blossom in the market. This number will further grow if Apple decides to launch the “rumored” Healthbook.
As per the latest rules and regulations, any health app that stores or processes personal health information, launched in the US must be HIPAA compliant. HIPAA stands for Health Insurance Portability and Accountability Act. The law protects all “individually identifiable health information” or PHI that stands for Protected Health Information.  It basically, collects and protects your health information and medical records. So, before you plan to develop a health app, you must ensure that it is HIPAA compliant. 
​Apps such as Google Fit, Nike Training that are collecting information like calorie count, weight loss progress, body stats, etc. do not come under the HIPAA compliancy. This data is not considered as PHI (Personal Health Information).
On the other hand, if you use any app that holds information such as your medical records, billing information, information about your health insurance, or your health file, the app should be HIPAA compliant. When an individual has received services from a covered identity, it’s also considered as PHI. The name and address of the patient in medical records is also considered PHI. For example, Truevault system is HIPAA compliant because it stores PHI, such as an individual’s medical records.

Making Your App HIPAA Compliant

There are a few things that you need to consider while making your app HIPAA compliant:

  • ​Storage: When you enter the data, it is usually stored in the device’s memory. Hence, the app should make sure that the data is fully encrypted. This information should be stored in the encrypted or else the app would be breaching security as a health service provider and would be considered out of HIPAA compliance standard.“HIPAA compliance is multifaceted. When you’re thinking about cloud storage, your first concern should be the Physical Safeguards required by HIPAA. If your hosting provider isn’t able to meet these requirements (and sign a BAA attesting as much), you need to find a new hosting provider. Once you have a solid foundation, you have a long list of rules to meet; it’s a lot more work than building a simple Rails app on Heroku.” said Kate Borten in an interview with Blue Label Labs. 

  • ​Using Transport Layer Security: Also, when the data is being transferred to the server from a device, the app service provider must TLS. They must also pin the security certificate if they see a possibility of the device being used on a platform they can’t trust or compromised network. Privacy and security of medical data is first priority to make it HIPAA compliant. 

  • Email – Not A Secure Way to Send PHI: Since, an email is a very generic communication platform; it is advisable not to use the same to convey PHI. Sending PHI through email is a HIPAA violation. But if you do wish to communicate through email, it should be done via a HIPAA compliant email service provider. 

  • Database/API calls: There are two entities, doctor’s office and business associate that need to be covered under the HIPAA compliance. If your app is not compliant with these entities, you will not be able to give your app access to make API or database calls. You can’t even search and read anything within their database. 

  • Push Notification: As we already know, mobile phones are not completely secure devices. The native push notifications are used by many applications to inform users about updates and changes. This runs the risk of violating the privacy regulations that are mentioned in the HIPAA.An app can be completely HIPAA compliant but sometimes a few things are beyond control such as physical phone or laptop security. For example, the data is lost due to theft of your electronic device or someone hacking into your electronic device. Although, you can be extra careful by ensuring that you set a passcode lock setting whose password only you would know. Or in case, of your electronic equipment being lost or stolen, to take advantage of using built-in functionality of your device.

Conclusion

A mobile app developer that has HIPAA obligations is actually an inquiry based on facts. A small change done to the functionality or business models can lead to a different conclusion on whether HIPAA applies or not. Hence, the app developer need to make the boundaries clear and determine whether or not it is going to store PHI, and hence, if it should be HIPAA compliant. If incase, the business model changes, the app developer should review if it again to determine if the app needs to be HIPAA compliant. 

No SQL v/s SQL Database for App Backend—How Do You Decide?

​The database is evolving rapidly. Old database structures are being replaced by new data based structures. There are two types of databases – SQL and NoSQL.

What is a SQL Database?

SQL or relational databases are structured. They can be compared to phone books that stores phone numbers and addresses. It organizes structured data fields in defined columns. SQL is a programming language that is used by software engineers to design rational databases. Some examples of SQL database include MySQL, Oracle, Sybase and IBM DM2. These databases help execute queries, recover data and edit data. Editing data includes updating, deleting or creating new records. 

What is a NoSQL Database?

NoSQL or non-relational databases are document oriented. They store the data like file folders, i.e. they hold everything, from a person’s address or phone number to their Facebook likes, shopping preferences, etc. It doesn’t incorporate the table model; the data can be stored in a single documented file. Hence, the data can be found easily but it cannot be categorized into fields like a relational database does. For example, Hadoop is an open source computing and data analysis platform that processes huge amounts of data in the cloud and is popular with NoSQL database stacks.

Advantages of SQL

  • Simple yet powerful JOIN clause – a single command can retrieve related data stored across multiple tables
  • Fit naturally into venerable software stacks, including LAMP and Ruby-based stacks – they are understood and widely supported if at all you run into problems
  • Restricts access of a table so that nobody can insert the rows into the table
  • Improved vertical performance so horizontal scalability is no longer a necessity
  • View the data without storing data into the object
  • No need to write a lot of codes

Advantages of NoSQL

  • Ease of access for app developers
  • NoSQL databases use APIs which allow developers to execute queries without having to learn SQL or understand the database system unlike relational databases that have a relationship with applications written in object oriented programming languages
  • Rapid development – can make frequent updates to the data structure
  • Cloud-based storage is an excellent cost-saving solution
  • Sets no limits on the types of data you can store together – allows you to add different new types as your needs change

So, when would using NoSQL make sense?
Following are the instances when using NoSQL makes sense:

  • Document Database solution CouchDB sums up the distinction between RDBMS and Document Databases.
Picture

Source: http://dataconomy.com/

  • When the data is stored in key-value pairs – NoSQL database should be used. Redis, Voldemort and Dynamo are well-known key value stores.
  • NoSQL should be used for softwares that have data or columnar database present.  Examples for graph database include Neo4J and InfiniteGraph and columnar database include Cassandra and HBase.
  • A NoSQL database sets no limits on the types of data you can store together. It allows you to add different new types as your needs change. 
  • When data is provided from a third party source, a NoSQL database is an application for statistics and/or reports generation.
  • Using commodity (affordable, smaller) hardware on-site or in the cloud saves you the hassle of additional software. NoSQL databases such as Cassandra are designed to be scaled across multiple data centers out of the box without a problem.

When would using SQL make sense?

  • ACID Compliancy protects the integrity of the database by stating how transactions interact with the database. For an E-commerce and financial applications, an ACID-compliant database is preferable.
  • It would also make sense to use SQL if your data structure is not changing often.

 
So, which one is better – SQL or NoSQL?

​So now that we’ve got a download on SQL and NoSQL database, you will need to assess if you require a relational or non-relational database management system. The idea that both these databases are in competition is not true – remember, that most companies use them concurrently.
If your data structure needs are changing and growing fast every minute, you need NoSQL; whereas, if you don’t have a changing structure and have a moderate growth rate, you must opt for SQL.
If you are still confused, don’t hesitate – approach App-Scoop!