The average Indian mobile consumer is very concerned about his balance and he is scared that the mobile operator would take money out of his pre-paid card without his consent.
The same fear extends to internet. The end user like videos and audios. The end user goes to PC and downloads the same and copies to mobile. Does the end user really have time to spend? No. But he is afraid to download and is ready to spend the time to copy at store. He has not come out of the fear that was created by the mobile providers who took money from his prepaid card.
What can be done to bring confidence to user and opportunity to drive traffic, downloads and increased monetization?
Today I want some of my friends to view a video. There is no way that I can provide them to watch video free on the mobile. They themselves would not do so as they will not know the cost to view a particular videos and then why they should risk their money?
How would it be if there is a service offered by the operator which allows business to upload video or audio or document and the operator would say the cost per user download. The cost is paid by business ahead of time and then business sends SMS to their customers with the video link and also the information that video can be viewed free. The business take the charge as part of business marketing expense or customer acquisition expense. In this approach, the operator has got the money, business is comfortable with fixed cost and the consumer does not fear of being cheated.
Indian cellular provider came with application store. These application stores did not come with any new innovation beyond what was provided by Google. May be they tried to create a regional representation of the the Google Play Store. Can they introduce a concept called gift card in addition to prepaid card? I know my friends number and can buy a gift card specific to his number and provide to my friend. When he activates the card, the money gets accounted against his card. My friend can choose use the balance provided by me for interacting with me.
Why neither Google nor Samsung nor mobile providers working to introduce something like Amazon Coins. It is Virtual currency that can be used to purchase applications, games or internet based on the value of the currency. A mobile provider can offer virtual currency with better benefits.
- offer service for the time the virtual currency is valid.
- A customer who consumes more internet is provided with discounts with more the virtual currency bought by the user.
- offer users who buy Coins in bulk.
- offer bonus for long term customers and use it as retention plan.
- There shall be a way to get percentage of money spend on coins at end of period where the coins are not used by the end users.
After 12 years working primarily with Microsoft Technologies, I restarted on LAMP stack at MobiSir. It is fact that craze of VC++ and MFC moved me from Unix to Microsoft technologies. The movement has not been easy and still grasping the cross over. We have a good team of developers, good with Open Source and Free Software with Balaji Kutty in lead and I compliment the team to deliver better. Being a company that is starved for money, I am able to see the benefit companies gain by developing using Open Source solutions.
- Open Source model provides access to code and hence the time to quality and time to security are faster than proprietary alternatives. In addition when there are issues or vulnerabilities, we are able to leverage the open source community model which is more mature, still being free.
- Developing for the cloud, provides more reasons to develop using open source software and conservative enterprises are ready to look at quality and robustness of OSS to reduce costs. Business mantra to reduce costs seems to make difference. Microsoft Azure supports LAMP stack proves this outlook.
- Open API. I see new generation companies like Bing, Facebook, LinkedIn or Google expose data and content via open APIs. They have abstracted the technology and ensure interoperability through APIs. This makes consumption of these services from any platform seamless. SaaS platforms drive the adoption of Open Source.
- I have seen adoption of Subversion. today it amazes me to see the adoption of GitHub in developer community across all platforms. Effectively open source supports a mechanism to reach market and helps in adoption of new means of using technology.
Going to enterprise, the following are still open challenges.
- Have right set of technical person expertise in LAMP stack to lead software development using Open Source. Should business focus on training and building a team of open source developers which might not be their core focus?
- Will the business be ready to take risk of Open Source Software without an expert in developing and implementing solutions with Open Source initiative?
- Though Open Source Software is free, the cost of technical resources is costlier in open-source software than commercial software. This makes OSS ideal for companies building products with open-source business model(offers fully supported and tested version of the software) or solution companies that consult and serve these product companies.
- In enterprise, there is no clear architecture paradigm that can handle internal and external services How to handle interactions between mobile Clients and Enterprise Business Application Server across fire wall, How will the Enterprise Business Application Services and Third party cloud serviced operate together.
As I post this blog, we are consulting companies who want to reduce costs and decide to migrate non-core application from proprietary stack to open source stack by providing the training and technical leadership to their development team. We are happy with the billing we get and the clients are happy with the visibility in the reduction of cost.
Our consumer based mobile applications always was integrated to support updates through the application driven by our product needs of managing and handling content. when we helped a client of us, we have published the application with more of static content. The application was downloaded in large numbers and we realized that we have not have developed application to update itself. I have not equipped my client client with these questions
- How to manage the application content and make sure it always remains relevant? How to keep engaging with the application users after launch?
- One the app is launched, do you have some one to actively manage the app, update the content if required, understand what works with users and improve the same?
- How do you update the user that application has been upgraded?
One can work with development team and submit the app to app store and users can download the app again. Can we also look at ways to allow the application content to be updated directly without the need for involving the application developer and without going to the store. What support the business person needs?
- Support to direct and manage the site without developers. We are having the same problem we had with website created earlier now with mobile applications
- Analytic to provide data which part of the application is engaging the user
- Ability to segment the users and push personalized notifications based on their expressed interest and user behavior.
I started my programming 20 years back. I learnt computer programming by learning from books, writing algorithm in paper and then compiling the same at the computer terminal. In those days , I neither had personal computing power and access to internet and we had limited shared computer time. I used to write algorithm in paper and get it right before going to computer. Things seems to be changed for young programmers today.
A developer working with me has got existing libraries from the internet and has been using in the project. The developer has been completing things faster and had a good impression. I missed to follow code review closely with first impression. Deep in to the project, I found that the checked-out project code does not compile and the code compiles and works for the developer. I upgraded my development environment and then the same condition continued and made me to to walk-through the code. The code seems to be cumbersome and is not in optimal way and the code is not modular and need re-factoring. Once code is compiled, I find the code has performance issues and does not work on simulator and works only on the actual device.
- The developer shares that he is using the API provided by the platform owner and asks me a question should we not follow the recommendation and assume it is right.
- The developer is not aware that he needs to check and verify the copyright for the third party external code.
- The developer has not spend time to understand the whole external code and identify which part of the code is needed in the project. He has referenced the whole library, when only one class is being used for the project goals and there is no reference to other classes in the project from this single class or any where in the project.
- The developer points that some of the reported issues originate from the external code.
Today every one has access to internet. No body wants to start coding a real-world project from scratch any more. I hated the situation I have put myself failing to enforce the code review process from day one. Then I calmed down myself and saw a need to educate developers to make use of existing code. My suggestions are
- Find whether required code exists in external library: Find existing snippets of code to build my project upon. modern programmers usually scavenge parts from existing projects.
- Support for external code: You might use a popular MIT library or jQuery library with large developer following or code from a unknown third party developer or code that has not been updated for months now. In all the cases, you are responsible to perform home work to assess external code capabilities and limitations.
- Validate whether external code suits to your need: Compile and run the code on various inputs, debug the code with “print” statements. Does the code solve your specific user case? Check for copyright violations. Ask permission to your architect/manager to use the code.
- Doubt the external code: You do not want to reinvent the wheel, but remember it is hard to figure that existing code can be molded to do what we want to achieve. One is to see whether existing code based has support for bugs that can be reached in case of problems in the future.
- Own your code and external code as single code base: Once you decided to make use of external code, if the external code does not play nicely with your code, you are solely responsible for the boundary conditions and race conditions of the entire code base. You also own the modular structure of the entire code-base.
- Re-factor: Cool. You have got things working as quickly as possible. Identify patterns and repetitions in my code and create abstractions to clean up and make the code modular. The more you re-factor, the interfaces between your code and external code becomes clean and you get a better grasp of the code.
Let me complete blog with my call on programming and add some questions that I am going to ponder upon.
”There is no short-cut to be skilled at programming other than practice over many years. To practice long, you need to be passionate about what you do.”
- What is the disconnect between how people actually build code and how we teach programming in classrooms?
- How to mirror real-world programming scenarios in the classroom?
- How the developers taught the responsibility involved with software development?
- Can the developer me made to practice to write unit tests in college itself?
A thoughtful reader pointed out a wonderful list written by French author Daniel Pennac, in The Rights of the Reader.
1. The right not to read
2. The right to skip
3. The right not to finish a book
4. The right to re-read
5. The right to read anything
6. The right to mistake a book for real life
7. The right to read anywhere
8. The right to dip in
9. The right to read out loud
10. The right to be quiet and not discuss the book with anyone
Today I see some folks implementing DRM trying to restrict the number of times a book is being read.
In the month of April, I came across two observations that drives me to write this blog..
- Thulir from Sittilingi Village had send email asking people to donate one side pages for their school students.
- We run Karunashraya old newspaper campaign. We had to wait some time. I found that a lot of school notebooks has also been send with old newspapers. When I opened and inspected them, most of the note books had a lot of unused pages. There was a notebook that has only one page written and all remaining pages unused.
I am not sure whether these children are aware of conserving paper and also know that these unused pages can be of help to lot of deprived children. Do their parents share with them about conserving paper? How to make children aware that unused pages of previous class notebook can be of use to others?
Let me look back at myself. When I was at school, my father used to question me why I am not writing in all lines of page and what is the need for leaving half of the page because the teacher has signed right after the second sentence in the top of the page. The teacher would ask me to start from a fresh page and he would ask me not to waste pages and I did not like my father as none of my friends wrote on the same page. I do not write in notebook any more, but realize the importance of what my father said.
Let me look at my children. When I attend conferences or events, I bring the notepads given to me and leave at home. My daughters started using them. They started using the one side pages for drawing their dreams. I do know that my wife removes unused pages and makes them as rough notebooks for the next class.
We took those notebooks and removed unused pages and plan to donate them. I also want to request you to be aware of this in your notebook or your child’s notebook. Please reused the unused pages for your own child or remove them and donate to poor children. Call me if you want to stitch them in to notebook and donate.
My daughter Mrinalini went to a Montessori school right behind our apartment for last 4 years and would be moving to a different school for first standard. Today I like the school and the way the principal operates. The fees are nominal for the type of quality and valuable education offered without rote. Some features I liked very much about the school are
- The teacher – student ratio is less and the children get individual attention. They also demand parents to spend time with children
- The teacher and the principal are friendly to children and the children like to visit the school every day. We should look this aspect of them with understanding that a school has its own rules and regulations and school need not be change as per parents desires and demands.
- The teachers and the principal takes a lot of ownership in child’s education. They are offering education as value and not education as service. The principal is clear with expectation that parents have to drop and pick up at right times. They neither use their structure for any other activity outside school hours
- Principal is inclusive person. She is cost conscious for parents too . The school organizes functions for Montessori day and school day at the school premises. The beauty also is that annual day happens on the school day.
- The school is innovative and hardworking for the children and their parents. As the space in school for audience might limited, they organize the performance multiple number of times and schedule different group of parents to come.
- The parents are called for regular observations. I am amazed to observe that the organized and disciplined approach of Mrinalini definitely has the seed in the school.
On Saturday, Mrinalini has Montessori completion day. Some parents have driven the wish that the celebrations need to be performed in larger auditorium and also over weekend and parents and grand parents to come. They want to make completion day as “Graduation Day”. The Principal changed herself and started to look at a best venue(cost effective) where children can perform the best and this place is 20 Kms from our home and the school. I am sure most of parents are happy to do this drive.
The teacher wanted to be cost conscious and with parents explicit wishes, changed her outlook to think that I will look for the best place for my children to play well. Nevertheless it talks of how the school is open to change for the happiness of the children and parents.
Exploring business in education space,I see the irony on one side, we want teachers and schools to offer valuable education at right costs and on other hands parents are interested in their desires and ready to shell more money to satisfy their wishes and the same parent is unhappy to see the school and college fees increasing year on year. For education space to transform, the parents have to undergo a change before the child or the school.
Thanks Sheela and teachers of First Step school. Recommend First Step School for parents staying in Brook-field area.