Welcome to OmSpark's Blog

Learn more about web design, analytics and advertizing

Web hosting providers and mobile homes similarity

Last week, I met with one of my real estate friend over coffee and he was explaining on why he thinks mobile homes are a great investment. As I was talking to him, I realized there was a common theme between mobile homes and website hosting. You create this beautiful mobile home with excellent interiors based on your choice. At some point, you realize that your job has changed and you are no longer happy driving the extra 20 miles to work. If you had a permanent home, you might have to consider changing homes or your job to overcome the pain of extra driving. With a mobile home, all you need to do is change the mobile park that your home is located in and not worry about your beautiful home or excellent interiors that you put your time, energy and money into. You might paint the exteriors to match the latest color of your choice or year. Similar to a mobile park is a web hosting provider or website hosting provider. What is a web hosting provider? A web hosting provider (also known as a hosting provider or website hosting) is a service provider that allows websites to be accessible through the World Wide Web (www). It is a server that provides housing (space), maintaining, serving files and provide internet connectivity for your website so that users can view the content of your website. It assigns an address (DNS – domain name system) for your files to your domain so that anyone can find your site on the internet by using your domain name. Different options for... read more

Is your website your new home?

Several years ago, on a sudden whim while all our friends were buying homes in a new neighborhood, we reached early morning to register for a home ourselves. Our top two bids were not accepted as someone ahead in the line picked up the available plots. We immediately snagged the next best plot, signed the paperwork and gave a deposit for registration. In a couple of weeks, we finalized the design, interiors and exterior of the house and about 9 months later we were the proud owners of an awesome home. A lot more went in building it, but this is a short version. Now you wonder what this has to do with your website building experience. Similar to my above experience would be your experience of building a virtual home on the internet. You first need to decide if the location (also known as domain name) is available. A domain name is a unique name that identifies an internet resource like a website. Using the domain name, people navigate to your website (there are other ways also such as from a search engine). Many of the really nice domain names have already been taken up so you will have to find the one that best works for you. Once you are the proud owner of the domain (website name), you have to figure out where you would like your website to reside at. This is called “web hosting”. In the online world, you have many options to decide about it. You can host it on a machine that sits in your home, on the cloud server or with... read more

Content is king, keep your content fresh

If I were to share the same post every single day on Facebook, what would my friends possibly do? Some of them might start ignoring my posts, others might stop following me and the highly impatient ones would un-friend me. Do you like to view new, different and interesting information on your Facebook feeds regularly? Clients like to see new data about your business. They would like know when you change locations or announcements/promotions about your business. To keep your customers informed and happy, you need to ensure your data is accurate and fresh. If you can share tips or useful information with them, they would appreciate it and that is an easy way to keep your content fresh. Our Search Engines (Google, Bing, Yahoo, etc.) also like fresh content. In the online world, we have a saying “Content is King”. To make sure our Search Engines love you and your business, update your content regularly by keeping it fresh and your website will be where you want it to be – on the first page of your prospective clients search... read more

How Om Spark was born

My name is Urmila Singhal and I am the proud owner of Om Spark. Having spent 11 years in engineering at Microsoft, 5 of which were in the Search Advertising space, I am well versed in the mechanics of the Online space. Coming from a family that owned different types of businesses, I am intimately familiar with the age-old question business people are faced with – “acquiring customers from new sources”. Thanks to the advent of internet, the sources are enormous. First, it was the presence of internet where people around the world connected via emails. Next it was having a website to show your businesses “online presence”. This was followed by making sure that the Search Engines and popular websites knew about you, your business and your online presence. Things got more complicated with having so many different options for recommendations, reviews and new possibilities in the online world. As I helped friends and family with their online presence I started blogging my learnings at www.urmilasinghal.com. In my most recent role in Microsoft, I worked on a program directed towards helping Small and Medium Businesses (SMB) with their advertising. It was eye opening to watch how difficult it was to find the right help for businesses with their online presence. It was Melissa, my dear friend and client, who was the tipping point in my career. After hours of chatting over dinner, she convinced me to make this a mission to help SMB’s achieve their online presence. Before I realized it, I became a business owner full time that I was doing on a part time basis and... read more

