Watch Over Me Version 6.0

To wrap up the First month of 2015, I am going to share the continuous development for the Watch Over Me app.

The last update that I wrote related to my company’s mobile app was back on March 2014. The version was Watch Over Me (WOM) 3.0. It seems to be a long time ago. There has been a lot of changes and we have gone through many new iterations. We have skipped the version 4.0 in order to synch version between the Android and also the iOS app. We have introduced new features in both Version 5.0 and 6.0. In this article, I will make a quick share on my experience on developing the WOM app from Version 3.0 to Version 6.0.

WOM6.0
WOM2.0
WOM2.0


Watch Over Me (WOM) Version 5.0 – 5.1

Before WOM 5.0, I don’t have too much experience and knowledge in Auto Layout. During the time I was developing some cool new features in WOM 5, Apple has announced the new XCode 6 Beta with a new programming language – Swift during the WWDC 2014. In addition to that, Apple actually gave some hints that the future iPhones will have new screen sizes (which turned out to be iPhone 6 and 6 plus).

The new XCode 6 also has a lot of improvements related to the Auto Layout on Storyboard. The improvement is necessary to make sure that the iOS developers can easily optimize for the new iPhone/iPad screen sizes in the future.

I was actually quite excited that Apple has made the AutoLayout so much easy to use. We had our internal discussion in our company and I convinced my boss that we need to spend time in converting the existing non-autolayout supported project to become a fully auto layout supported project. After gaining his permission and I used about 3 weeks of time to complete the AutoLayout conversion (It was not an easy task!).

It turned out that our decision was right. When Apple released the new iPhone 6 and 6 Plus, for me to optimise for the new screen sizes was almost effortlessly. 🙂

WOM6.0
WOM2.0
WOM2.0


Supporting the autolayout on Watch Over Me 5.0 – 5.1 was the major improvement. We also have added a couple more features on the mobile app such as :-

– The Network Contact
The main contact and the emergency contacts are able to know the status event running for each other. Eg: When the main contact is running an event and he/she shares his/her event to the emergency contacts, the emergency contacts are able to see the whereabouts (the map) of the main contact.

– Split Testing on the Sign Up Screen
There are 2 different designs on the Sign Up Screen. Each of the user will only see 1 design. We split test the design to know which design actually will convert the download to become a sign up user. We have been using Mixpanel and also the Google Analytics for the data analytics. This Split Testing was added into the tracking as well.

– Optimisation for iOS 8.0
Without a doubt, optimising the code to support the iOS 8.0 was important as well. There are some new permissions needed in iOS in order to gain the device’s location in the background for iOS 8.

WOM6.0
WOM2.0
WOM2.0


Watch Over Me Version 6.0

The major thing for WOM 6.0 was a total new design on the User Interface. The designer has made the design so much cleaner. I actually love this clean design in WOM 6 way more than any other version of WOM.

We also introduced a new feature calls “The Safety Level“. Safety Level is a feature that encourages the users to make the full use of Watch Over Me app. The user can keep track on his/her progress of using the WOM. Eg: If a user has added 1 contact, then the Safety level is at 20%.

If the user wants to achieve the 100% safety level, the user has to add more contacts, invite the emergency contacts to download the app so that they can watch over each other, add some places (safe zones). With the 100% Safety Level, the user will feel more safe when he/she is using the app.

To encourage users to use Watch Over Me more often, we have simplified the user categories and also removed a lot of restrictions. Eg: Before WOM 6, the Lite user could only launch an event with at most 20 minutes. We have removed this limitation. The only difference between the normal users (Free) and the paid user (Premium) is the SMS. Since SMS notification will cost quite a bit of money, only the Premium users can get unlimited SMS and the free user will get 7 SMS.

There were some further optimisations for iOS 8, iPhone 6 and 6 Plus for this version. On this version, CocoaPods is being used more often now. I have added some of the third party libraries/frameworks on XCode using Cocoapod rather than manually adding them. It is to make sure that any new iOS developer (who wants to continue my project in the future) is able to get the initial configuration on getting the project up and running at the shortest time.

WOM6.0
WOM2.0
WOM2.0


