Archive for December, 2012

Location based mobile apps tips

Posted: December 29, 2012 in Uncategorized

some of the useful tips which i got from Microsoft phone meet are as follows

Microsoft has Bing map series from which we get

  • geocode
  • imagery
  • route
  • local search is the place to get more info..

marketplace has certain requirements when it comes to location based apps.. they can be found online.. they are like commandments.. so if you violate any of them then your app will be rejected straight away. you cannot make it to the app store or windows market place.

Some of the app ideas are

  • location based alarm
  • on reach alarm
  • turning off app based on loc or time
  • local search
  • location alert
  • destination alert
  • to-do reminders
  • calorie meters
  • weather forecast
  • utility
  • mojostreet (app example)

test your location based apps under following scenarios

  • with internet
  • without internet with GPS
  • low battery
  • performance

GPS based apps drain battery so take care while designing..


From childhood we have been hearing the proverb

Failures are stepping stones to success..

Recently i encountered a situation where one failure was followed by another failure.. I was lost in commotions. I checked my self and found a few facts to share.

When we fail, take a few minutes to estimate the failure. Ask questions like were u half way through the goals or were you on a completely irrelevant track.

If you were on the right track. Try patching the pit holes that let to failure. This is relatively easy and lets you succeed certainly. Sometimes more practice or analysis could solve our problem and help us attain success.

Dont let or create a avenue for new failure in the process of patching a old failure. It happens when you don’t know why you failed and you are too adventurous trying out stuff. Keep trying and experiments restricted to labs or rooms. At business or when dealing with public we must win. so plan and be prepared.

If you choose completely different route to achieve success then its better to get a mentor or advices so the risk is reduced.

I would hug failures because they provide you a chance to hit targets with a better armor at times. Learning from failures is not very straight forward. Sometimes there is a lot to learn from a single failure.


Dreaming or willing to make this new year a memorable and prosperous year. Who doesn’t want to? Here is one of the 5 point algorithm which I learnt from Rahul Sharma through his video blog on youtube.

Step 1: Think of the big and small wins, failures that you faced in the current year. After thinking do some inventory, put them down on a paper. Don’t hesitate to put down the special moments you had with family and moments that made your client happy.

Step 2: List down the important skills you learnt this year. It could be an important business lesson, an additional course to boost your knowledge. Try listing at least three business lessons, life lessons. This shows your awareness and helps you make better choices.

Step 3:  Pick your goals from your wishes and wants.

List down the big 5 you want to achieve this new year.  You must be obsessed, ready to put in maximum energy into these ideas. This is necessary to prevent getting seduced by other ideas.

List down top 5 values you want to attain in the new year.  It could be a change in behavior, values, freedom, beauty or speaking your mind.

Set goals which stretch, challenge or something which is out of your comfort zone. This ensures you grow in time.

Step 4: Now its time to transform goals to action steps. Plan your goals across 12 months. Tell yourself when to do what. Get your month by month plan ready. Put these on a paper. It should be at least 2 sides of a A4 paper.

Step 5: Close your eyes and visualize. How would you feel if you have completed the plans. Does that transformation in you exciting? This increases the commitment level, makes you engage emotionally. Other benefits are it gives you vivid detail and gives you better clarity.

Revisit the goals every 5 days. Track your goal progress..

A word of caution. Algorithms are easier said than done, So commit to your plans and resolutions.

Have a great year ahead.


We all set goals to our self or at work. But is your goal attainable, ethical, measurable.. at least relevant? Have you checked such terms before putting down the action steps.

Before going to the action steps, lets put the filter and validate our goal.

SMART / SMARTER is a mnemonic to guide people when they set objectives, often called Key Performance Indicators (KPIs), for example for project management, employee performance management and personal development. The letters broadly conform to the words Specific, Measurable, Attainable, Relevant and Time-sensitive with the addition of the words Evaluate and Reevaluate used in more recent literature.

Sources: Wikipedia

Letter Major Term Minor Terms
S Specific Significant, Stretching, Simple
M Meaningful, Motivational, Manageable, Measurable
A Attainable Appropriate, Achievable, Agreed, Assignable, Actionable, Adjustable, Ambitious, Aligned, Aspirational, Acceptable, Action-focused
R Relevant Result-Based, Results-oriented, Resourced, Resonant, Realistic
T Timely Time-oriented, Time framed, Timed, Time-based, Timeboxed, Time-bound, Time-Specific, Timetabled, Time limited, Trackable, Tangible
E Evaluate Ethical, Excitable, Enjoyable, Engaging, Ecological
R Reevaluate Rewarded, Reassess, Revisit, Recordable, Rewarding, Reaching
S Satisfactory Satisfies Strategic Vision

The term “new year resolution” needs no explanation. Its a commitment a person takes to turn a new leaf in his life from new year. Having said that what could those resolutions look like..