Linked List for Program Manager Interviews

The fondest memories of a child are the different birthday parties and the games/activities during that day. As a child on my birthday, I was introduced to a type of scavenger hunt where an initial clue was given to you. As you solved each clue, you found a gift and a clue to the next gift. This went on till the final gift was found at which point no further clues were provided.   An array is not a right structure to use for this type of data storage as the location of each clue and gift is different. Also, if you would like to add in more clues/gifts, an array would not be a good choice as arrays have fixed length.   A linked list would be a better method for this type of data storage. It contains an element to store the data and a link (clue) to the next data item. Basic parts of a node in a linked list are shown below   What is a linked list? A Linked List is a data structure used for storing collections of data. Each element is connected to the next using pointers and the last element points to a null (not always but take my word for it now). A simple representation of a linked list   Implementation of linked lists Linked lists can be used to implement several other common abstract data types including lists, stacks, queues, etc   Inserting an item in the list at start position Create a new node and update the next pointer of the node to point to the current head... read more

Array Data Structures for Program Manager Interview

Everything I do or study, I would like to be able to explain to my 8 or 6 year old children. While dusting my bookshelf, I found an old book that spoke about different data structures in a lot of detail including code snippets from the 90’s. As I read through it, it made complete sense to me until my 6 year old came and asked me what I was reading. I tried explaining in layman terms but realized that what I spoke might not have made sense to her. Arrays in simple terms On a sunny afternoon, I reached the parking lot in the mall. To my dismay, I went round and round in circles searching for a spot to free up. Suddenly, I found myself smiling and to my surprise, I also found a parking for my electric car. As we walked towards the mall from the parking lot, I explained the concept of arrays to my young kids.     Arrays like “parking lots” have fixed sizes. The size is defined during creation. Early in the morning, the parking lot is empty. As cars come to the parking lot, they occupy space and fill up available spaces. Each car that comes in to occupy a space is known as insertion of an element in an array. There is a maximum limit to the number of cars that can be parked in the parking lot which is defined during creation. Whenever a car leaves its location, the space is freed up. This is known as deletion of an element from an array. Syntax Creation: Datatype ArrayName[size] Insertion... read more

Catching up with the modern age and new habits – Making your online presence more visible

From the time I have been a kid, I have always been fond of dancing. Surprise, when I started learning Bhangra (Punjabi,Indian style of dance) a couple of weeks ago, it was a strange concept trying to learn something new, coordinate it with music and be graceful at the same time. Our teacher is an awesome person who would share the videos at the end of each class providing details about what were the errors and how to improve it. I learnt as much as possible in class asking questions, learnt from the mistakes and observed in the video where I could improve. It became easier as the weeks went by and I could relate to the music and the steps. Doing it regularly was bliss and had advantages of better health and me being happier but it required persistence. I know many folks who spent a lot of money, time, and energy in initially building their website. Many years pass but they never go back and look at their website with a fresh eye. Does their website still resonate with them? Should they update their color, logo or font to feel better for themselves? What about making sure their website is ready for the ever changing strategies in the SEO and SEM world. Have they looked at the latest Social Media, reference tools available online? There are more websites, products, tools than I will ever be able to list on the web to help improve your online presence, but below is a list of strategies for some of the tools/products currently available online. SEO strategies: https://support.google.com/webmasters/answer/35769?hl=en http://www.bing.com/webmaster/help/webmaster-guidelines-30fba23a http://searchengineland.com/guide/seo... read more

