Do you need a mobile application for your business to stay competitive?

Number of mobile applications in each stores Google Play, App store, Windows and Blackberry continues to rise with the front-runners being Google Play and App Store. Having a share in the market place, Blackberry and Windows have a lot of catching up to do and that is going to be very interesting the coming years.

Looking at the statistics Google Play Store has around 13,50,000 apps and Apples App Store has around 13,00,000 apps. As a business owner when you glance through the above statistics it can seem that each and everyone (even your competitors) has a mobile application except you.

That’s when you feel that you are left behind while your competitors are eating up major junk of the market share. As a business owner your main concerns would be

  1. Do I need a mobile application for my business?
  2. Building a mobile application is expensive.
  3. Building a mobile application is time consuming.

Users are now moving away from laptops and desktops and are relying more on their smart phone or tablets. From ticket booking, paying bills and buying grocery is just a click away, it is fast and very convenient. As more and more apps are downloaded from the stores, business enterprises are moving towards having their own mobile applications.

Ok! Now you are ready to join the apps bandwagon but then being an entrepreneur you would look into all possibilities and think…

“Cant users access the current website through their smartphone?”

A tricky question and it is important to know if the website is mobile friendly and has been built keeping in mind the compatibility factor with smartphones. If not be ready to face some challenges when the website is displayed in the smart phone.

Keeping these in mind you can build

  1. Mobile Optimized Website
  2. Stand alone App
  1. Mobile Optimized Website

This can be done with minimum fuzz if the current site has been developed using the mobile responsive design. One of the main advantages of mobile optimized website, it will work universally in all mobiles as the Internet browser opens a web page reliably in all the smartphones.

  1. Stand alone app

From a business perspective the stand alone app is much better than a mobile optimized website. The app is always there in the users smart phone and just a click away, no need to launch the web url in the browser which can be felt time consuming now a days. A study suggests that 82 percent of time spent with Mobile media happens with apps. If you are looking to engage customers with your product or service it is better to build a mobile app. You can be constant touch with them through notifications, be it a new product launch or a new service that you offer.

Choice is yours to decide :-)

Now, never Forget your Friend’s Birthday

If you are one of those who keep forgetting your friend’s birthdays, then you need to take a little help from Fumes. It is also a fact that the inability of people to remember their friend’s birthday continues to be a major cause of irritation in friendships.

Fumes is a free service which stores your email, and delivers to the recipient at the requested time & date in the future. Now, Fumes has added another feather to it cap – It can remind you of your Friend’s Birthday if you have an account with Facebook. You can subscribe for Fumes’s Birthday reminder service for free and get automated reminder emails for all your friend’s birthdays.

When somebody logs to Fumes using their Facebook account, an option of selecting your friend’s birthday will appear. If you wish to get reminded of your friends’ birthday, then you can choose that option. If they give the yes option, their Birthdays will be stored in Fumes. Whenever, these Birthdays happen you will get a reminder from Fumes. Set it, so you do not forget it.

The above feature of Fumes is a simple way of remembering friend’s birthdays. The original idea for the website was simple, remind people of various events by getting a reminder mail from Fumes. We received such a positive feedback that we began to add new features to Fumes. The above option of getting a reminder of your friend’s Birthday happened due to this experiment.

The good thing about Fumes is that it keeps track of as many friend’s birthdays as you like. At Fumes, we are committed to providing a cool service which is a true benefit to our users. We listen to and respond to user’s feedback and most of the features of Fumes have been made as a direct result of this interaction.

Future Message launched by XMinds

Ever wanted to send emails that are scheduled for delivery sometime in the future – say 10 years from now?

Future Message is a service that allows you to send email messages with a future send date. The Future Message application was launched by Xminds Infotech Pvt. Ltd. The Future Message application is available @ http://www.fumes.me

The Future Message or Fumes in short, is a free service which stores your email, and delivers to the recipient at the requested time & date in the future. Fumes can remind your of an upcoming dental appointment or you can even write a letter to yourself about where you are in life and postdate it 5 years into the future.