Watch Over Me – Future Version

We will be launching a new feature calls the Safer Streets soon. Moving forward, the Watch Over Me Team will be focusing on the Big Data.

Watch Over Me is a safety app, especially for women. The app will let the users know that which streets are safe based on the statistics from the local government. When a user is nearby a crime prone area, the app will notify the user. The user might want to use Watch Over me when he/she is nearby that area.

There are some challenges to implement the Safer Streets. First of all, the app has to get the user’s location all the time (No matter if the app is active, in the background or in the suspended state). Secondly, when a user is launching the Watch Over Me event, the GPS coordinates of the user has to be sending to the Watch Over Me server every 1 minute.

In order for the Location Manager to support these 2 different functions on the same app, the only way that I can think of is to use 2 different Location Manager instances.

Location Manager #1: Get the Location update even when the app is terminated/killed.
Location Manager #2: Get the GPS coordinates from the user every 1 minute continuously even when the app is in the background.

Here is the demonstration of the WOM 6 with XCode and Simulator

Swift, Home Automation and Indoor Positioning System

There is not much update on this website on June and July because I have been busy with my company project (Watch Over Me 3.0 Enhancement) and also my personal project. The personal project is a dating social network on mobile. This personal project is developed with the intention to test my skills and to learn new things. I do not have any plan to monetize it at the moment. To develop this app, I am using Facebook and Parse API heavily. The “engine” behind this app is mostly complete. I still have to add some features and polish the interface before ready to be uploaded to the appstore. There will be more updates on this dating social network within the next 2 months.

The Apple Worldwide Developers Conference 2014 (WWDC 2014)

There are some exciting announcements by Apple during the WWDC 2014. For example, the new programming language – Swift and the new frameworks like Home Automation and also the new APIs on CoreBluetooth and CoreLocation. All of these will be ready to ship by Apple probably on September 2014 together with the stable version of XCode 6 and iOS 8.

Swift – Programming Language

Swift is a new programming language that is developed by Apple for iOS and OSX. When the Swift was announced, I did a simple Google search and I was surprised to find out that Swift has been in the development for almost 5 years. It means that Steve Jobs could have been involved in the early stage of the development of Swift. He could have been the visionary behind the development and he knows that Swift could replace Objective-C in the future and make the apps development much easier, faster and powerful.

Since the release of Swift on the XCode 6 Beta, there has been many discussions on the comparison between Swift and Objective-C. At the First glance, I found out that the variable declaration is somewhat similar to JavaScript. After watching the WWDC videos, I understand that Swift is designed to be more safe, more modern and more power.

Safe: The design of the syntax + the auto error detection by the XCode has made the chances of a programmer to create an erroneous code will be reduced to the minimal.
Modern: The programming syntax is modern. It was described as the “Objective-C without the C”. Develop a similar app using both Objective-C and Swift, the development using Swift could be faster because the developer can develop using lesses lines of codes. Some unnecessary syntax such as @ and { } has been removed when comparing with the codes in Objective-C.
Power: Swift has some powerful features such as Nested type and Extensions that will help developer to create great apps.

Here is a list of videos titles related to Swift on WWDC 2014:-
402 Introduction to Swift
403 Intermediate Swift
404 Advanced Swift
406 Integrating Swift with Objective-C
407 Swift interoperability in depth
408 Swift playgrounds
409 Introduction to lldb and the Swift repl
410 Advanced Swift Debugging in lldb

You should be able to watch/download it from: https://developer.apple.com/videos/wwdc/2014/

I have watched all these videos and started to learn Swift since a month ago. I am going to get more serious in it on August and hope that I can master it together with some new features on XCode 6. I am going to convert all the codes on the dating app that I developed to Swift as well.

Apple mentioned that they have big plans for Swift. Well, we shall wait and see.

Home Automation and Indoor Positioning System

Apple has released a new framework calls HomeKit for the iOS developers. The HomeKit can be used to create mobile apps to communicate and control different devices in a house such as television, lightings, air conditioner, garage door and more.