Moving from Blogger to WordPress: Are you really ready?

  It is hard to believe but it is a year now that I have been actively blogging. When I started blogging, I did not want to spend the time in setting up a WordPress site. I took all of 5 minutes to setup Blogger and started with my first blog. I added a couple of social icons and did some minimum changes a couple of months later. As time passed and I continued blogging on a regular basis, I realized that WordPress had certain advantages over Blogger and it prompted me to make the move to WordPress.   Why WordPress The million dollar question – Why should you consider WordPress? Are the advantages good enough for you to spend time in rebuilding your website? Here are some points I have observed: Flexibility and ease of use on WordPress: Clean dashboard and easy to find options on WordPress. Great design options through free and paid themes: I could decide how any or all my pages could look based on the themes. Ahh, now a sleek, new look is available at my fingertips. Plugins: Large number of plugins available to allow you to extend WordPress functionality. Widgets: Allows you to organize, add content and features to the sidebar of different pages and plugins. Reduced development effort: Compared to blogger, I am doing negligible development on WordPress (thanks to the awesome readymade functionality available through the community) WordPress Editor: It has both a very simple and also a powerful (lots of features) editor.  I used to use Windows Live Writer for my blog posts on Blogger but the amount of clutter... read more

Interview for a program manager series

Compilation of how to interview for a technical program manager: Interviewing to become a Program Manager from a different role: Introduction to what are the skills needed to become a Program Manager – http://www.urmilasinghal.com/2012/11/interviewing-to-become-program-manager.html Is project management like parenting? – Interviewing for a program manager Part 2: What is Project Management, what are the different methodologies of Project Management – http://www.urmilasinghal.com/2012/11/is-project-management-like-parenting.html Communication with your grandma and the technical architect at the same time – Interviewing for a program manager Part 3: What is communication, its importance. Principles of communication and Different types of communication – http://www.urmilasinghal.com/2012/11/communication-with-your-grandma-and.html Approaching design questions in an interview – Interviewing for a program manager Part 4: What is design and the types of design questions – http://www.urmilasinghal.com/2012/11/approaching-design-questions-in.html Abstract Design Questions Approach – Interviewing for a program manager Part 5: Approach to abstract design problems with examples – http://www.urmilasinghal.com/2012/12/abstract-design-questions-approach.html Architectural and Algorithmic design questions – Interviewing for a program manager Part 6: Example of an architectural and algorithmic design problem with a solution –... read more

Who am I?

Looking out of the windows to the gray skies and the drizzling rain I remembered that a year has passed before I realized it. Sometimes it feels like time is flying away and sometimes it feels like it has stopped and is watching us. The past year was a challenging year, 80% of the people I have asked felt relieved the year was over. It felt like a year with lack of trust, belief and more deceit. But you have to agree with me that this year has also made you stronger than you have ever been. It has brought you some treasured learnings along the way and you appreciate each day. I have absolutely no doubt that the year has prepared me for all the goodies in life and I thank 2012 for that. I started this blog out of a pain I felt and could express through my first blog post. It morphed into notes that I created for my certification and then became a blog of my knowledge of the online world and career. This was one of the nicest things that happened and if time permits I will continue working on it for a long time. Dedicated to the year that has found a passion and a skill that was hidden somewhere deep: They say that I truly inspire them, they say that they look up at me.But I am a simple person who just has had a few bumps in life. Small, petite, fragile were my looks, nobody wanted to hurt me as a kid.All thought that I would break with the smallest blow... read more

Google Analytics – 4 – Audience, Traffic Sources

We all make decisions, don’t you agree with me? A young child decides which toy or food to choose. An older kid might decide their friends or clothes to wear. As young adults we decide our career and partners. As we grow older we decide the house we buy or the money we spend. Our decisions are made on a couple of factors including our gut, what looks and feels good to us or what has been good past experience to us or people we know. We also change our perspective on things based on the data that we understand and analyze that is available to us. In my previous post on Google Analytics , I spoke in detail about the Standard Reporting View including metrics. In this post, I will discuss Standard Reports specifically Audience and Traffic Sources. Standard Reports The Standard Reports (Real time, Audience, Traffic Sources, Content, Conversions) can be found on left side bar in Google Analytics. Each of these reports are very rich with different data points and some or all of them can be useful to you for making decisions. Audience The audience report in Google Analytics helps us understand in detail about the people who are visiting our website including their language, location, new/old visitors, time spent on the website, technology used by the visitor, device used, visitor flow. Demographics gives you more information about the location your users are from and the language their browsers use to access your website. This might give ideas about where you should increase your reach through advertising or other methods. Behavior tells you information about... read more

Architectural and Algorithmic design questions – Interviewing for a program manager Part 6

