Skip to main content

Building a web demo for a native iOS app in the mobile apps era

This is one of those achievements that had me yell a big "YAYYYYY" when I had it working, even though it is not complete at this stage. After coming across some hurdles, I finally managed to deploy a web demo for my iOS app My Day To-Do that anyone with a mobile or PC can try. In this short post, I will talk about my motivation for it as well as shed some light on my overall solution and I will conclude this post with my thoughts on this approach and what I think about it, in current day and age. 

Motivation 

My Day To-Dos has both a free and a paid version and the distinguishing features between the two are (at this stage)

  1. weather summary
  2. selecting the language the app talks in
The above features are only available in the paid version and I wanted to give any prospective users a feel for what these features are like.

Solution


I have already written about the unique way in which I built my native iOS app i.e. Html5 for UI and native code for things such as Core Data, Local Notifications among others. If you want to know more about what I am talking about, have a look at my Github repo which provides an Xcode project template that can help you get started on making such an app. Remember my app is not a hybrid app, it is a purely native iOS app that simply uses Html5 for it's UI.

In the light of the aforementioned info, it was only logical that I prepare a web based demo for my app especially since I could reuse all the code for the app's UI. I deployed the first version for the app's demo a couple of days ago and preparing the demo took very little time thanks to the way I built the app. You can checkout the demo for My Day To-Dos here and I would love get some feedback. Please keep in mind that, it's still a work in progress amongst other things, I hope to add a better tutorial of how to use the app. The purpose of this demo is to give the users a feel of the features unique to the paid app i.e. the features mentioned in the motivation part of this post.

Conclusion

To be able to access the app demo over www feels great and it was an important milestone for my work on the app. I encountered a couple of more issues with it, that I will blog about later, until then back to work on my app and remember give the demo a try and give me some feedback(if any). 

What I have realised in all of this is that my thinking is somewhat old school and these are modern times and such an approach does not quite work i.e. a demo for a native app. My thinking was correct in that I was thinking like a gamer and that too a PC gamer growing up in the 90's in that I would try a demo for a PC game before I would buy it. However things work differently in the App world, people download mobile games for free and then unlock them via in-app purchases, but anyway if anything the demo for my app proves one thing and that is my decision to use HTML5 based UI for a purely native iOS app is good in that I can reuse the exact same code when I develop a full web version of My Day To-Do.

p.s. when I released my iOS app, the trend I saw with most popular iOS apps was that you get a paid version and a free version with limited features, I couldn't find an example of a demo for an app that lets you try out the features of the paid version

Comments

theninehertz said…
Thanks for your great blog. But you can also find something new for ionic framework app development that is easily available and can learn very partly. It is cost-efficient and reduces the need for maintenance too.

Popular posts from this blog

Upload to AWS S3 from Java API

In this post, you will see code samples for how to upload a file to AWS S3 bucket from a Java Spring Boot app. The code you will see here is from one of my open-source repositories on Github, called document-sharing. Problem Let’s say you are building a document sharing app where you allow your users to upload the file to a public cloud solution. Now, let’s say you are building the API for your app with Spring Boot and you are using AWS S3 as your public cloud solution. How would you do that? This blog post contains the code that can help you achieve that. Read more below,  Upload to AWS S3 bucket from Java Spring Boot app - My Day To-Do (mydaytodo.com)

Addressing app review rejections for auto-renewing subscription in-app purchase (iOS)

The ability to know what the weather is like while planning your day is a feature of  My Day To-Do  Pro and as of the last update it’s also a part of the  Lite version . Unlike the Pro version it’s an auto-renewing subscription based  in-app purchase (IAP)  in the Lite version. What means is that when a user purchases it, the user only pays for the subscription duration after which the user will be automatically charged for the next period. Adding an  auto-renewing  subscription based IAP proved to be somewhat challenging in terms of the app store review i.e. the app update was rejected by the App Review team thrice because of missing information about the IAP. Therefore in this post I will share my experiences and knowledge of adding auto-renewing IAP in hopes to save someone else the time that I had to spend on this problem. In-App purchase This year I started adding IAPs to My Day To-Do Lite which lead to learning about different types of IAP...

Getting started with iOS programming using Swift (Part 1)

I have not been too fond of Objective-C, which was the primary reason for me to stay away from making iOS apps till now. So what changed? Well Apple has done something very interesting recently and that is the introduction of a new programming language i.e. Swift. Swift is awesome, it almost feels like Python, C++ and Objective-C had a baby with some of their good parts in them. So I have been getting to know Swift and it is an awesome language to program in. What I am going to share with this and a series of blog posts are solutions to some problems that i have encounter while i am trying to finish my first iOS app. The one hurdle that I have encountered while getting started on developing an iOS app is that a majority of the solutions for iOS specific problems provide solutions to them using Objective-C. Which is fair, because Swift has not been around for that long. Anyway let us get started with a few basics, A few basics I would highly recommend having a read of this book...