Fumes presents a number of possibilities. It is practical, it can be fun and yes it can be kind of personal and sentimental.

You can use Fumes to…

• Send a email to yourself to remind something in the future, like anniversaries, birthdays etc.,
• Send an email to your lover in the future.
• Schedule delivery of emails to your colleagues over the week, one for every day, while you are on holiday.
• Tell your spouse you love them.
• Send birthday wishes right at the beginning of the year, so that you do not forget.
• Choose gifts for all occasions and schedule to send them out to friends at appointed time.
• Tell a story to your grandchildren.
• Email your boss an automated Sick message while you are holidaying.
• Impress your girlfriend with a pre-scheduled message which she receives when you are with her.
• Send an email to your Children in the future.

All you need is to pick the date on which the email is to be sent, email address, subject and content. The mail will be delivered on the date set by you. You can send future emails with file attachments, group emails and much more.

Fumes is a simple, no hassle based service to send emails in the future. FM is also available as an enhanced version, that is a paid one.

Agile – Sets up time-boxed iterations and provides a decent feedback loop!

Gone are those copy-writer days where I have spent 3 hours on impact analysis document when I’ve changed a few lines of C++ code. When I co-founded XMinds, I was very clear on the process we are going to use and thus we adopted Agile where extreme change is the mantra and adapting to change is considered as the key to success. I’ve heard people saying ‘Agility’ means undisciplined practices where you often end up with zero documentation and ‘No’ schedules. I’d like to change that belief by emphasizing the key benefits the model holds.

Why Agile ?

I often wondered how I managed to release complex web applications in the past where the requirements changed almost every week. We did a good job in getting the project releases out but I must be the first to admit that the process was always irksome to a few of us. Being an entrepreneur myself, I now understand what would have gone through the minds of business owners or stakeholders when they changed the priorities overnight.

In this fast-paced world, how can they predict what their product needs in 2 months from now ? Today it might be content syndication and Facebook integration but next month it could be an API layer which their iPhone application uses to talk to the server. So ‘Embrace Change’, an old cliché is often the key to success. And what you need is a process that can adapt quickly to such rapid changes in priorities.

And Agile is the answer!

Value it brings

1. Continuous Integration (CI) – In traditional waterfall model, integration has to wait until the end of the development cycle and “the longer you wait, the more painful it is”. If we agree, then why can’t we always keep the code integrated ? And that’s where Continuous Integration comes into play. The idea is to build the code whenever a check-in happens and run all the automated tests and send reports to the concerned people. This process will ensure sure that unit tests are executed several times a day and thus avoiding late-night support calls. We rely on Hudson for build-automation and it does an awesome job.

2. Test Driven Development (TDD) – The idea is to create test cases that initially fails and then write the code to make them succeed. One thing I’ve noticed here is how important the tests are from an Agile perspective. When we write the code first, our propensity is always to get to the next feature and thus ignoring the tests completely. So TDD ensures that you get very good test-coverage and along with continuous integration you’ll get a high-quality-less-buggy product.

3. Better Planning – We work in small iterations and call it a ‘Sprint’. A Sprint is typically 2 to 4 weeks long and depends on how rapid you anticipate the priority changes are going to be. We write the requirements as user stories which are quite high-level but informative. Mike Cohn in his book User Stories Applied has suggested some formats for writing the stories

“As a (role) I want (something) so that (benefit)”

A Typical user story in the format above is “As a user I want to search for a product so that I can buy it”

We then break the user stories into small measurable tasks which give us better visibility and then they are added to the product backlog. A Sprint always aims at doing the high-priority tasks from the product backlog and during the sprint review meetings these features are demonstrated to the stakeholders.

Feedback from such meetings end up as new user stories in the backlog. So the core principle is short cycles of Plan-Do-Check-Act which helps to better plan the priorities.

4. Detect failures early – Since business owners and stakeholders are involved in every phase of the project starting from writing user stories to sprint planning to review meetings, problems become apparent and course of actions can be carried out to rectify it at an early stage. I’ve worked with clients who have a sense of detecting these problems very early and they will change the priorities in the next Sprint making sure they are fixed before they become too complex.