Most folks either have a depth of knowledge in an area or a breath of knowledge in a couple of areas. For example, if you are working on the fraud detection of your product, you will have in-depth knowledge of what is fraud, what are the rules to detect fraud, how do the fraudsters keep ahead of the system, the rules, the penalties and everything associated with fraud. Many people might not have a total understanding of the product, all its features, its customer base or things related to ranking or relevance. If you are asked about the architecture of your product at a high level, can you draw the boxes on a whiteboard and run through the workflow, the functions of each box. Do you understand the technologies used to build the product and the reason those technologies are chosen over others available in the market? When would you use Casandra versus SQL for the database of your system? Technical interviewers expect interviewees to have this information under their belt. Architectural problem As explained in my earlier post, software architectural problems are problems related to components needed for designing a software system and their dependencies. The objective of these questions is not to see the abilities and thought process. Following is an example and a possible approach on the problem: Design the online shopping experience of a shoe shop As always, make sure you understand the question before starting to work on the solution to the problem. ASK QUESTIONS. Ask a lot of CLARIFYING QUESTIONS.  What does online shopping mean? Is it only a website? Does it include... read more

Abstract Design Questions Approach – Interviewing for a program manager Part 5

Late in the evening, I was clearing my emails on my home computer. My 7 year old son Shivam came to me and asked “Mama, what is cancer”. My face turned pale for a few seconds before I regained my attention and focus. Usually, any question posed by him including crazy absurd ones always have an immediate answer but this was a particularly difficult one for me. His life flashed before me including the long disease and treatment. I explained to him that our body was like a pure garden of grass and cancer was the unwanted weeds that sometimes overtook our garden. If weeds had their way, they would take over the body leaving no place for the grass and beautiful body to live in harmony. If I was to explain this example to an adult about cancer, they would look at me as if I was crazy. Always remember that you should try to formulate your answers based on who you are speaking. I was rejected for a job position once as the interviewer thought I was not technical enough and another time when the interviewer thought that I was too technical for the position. Design questions posed by developers, testers, program managers or executives need different answers. Speak in terms of your listener to get the best of the conversation. What is an abstract problem? As I mentioned in my previous blog post, problems related to the approach of defining and designing a system can be considered as abstract problems. I love this diagram as it explains what happensto a product when the requirements are not clearly understood.... read more

Approaching design questions in an interview – Interviewing for a program manager Part 4

Design questions (also known as thinking questions) in an interview are very interesting. People have a love-hate relationship with it. If you are an interviewer or an experienced interviewee, you love the design questions. Else, you might not be too fond of it. The reason is simple – As an interviewer, your goal is to observe the candidate’s thought process, approach and creative thinking in a super compressed time. You may also end up learning something new. If you are an interviewee, you are not exactly sure if your answer is what the interviewer is looking for. So, what exactly is a design question? A design question is posed by the interviewer to observe your thoughts, approach, and style of working, in resolving questions related to algorithm, architecture and abstract issues.   Interviewer Before we go further, it is important for you to understand your interviewer. Most interviews are conducted by a group of people from different backgrounds. This is done to get rounded feedback about the candidate, their potential, strengths and perceived weaknesses (what I consider as strength, you might consider as a weakness and vice versa). Also, since you will be working with different people in the organization/company, feedback from a wide range of interviewers is extremely important. Such a group is generally a mix of your future peers, lead, manager, people from different disciplines (dev, test, build, etc) and a final approver also called “as appropriate” or “final interviewer”.Some people are wired to think as developers, others as testers and yet others as Program Managers (depending on their experience and interests). Each one from a different... read more

Communication with your grandma and the technical architect at the same time – Interviewing for a program manager Part 3

