I am currently working at a startup company called Nestia as a Senior iOS Developer. Nestia is a startup company in Singapore. We started as a property rental startup company. But our business has grown to more than just the property sector. We are now a Home Living/Lifestyle startup company.
What is a Lifestyle Startup Company?
We are trying to provide all the needs/wants for the foreigners who come to Singapore to work or study.
They need to rent/buy an apartment, we develop the Property Rental and Sale listing web/apps for them. They need to know how to get around the Singapore, we develop the Interactive MRT map, the Bus Routes and Arrival Time, Direction from A to B and Get Off Alarm for them. They want to know what are the place of interest and also need help for cleaning their apartment. We have added the Home Services and Nearby in our app for their convenience.
Thus, If you are using the Nestia App. You will see some features such as the Property Rental/Sales, Transportations, Home Services, Nearby, Movies and more in our app.
If you are a iPhone user in Singapore. You may go to the iTunes Appstore on your mobile devices and go to Lifestyle category. You should see the Nestia iOS app rank within the Top 10 positions on the Lifestyle Category of Singapore App Store.
From the App Annie, you can see that our app has been ranked consistently within the top 10 position in the Singapore Lifestyle on the iOS App store since early 2016.
My Responsibilities as the iOS Developer
Basically, there are 2 different apps that I developed in Nestia:-
1. Nestia Pro iOS App (Property publishing and management app for property agents)
2. Nestia User iOS App (The lifestyle app for common users)
Nestia Pro iOS App is the First app that I started to build because during that time, our web portal has just been launched. We have to develop an app for the property agents to manage the property listings. After the Nestia Pro app has the decent functionalities, we focus most of our time and energy on the Nestia user apps.
The initial stage of the Nestia user app contains only the messaging and the property listing functionality. Now, it has other additional features like Transportation and Home Services like I mentioned above.
In the First 10 months when I was working in Nestia, I was the only iOS developer for both the apps.
But now, there are 2 more iOS developers joining the iOS development team. It has been interesting to develop the apps in a team using Git version control. I have learned deeper into the Git by learning how to control the master branch in released stage, create new development branches, merge the branches, rebasing, solving the conflicts and etc. It has been a good learning experience.
I will only describe the features that I developed myself in the bottom post.
Nestia Pro (For Property Agents)
This is the app for the property agents. They use the app to add/edit/publish the property rental and sale listings. I will explain briefly on some of the features that I developed for this agent app:-
1. The property listing page (Rental and Sales)
2. The Property submissions page (Rental and Sales)
3. Co-broke (Rental)
4. Inbox (App messaging)
The property agent can register an account with us via our website or the app for Free. We have given the agents at least 6 months of free trial before they decide if they want to join us as paying members.
The agents can submit and view their listings via the app. The agent can even co-broke with other agents for any potential rental deals. In the co-broke feature, the agent can search for a property using place, condo or MRT station.
The agent can use our app to communicate with the potential tenants, buyers or other agents for the co-broking.
Nestia Lifestyle app – (For Common Users)
The early stage of the Nestia iOS app contains only the Property rental feature. Because the main targetted users of our app are the foreigners who are either working or studying in Singapore, as time passed by, we have added more features into the app to help them in their daily lifestyle.
We really care about the user experience of our products. Many of the touches, how and when to load info/photo, the navigation from 1 view to another view have been properly planned in a way to give the best experience for the users of our app.
NOTE: There are too many features on this app and I will only share the main features.
The Property Listing View
We want to make the First page of property listing as simple as possible. The vertical loading of the property list. When a user is going to the homepage of the property rental/sales, we have limited the loading to only 10 properties at a time (using the paging logic). This is to prevent the long waiting time. As for the property photo for each property, we only load 2 photos at the same time. Each swipe of the photo will only load 2 photos as well.
This type of small logics of loading is not easy to implement. We have implemented it because we know that it will improve the user experience.
The Property Map View
The clustering technology. There are many clustering technology and we find out that most of the clustering technology out there will have random generated clusters that always have random numbers for every single scroll and zoom level. We believe that user might be confused and might not be able to find the property that the user has previously seen.
So, we have implemented a clustering technology that based on different zoom level. Within a certain zoom levels and without changing the property filters, the number of properties inside that cluster will be static. It will ensure that the user is able to find back the same property inside the same cluster at the same location inside the map view itself.
Yet again. this type of clustering is not easy to implement because we have removed the randomness of the clustering. We have implemented it because we believe the users would prefer this type of clustering property search inside a map view.
To further simplify the property search on the mapview, we only limited the cluster to only 3 layers. Users know exactly what to expect after using our app for the first time. Most of the time, you will not know how many layers are there for the clustering on other apps as there could be unlimited layers.
The Location Search Filter
When a user is searching a location, there could be 3 different types of results:-
– A Place
– A Condo
– A MRT/LRT station.
These search results are not randomly selected, we did that because we believe it will provide a lot of convenience to the users of our app. After the user has selected a search result. The coordinate of that result be will compared further with the coordinates of the property to let the user know the distance between them. If you go to the static map of the property listing page, it will let you know the fastest route between these 2 locations (either via walking only or MRT + walking). Here, we actually are using the Google static map technology to compare 2 different locations.
Transportation is second biggest module after the Property Rental and the Sales. It is to provide the convenience of the users who want to know how to get around Singapore. The main modules for the transportations are:-
– The MRT Interactive System Map
– The MRT Map
– The Bus Arrival Time
– Get-off Alarm
The MRT Interactive System Map
Most of the app/website only have static MRT graphic map which give very little information. Our app has this MRT Interactive map which allow the users to choose 2 different stations. After choosing 2 stations, the map will show the closest route between 2 stations, the cost and the estimated time.
The MRT Map
This MRT Map is a more detailed map compare with the graphic map. It shows all the route of the MRT system in Singapore.
The map has 3 layers:-
Layer 1: Show all the MRT routes
Layer 2: Show all routes + MRT station
Layer 3: Show the routes + MRT stations and the station Exits
The user of our app can do some filtering using the station and the map will navigate to that station. It will also show the MRT schedule of that station.
The Bus Arrival Time
Land Transport Authority has done a great job by providing the open API for the bus arrival time. Not only that, I personally have been a frequent user of this particular feature of the app. I can assure you that the bus arrival time is accurate to the seconds. It helps me to plan my travel time properly.
Direction (from A to B)
Direction is the module used by our app users to get around Singapore. The users can enter the location A and B, then we will shows:-
– The Best Recommended Routes
– The Less walking Routes
– The Bus Only Routes
It is up to the users to choose which route is the best for him/her. For each of the routes, the app will also show the cost and the estimated time.
On the Direction map view, it shows the the walking route, the MRT stations, the MRT station Exists and also the bus routes.
The map and the table view may look simple but it is not easy to implement. It is difficult because there are so many ways to get the the same location. To prevent misleading, we need to show the right information to the users. The height of the table view cells will have to be determined in real time based on the information returned from the server. For example, some cell might has only 1 row but other cells might have 3 rows.
Final Notes on the Nestia iOS Apps
I couldn’t cover all the features that I developed for the Nestia app in this post. Here are some other features that I have developed.
The Get-off Alarm – When the user is riding a bus, he/she can set a bus stop to get off. The user can do other stuff, put the app in the background. When the bus is approaching the destination, it will sound the alarm to alert the user to get off from the bus. We are using the GPS and the background location technology.
Home Services – The current apps has 10 different home services: Aircon, Cleaning, Moving, Plumbing, Laundry, Electrical, Paint, Wallpaper, Locksmith and Pest-control.
Favourites – Users can add Property Rental, Sales, Home Services to the Favourites so that they can access the listing easier in the future.
Inbox – The user can communicate with the property agents or owner via the Nestia app. We are using Push Notification technology to notify the users when they have new messages. The current messaging system support the normal text message, the picture message and the property card message. In the future, there will be more message type when we allow the user to use the in-app messaging to communicate with the service provider.
Nearby – The user can use Nearby to find out the Place of Interest from his/her current location. For example, if a user is trying to find the nearest petrol station, with a few taps on the app, the petrol stations info will be available on the screen.
Property Details Page – On the property detail page itself not only has the info related to the property, we also include feature like Transport, Direction and Nearby. The user knows all the available transportations and place of interest near that particular property.
The above post is a summary of the apps that I developed when working in Nestia as a senior iOS developer, if you are interested to find out more about the apps, please download the apps and give them a try!