This is one important aspect of business where you have to embrace the change in priorities.

5. Collaboration – I’ve worked on several products that failed over time and most of them owing to not hearing what the customers have to say. So user involvement is a leading contributor to the success of a project and agile gives very high value to business owners collaborating continuously with their customers.

So Agile is the answer to your problems if you believe

1. You’re in a fast changing world
2. Your requirements are unclear
3. You value feedback from beta users very seriously
4. You value frequent scrutiny and adaptation
5. You value self-management through leadership and teamwork.

I was not an avid fan of Agile but after trying the methodologies in my organization I’m convinced that Agile is the way to go. I was more allured towards implementing a practice by taking the ‘good agile’ parts from Scrum and XP.

It’s totally up to you to decide what’s best for your organization but keep in mind, Agile makes the life easier by setting up time-boxed iterations and a decent feedback loop.

Straight from the tech kitchen

My thoughts on IDE’s:

1. Eclipse: (Windows/Mac/Linux)

The latest version available is the indigo release. It provides set – infact a lot of tools for developing in a multitude of languages from java, php, python, mobile apps – it has C2180-276 tools for the data modeling, reporting – all most everything you will want for.

As I write this, my personal  000-089 favourite is Eclipse – helios release, all the releases bring new features, but some are just an extravagance for the ordinary developer.

2. Netbeans,(Windows/Mac/Linux)

Primarily came into as a java development environment, it is still hot among various segments of developers. It is lightweight and its modular structure allows to create modules C4040-122 and incorporate. Apart from java, j2EE app development it supports PHP, python, c, c++ , mobile.

3. Aptana: (Windows/Mac/Linux)

Basically based on the eclipse platform, aptana has emerged as foremost used IDE for web development, with the support of ruby (radrails), it supports javascript code assist, css, html code assist, debuggers. I feel aptana 000-104 with it rad rails flavour is mostly acclaimed among the ruby folks.

Also aptana has found its way to be nice web designer toolkit.

4. Syntori (Mac)

Basically for java developers, it includes various features for debugging.

5. Code::Blocks (Windows/Mac/Linux)

This is c, C++ ide, it is build around plug-in architecture, so it can extended by installing/creating new plugins

How to develop a website

Developing a website.

1. Plan
2. Progress
3. Prototype
4. Persist

Plan – Why do you want to create the website. The aim here is to identify the purpose of creating the website. Are you going to offer a particular web service or are you going to sell any particular web product. Answering this question would most probably give you the vision statement. The longer you ponder around this question the better clarity you get. You should be able to define your aim about your service and provide great information about the service that you offer.

Progress –  Think from the user perspective, so if you were in the user’s shoe would you utilize a service like this.
What is in it for the users?
What are the benefits that they would get out of your website?
What is that they would gain?
What is would you gain?
This would give you an idea to specifically place yourself in the web industry.

Prototype
1. List the features
2. Write user stories
3. Create wireframes
4. Create user interface
5. Database Design
6. Start development
7. Test
8. Fix
9. Release

Persist
If you have an idea and want to be visible launch as early as possible. Do not wait for the right opportunity, if you do so the window of opportunity might close. So do it fast. Keep adding new features after the initial launch and keep ahead in the industry with new methods of providing your service. Keep innovating and persist until you succeed.

7 Important Tips For An Entrepreneur.

1. Goal – As an entrepreneur one needs to have a goal. The goal could be an idea or a product that would be helpful for the internet/web world/ social media C4040-123 user as a whole. Having defined goal would help the entrepreneur reach the destination with a plan, without a strong goal it would be pretty difficult to reach the destination. You need to know where you are going.

2. Desire to reach the goal – Identifying goal is not alone enough, only a burning desire would take you to the goal. The best quote for this would be from Napoleon Hill “Every person who wins in any undertaking must be willing to cut all sources of retreat. Only by doing so can one be sure of maintaining that state of mind known as a burning desire to win – essential to success.”