I was 8 months pregnant with Meera and was approaching different General Manager’s across Microsoft about one of my ideas that I thought had a lot of potential to be part of the product. I was in awe to be meeting Randy Granovetter who was one of the initial founders of Jabra and also headed the innovations team at Microsoft. After the initial meet and greet, I fumbled a little but explained to her in great technical depth including the database design and schema. She jumped from her seat and with high vibrant energy told me that she had read my paper and thought it had real potential. She asked me to take a step back and expand the idea imagining I had unlimited resources and time for the customer. She asked me to imagine that I was telling the idea to my grandmother. At that point, I realized that I could not explain the idea to my grandma. Soon after Meera was born, I approached her to be my mentor. Thanks to her mentorship and friendship, I learnt many important lessons in life and most importantly learning to respect myself and communicating clearly. The most important tip of communication is Can you break down your thought process for both your grandma and the technical architect in the room?   What is communication? I love Wikipedia. So simple, yet so clear – Communication is the activity of sharing information through the exchange of thoughts, messages or information by speech, visuals, signals, writing or behavior. Why is it important? Effective communication is extremely important for building relationships with other people... read more

Is project management like parenting? – Interviewing for a program manager Part 2

As a little girl, my dad gave me total freedom. I was allowed to make all my decisions in life, choose my friends, and choose what I become when I grow up.  Most of the friends I knew, their parents would decide their friends, the profession they chose and all major decisions for them. Both my friends and I grew up to be just fine. My dad and mom had different thoughts of parenting but I never knew about it until I became a parent and reached out for advice. They never discussed their different thoughts of parenting in front of me. In the front, they were unified towards their parenting approach for the kids – allowing kids to make their own choices in life. Now, I hear you think out loud about the relationship between project management and parenting?Similar to parenting, project management can have many different flavors. A particular methodology is not right or wrong. It depends on a number of factors including the historical experience of the methodologies, what is working well for the team/company, how well is the Program Manager acquainted with the different methods, how long is the release cycle, etc.The most important part of the methodologies is that all the members involved in making decisions be unified towards the approach, methodology and rules that that are applicable in it. If 2 or more members differ on the approach of project management, it is highly possible that the end part of the project (product, release) will be a disaster. What is Project Management? Project Management is the process of leading, planning, organizing, managing resources... read more

Interviewing to become a Program Manager from a different role

In the past couple of weeks, I have met many friends who have thought or wanted to move to Program Management (from a different role). This thought has always brought a shine in my eye and awakened my passion of why I moved to Program Management. In my previous life, I was a developer, a tester and when I attended the Dale Carnegie class, I realized how much I loved interacting with people, looking at the big picture, understanding and resolving their issues. I loved being in the forefront with customers and my technical experience gave me a better understanding of both sides of the coin. That is when I decided to make the change to Program Management. I started playing the role of Program Manager to make sure I really understood and enjoyed this new passion of mine. Being pregnant in my last trimester with my first baby and the hassle of my green card made it challenging for me to make the change immediately. When my son, Shivam was about 3 weeks old I started my preparation for the Program Manager role. It took a couple of weeks for me to feel comfortable with it and once I was back to office post-pregnancy, I started informationals to interviews as a Program Manager. When I look back at the past 7 years and the interviews and informational that I have gone through, I realize the major skill sets that people are looking at can be classified into the following buckets: Design: What is your approach to design? (hardware, software or a vision) Project management: How well do you understand... read more

Google Analytics – 3 – Standard Reporting Overview

Google Analytics is a very powerful tool that has many features which can be used for deep diving into for data and analytics. In this post, I discuss about: Different options of choosing the date range for getting the data, The different Metrics available High level data points on the main reporting page Choosing Date Range Choose the tab “Standard Reporting” when you log into Google Analytics You can select your date range using the calendar by choosing custom, yesterday, today, last week, last month. This will allow you to see your traffic trends in the given timeline. The traffic graph would look something like this If you would like to see trends between the past and present, you can select “compare to” in the calendar. This will apply to all your reports and graphs The comparison graph would look like You can attach notes to specific dates by clicking on the date or “Create a new annotation” You can view the data by the hour, day, week, month based on the granularity that you need    Metrics Metric is a measurement. Metrics appear as columns or  are in the graph. The different metrics available in Google Analytics are visits, % new visits, average visit duration, bounce rate, pages per visit, pageviews, unique visitors, visits You can select 2 metrics to compare them over time   Overview Data Points The front page of Google Analytics Standard Reporting gives you the big picture of the major data points for the time period selected    Visit: The total number of visits during a time period. This includes people who might have... read more