Sunday 5 July 2015

The Food Tech Bubble.



Working in the Tech Industry and specially in Bangalore, it is no surprise to hear companies getting multi million funding. Few years back ,only people with good amount of money could only start and successfully run a company (of course there are a few exceptions). The middle class employees rarely thought of opening a start up. But those days are gone. A concept named funding has changed it all. Now if  you have  a good idea, a very strong team and some seed funding, you are ready to chase your dreams.
The tech extravaganza all started with E-Commerce.  Last year we saw the rise of food industry. But unlike E-Commerce which is currently dominated by big players like Flipkart, Snapdeal and Myntra. there are no dominant players in the food industry as of now. Few months back in Bangalore, there were JustEat and FoodPanda. But in the past few months a number of other food  startups like Swiggy, Tinyowl have started their operations in Bangalore. With Zomato also entering with Zomato-Order there is definitely a competition among the food tech startups. A close friend of mine which is also working on something similar to this has told me that at present there are 36 food startups which he knows about. 
Most of these food ordering applications try to build their customer by giving them discounts. Most of the applications give discounts for first time users and some continue giving them on weekends and some  give  it to  users who order only through their application.  I remember JUSTEAT giving 50% discount for appusers for almost a month. I also ordered food through their app maybe twice or thrice in that period. But after that I don't remember ordering again from JUSTEAT because they were giving no discount. Recently foodpanda also give a heavy discount of Rs 300 on Rs 450. Again we quicky ordered our lunch from foodpanda and if the offer continues, we will order a few more times maybe. But the problems with these startups is that as soon as they stop giving discounts and offers, most of the users stop using their application. 
So the thing which really confuses me is that where is all this going? A few years down the lane, what will happen. Will most of these startups shut down? Or will the smaller ones be acquired by the biggers ones and get divided into two-three groups like Flipkart Snapdeal Jabong.?
P.S: I am no technical expert on this. I am a simple user who have used all the above food ordering applications and given a thought on all this. Please feel free to comment or share your ideas.

Friday 10 April 2015

Meaning of Life

I often wonder what is the true sense of life. Is going through a well defined path(the one defined by our society)  like getting good grades in school, admission in a good college, having a well paying job and finally getting married and having children. Is this all about life. Are we really doing any thing to make our  lives meaningful.

I would like to like an incident, which really shakes my basic belief in life.

It was 19th of March (Thursday). I was going  to my hometown. In the morning, I was told in the office by my manager that I was going to be given hike in my salary. Whole day I was thinking of my salary . I was calculating the money which I was going to get at the end of the month, the things I was going to purchase with them. Suddenly my cab stopped at one of the traffic lights and a boy aged nearly 4-5 years came to me with a bunch of pens in his hand. He had around 50 pens. I took 5 pens from him for Rs 50 and then my cab moved on. After some time a thought came in my mind, I thought that the kid won't be able to get to his home until he had sold all of his pens. And all the journey I was blaming myself that why I did not buy all the pens from that kid. At least, that night he could have gone to his house a little early. For me that money would hardly have cost any difference but to that kid, it may be.

After seeing all these things around me, I really wonder what is the real meaning of life when there is so much suffering and sorrow around. But the thought that rather than losing hope, I should continue to do my part (very little it may be), helps me to move on. 

Monday 28 April 2014

Make a simple Sencha Touch Application and deploy it to Android.


Now a days, a lot of applications are developed for mobiles and tablets. Therefore  it becomes difficult for the developers to develop the application separately for each platform. Here comes Sencha Touch. Sencha Touch is a Javascript framework for building cross platform applications using Web Development Technologies like HTML5, CSS3 and Javascript.

When I had the task of building a Sencha Touch application and deploy it to an Android Device,  I went through many tutorials but none of them provided proper documentation from the start till the very end. So here I come, with a  detailed tutorial on how to develop  a Simple Hello Word Application in Sencha Touch and deploy it to  a Android Device. This tutorial is written keeping Linux platform in mind, but should be working for Windows platform also.

PREREQUISITES:


This tutorials asssumes that you have the following  installed on your laptop:
1) A Web Server.
2) Android SDK
3) Ant


For developing a Sencha Touch Application, you need two things. 


1) First is Sencha CMD, which is the command line tool for building your Sencha application. From scaffolding your project to testing and production, Sencha CMD does it all for you. Sencha CMD can be downloaded from the following link.
2) The next thing you need is Sencha Touch Framework. It can be downloaded from the following link. Unzip the downloaded folder. Place this unzipped folder (touch) inside webapps folder if you are using Tomcat Server or inside www folder if you are using Apache Server.

Making a Hello World Application: 


 After installing Sencha CMD and Sencha Touch, the application can be generated using the following  command. The command must be run from inside the touch folder.    

sencha generate app appname <path_to_appname>

So if I run the below command inside touch folder, it will create a Sencha touch application named HelloWorld inside webapps or www folder.

 sencha generate app HelloWorld ../HelloWorld. 
          

 After running the above command, the application is created with the default contents. You can check your application on your browser. Simply start the  server and see the port number on which the  server is running. To see the  application HelloWorld,  go to the browser and type the following url.-    localhost:portno/HelloWorld. 
The snapshot shows how Sencha Touch application looks on the browser.



      
Till this step, your Sencha Touch Application is generated and  running on your browser. The next thing you need to do is deploy this application on Android. To deploy it to Android, you will need a wrapper like Cordova. To download cordova, you need to install node.js which can be downloaded from the following link.

After installing node.js you should be able to download Cordova using the following command

sudo npm install -g cordova. 

This will install  Cordova. Now you can create a Cordova project. Navigate to the webapps or www folder through the command line. Write the following command to create a cordova application. 

cordova create HelloCordova

This will create a project named HelloCordova with id io.cordova.hellocordova at location HelloCordova inside www or webapps folder.

Now navigate to the newly created HelloCordova project and add android platform to it using the following command.

cordova platform add android


Now the Cordova application with platform android is ready. To deploy the Sencha Application HelloWorld in HelloCordova,  navigate to the HelloWorld directory and run the following command

sencha app build production

This will create a build folder inside your HelloWorld project. Go inside build/production/HelloWorld folder and copy all of its contents and paste inside HelloCordova/www folder. This will ask you to replace index.html. Replace the file.

Finally  run this cordova application. Plug in your device and type the following commands
from inside HelloCordova folder. This will deploy  your HelloWorld application in your Android Device. 


cordova prepare android

cordova compile android

cordova run android



I have tried to cover each and every detail from installation to deployment. Yet if you are struck anywhere, do leave a comment. I will revert back soon.