3. Plan – The entrepreneur needs to draw a clear plan on how he/she would be going about achieving the goal. Your plans might change during your travel C4040-124 towards the goal but it is imperative to have a plan. If you have one and if you change course or if you deviate from your path the plan would guide you back to the original path.

4. Patience – It is important to know that with patience comes a great result. One should be like a duck, paddling very hard and fast under water but staying calm above.

5. Persistence – An important ingredient in law of success, one needs to keep on moving until success is achieved. Go that extra mile to get things done and do it with all you heart and success will follow.

6. Ethics – Define clear cut values and follow them honestly. Understand that there are no short cuts to success.

7. Enjoy what you do

Life as a Startup Entrepreneur

They are more important to you than you are to them

I happened to read this wonderful blog by Chris Lynch, the CEO of Thoughtful.

He has mainly pointed out the difference between a tech and a sales guy and how one takes rejection.

I really enjoyed reading it and thought would share my views on how an entrepreneur should take rejection.

The first step would be

1. Reject me I LOVE IT attitude – A sales guy would go through end number of NO’s to reach YES. For the sales guy its just part of the job and moves on. As a startup entrepreneur you may not be happy hearing NO from an investor. It can happen but you can learn plenty of things from the meeting with an investor even if it did not go well. Brush up and get ready for the next presentation.

2. Go read some books like Reject Me I love It, The greatest salesman in the world and also read the story “shake it and step up

Cheer up dude success is around the corner :)

Development Team for Start Up

Idea – The best option to kick start an idea is to follow the lean model, lean model comprises of the (Minimum Viable Product) approach in which you release early and release often. This often maximizes the chance of success by getting as much as feedback as possible and as soon as possible.

Design – The design should be simple and should go with the start up idea. Keeping in mind the simplicity of user interface and also the experience/ the look and feel that the user should have. Creativity is a must.

Dev Team –  The development team should be comprised of Engineers/Programmers, Core product building team having knowledge in API, server configuration, databases and JS/HTML/CSS etc.

Software Development – New methods

Traditional software development

In traditional software methodologies we adapt the waterfall, the spiral or the Rational Unified Process (RUP) depending on the nature of the project.

The waterfall approach, the most popular of traditional models, is a disciplined, sequential approach to software development. The lifecycle starts with a requirements phase resulting in a requirements specification. Development continues with design, implementation, verification, and maintenance, with rigid criteria that must be met before continuing to the next phase.

The spiral model combines the features of the prototyping model and the waterfall model and is intended for large, expensive and complicated projects.

RUP is based on a set of building blocks, or content elements, describing what is to be produced, the necessary skills required and the step-by-step explanation describing how specific development goals are to be achieved.

Agile development

Agile Development is an umbrella term for several iterative and incremental software development methodologies, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams

Agile methods break tasks into small increments with minimal planning, and do not directly involve long-term planning. Iterations are short time frames that typically last from one to eight weeks.

Each iterations involves a team working through a full software development cycle including planning, requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders.

This minimizes overall risk and allows the project to adapt to changes quickly. Stakeholders produce documentation as required. An Iteration may not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal bugs) at the end of each iteration.

Agile Project Management with Scrum

In the case of agile development we usually follow the scrum methodology.

Scrum focuses on project management institutions where it is difficult to plan ahead with mechanisms for empirical process control, such as where feedback loops constitute the core element of product development compared to traditional command-and-control-oriented management. It represents a radically new approach for planning and managing software projects, bringing decision-making authority to the level of operation properties and certainties.

Scrum reduces defects and makes the development process more efficient, as well as reducing long-term maintenance costs. We ensure client participation throughout the development cycle. The development phase undergoes meetings like daily scrum, sprint planning meetings and sprint reviews meetings. Our projects comply with clearly defined delivery metrics and Software License  Agreement – SLAs.

Quality Assurance

Quality is ensured across all our processes, interfaces and outputs; in management, core and support processes. It helps us deliver long-term excellence, and ultimately, predictability of returns, to all stakeholders.