Here are a few of those resolutions. Some of them are mine and others are collected from the web.

  1. Take stairs & not escalators
  2. Strike conversation with strangers
  3. Carry a smile on face
  4. Forgive people
  5. Be yourself
  6. Understand yourself
  7. Make more money
  8. Sing out loud
  9. Run in a marathon
  10. Donate time
  11. Appreciate nature
  12. Spend less time browsing
  13. Spend more time doing
  14. Be spontaneous
  15. Give more compliments
  16. Read a book every month
  17. Stop piracy of digital content
  18. Participate in events
  19. Get to know neighbours
  20. Organize desktop
  21. Reduce carbon foot print
  22. Reduce using paper
  23. No to plastic covers
  24. Do what you love
  25. Make a wish
  26. Work smarter
  27. Send out thank you cards
  28. Wake up earlier
  29. Be positive
  30. Take risks
  31. Go on trekking trip
  32. Shoot a short film
  33. Turn of the TV
  34. Encourage the co-worker
  35. Enjoy outdoors
  36. Jog
  37. Try new Cafe
  38. Learn foreign language
  39. Stay in touch
  40. Be better person
  41. Hi five the person next to you
  42. Apply for dream job
  43. Leave large tip
  44. Watch sunrise
  45. Watch Sunset
  46. Country trip
  47. Trip to Island
  48. Fall in love
  49. Fund Raising campaign
  50. Paint the house
  51. Wild life photography
  52. No to processed foods
  53. Change the world
  54. Enjoy life to fullest
  55. Have fun

These are a few which i could list. If you have better ones, put them in the comments section.


Once we get a helicopter view of the project, we start calculating the budget. Engineers are not really good at numbers and budget. Here are the list of items that should be taken into consideration.

To determine project costs, give a thought on the following categories

Personnel:  This is typically largest part of the budget. They can be current employees, contract employees.

Travel:  Its based on whether your employees are onsite or they have to be brought to location.

Training:  I would advice people to look at training as a investment and spend wisely. If training involves guest lectures or support, they also need to be calculated.

Supplies: In addition to pen, paper, Is there any special equipment that you need. It could be even computers.

Office Space: How much room is required and at what cost?

Research: Do you have to buy studies or data to support your project? Is your team capable of performing research. If yes at what cost.

Capital Expenditures: What is the expensive equipment or upgrades that would be necessary. It would be great if the capital expenditure can pay for themselves.

Overhead: It includes your projected overhead expense. So this would help you to fix Standard Overhead percentage.

Other Costs:

Maintenance, Insurance, Licensing, Legal, Accounting


A budget no matter how carefully planned is still your best guess.

Fully fund a project or do not start it

— Norman R Augustine

Some people in this world are blessed with money and others with time. The ones with time are students and enthusiasts who dream and build their dreams themselves.. hmm enough of philosophy and i will jump into the point..

I had been querying people with experience in web development and especially those who are heroes at social networking platform. Many people build a site either to test their luck or to showcase their talent. You can put it on your resume or a model to attract freelancing jobs.

The first question to ask yourselves is why do you want to build a social media site.. The answer may be anything that convinces you.

Based on your answer for the previous question, the features, budget and other factors matter. For example if you want to grow as a site with million users, then you undoubtedly need a huge budget or good skills with perseverance to start and grow in a lean way.

The technologies which i believe are very basic requirements and the developers need to know are

Javascript (Frameworks),

I remember me working on a project an year ago where we got one of the basics wrong. We chose a HTML + CSS template online but failed to use master page concept there. So every time to update a Hyperlink, we used to modify in around 80 webpages. So master page is mandatory. If possible a different header and footer page.

HTML + CSS can be managed well and take less effort if you can compromise on a template. There is an another javascript framework that can help you to get custom components etc. Its Jquery. The component could be a photo slideshow or frame etc.. But its very powerful. A lot of effort might be required in building components for first time. These days even front end development needs a lot of coding. So use MVC or similar pattern to prevent your code from code rot.

PHP is called language of the web and around 70% of the sites run on PHP. I dont have any experience on PHP projects. I had used J2EE servlets and JSP. It worked well. I advice you to follow design patterns if i am not wrong. A proper MVC architecture and good separation of code for maintainability, delegation among developers. For Development we used Eclipse and Apache Tomcat Server. If you are a beginner, get familiar with http error codes and make lot of mistakes.

The database choice would be mysql. Its easy to connect and it goes well with PHP. In J2EE  I had used JDBC concepts for connectivity. This code should be kept in a seperate layer and if possible store the query in a xml file and read it in runtime. So in java we can avoid compiling and .Class file generation. Get the primary, foreign key relationships correctly and avoid dropping and recreating tables unnecessarily. As you work in a project, you may need to have separate insert scripts to insert data into tables instead of manual entry. use the concepts of indexing to increase the performance.

The above concepts hold good for web application. In social sites, a lot of custom scripts are required. Example upload a photo, organize and edit them online etc. So a lot of hardcore coding is required.

Do you want the page to be rendered slowly or fastly on your client machine. The answer is always fastly. Use Server side Caching to avoid delay and reducing database calls. One of the popular caching is MemCache. I havent used it in real projects.

Its not over, you need to have a testing strategy. Follow micro optimization correctly so that you need to worry fixing bugs while integration. Once integrated you may have new bugs to fix. Once maintenance and enhancement phase starts regression testing is mandatory.

For a social site, growth is necessary but creates new problems. You may need to even buy dedicated hosting and huge server space to store users photos like “A pup eating dog biscuits” and whose size is 4.9Mb. Though its sounds simple.. there are 1000s of such photos that might get uploaded every minute. So you may even have to learn Big Data concepts, Data WareHousing etc..

But dont worry, once you site starts growing. You may either take VC money or your website generated money to hire good talented people and they will do it for you.

Happy prototyping and learning..

Advice you to share the good development practices in the comment threads..