The core technology in the HomeKit is Bluetooth LE. So, the communication using the iPhone/iPad to control the home devices will not consume a lot of battery. Since iBeacon (the indoor proximity system by Apple) is using Bluetooth as well, so, HomeKit and Indoor positioning system are closely related and may compliment each other.

Bluetooth technology is going to play an important role for the years to come as I believe the development of the technology is moving towards indoor. There are many exciting developments in the Smart Home and also Indoor positioning technology. Just to name a few:
1. Google has acquired Nest (maker of “smart” thermostats and smoke alarms for homes) for USD $ 3.2 Billions.
2. The new CoreLocation framework by Apple for iOS 8 will support multistory building. It means that you will know which floor that you are currently standing inside a building from your iPhone.

I am not sure about you. But, I am very excited on the latest development on the mobile app ecosystem. I really can’t wait to see how these new technologies shape the world in the next few years.

iBeacon and Indoor Positioning System (IPS)

I have been excited for the Indoor Positioning System (IPS) Technology for a quite while. In fact, one of the main reasons I train myself to be an iOS developer is because I want to develop some excited Location and Positioning Based Mobile apps that will change the way we do things in life.

What is Indoor Positioning System?

Indoor Positioning System is a new technology that probably only exists in less than 15 years ago. When I am trying to find more information about this IPS technology from Wikipedia, the earliest research paper on the reference was dated based in year 2009. But when I am searching through google search, I found some research papers on early 2000s.

So, this is a relatively new technology that we haven’t see much applications on the real world yet. But, this will definitely change in the next 5 years.

With the exponential growth of the smart phone users, we have seen a lot of location based (GPS) mobile applications that pop up in the last 5 years. For your information, Global Positioning System (GPS) was developed in 1940s during the World War 2. So, GPS was initially developed to pinpoint the enemy’s location so that they can launch a missile to that location. Thanks to the mobile technology, the GPS technology has been highly commercialised to the mass market in the last 5 years.

All the smart phones users know very well that the Global Positioning System (GPS) does not work well inside a building. This is where the Indoor Positioning System comes into existence.

I am actually betting that the Indoor Positioning System will become highly commercialised within the next 5 years. There will be a lot of innovative mobile apps coming out of it that will make our life easier.

What is iBeacon?

Beacon is actually a device that transmits signal to its surrounding to determine the approximate distance betweens some objects and the broadcaster. We have seen some real world applications like on a car with reverse sensor. That sensor is actually a type of beacon.

iBeacon, on the other way, is a term trademarked by Apple. It is a new iOS technology which is only available on iOS 7 and onwards. iBeacon is using Bluetooth LE (Low Energy) to determine the your location as far as 10 50 meters inside a building.

The vivid location based Mobile apps users know very well that the location based apps usually consume a lot of battery, especially on the navigation mobile apps.

One of the big advantages over the GPS technology is that the IPS technology such as Bluetooth consumes a lot less battery. Even if you turn your bluetooth on 24 hours per day, you almost never feel any battery drain at all.

Some people mentioned that iBeacon is better than the Near Field Communication (NFC) technology that is available on some Android devices. It is due to its greater distance in discovery (iBeacon: 10 50 meters vs. NFC: 20 cms) and energy efficiency.

You may learn the details on the iBeacon here: iBeacon – Wikipedia.

So, What’s Next?

Some people mentioned that after Steve jobs passed aways, there isn’t much innovations coming out from Apple. This isn’t true. We have seen the innovation from Apple from iPhone 5s which has the fingerprint recognition technology and also this iBeacon Technology.

The DNA that Steve Jobs has implemented into Apple will last for a very long time. Apple was late in the map and location technology when comparing with Google. But, it has been catching up fast.

Apple has acquired an Indoor Positioning company – WiFiSlam for $20 millions. There isn’t much news from Apple after the acquisition. I believe we will hear something within the next 1 year.

Don Dodge, who is a Developer Advocate for Google, mentioned in his blog post that there will be many potential markets that could adopt IPS technology. There will be a lot of winners in this technology. He is also an investor and also advisor for some of the IPS startups.

I am very excited to see what will be coming out from iBeacon and Indoor Positioning System within the next 5 years. I just started to learn iBeacon iOS framework and I will make a new post when I am ready to share.