Category Archives: Featured

The best articles

Persistent Foundation – Donating 1% of Persistent’s Profits to Social Causes

Most PuneTech readers will be familiar with Persistent Systems as the global IT company with 6300 employees, working in four key technology areas: Cloud, Mobility, BI & Analytics and Collaboration, for over 300 customers spread across North America, Europe and Asia. For more than two decades, Persistent has partnered closely with innovative enterprises and some of the world’s largest technology brands.

What is not as well know, however, is that since 1995, Persistent Systems has been donating 1% of its net profit every year to NGOs in the field of health and education since 1995. To institutionalize the Corporate Social Responsibility initiative the company formed a public charitable trust, named Persistent Foundation in 2008. The Persistent Foundation is primarily involved in three key areas of Healthcare, Education and Community Development.

This fiscal year, Persistent Foundation contributed Rs.1cr towards social work and supported 44 NGOs through their Pune, Nagpur, Goa and Hyderabad offices. Some of the unique activities and programs the Foundation carried out and participated in were student and girls scholarship program, cyber genius competitions across schools, infrastructure development at schools and villages, exhibitions for promoting NGO activities, breast cancer screening initiative, blood donation camps, text books and uniform donation drives, teaching English and Math to students of govt. run schools, planting trees to preserve the ecology of the hills in and around Pune, providing computer education to under privileged school children and teachers etc.

One of the aims of pioneering the Persistent Foundation was to encourage employees to take part in social welfare activities. ‘We have received a great response from the employees who enthusiastically participate in various initiatives like Student Scholarship Program, Green Persistent Movement, Blood Donation Program, etc.’ Says Sonali Deshpande Chief Trustee of the Foundation. This year the Foundation has also launched an innovative ‘Social Entrepreneurship’ program for the employees of Persistent. ‘Under this program the employees will be given a unique opportunity to implement their ideas related to social welfare which will be supported by the Foundation.’ Says Ms. Deshpande.

The Persistent Foundation focuses on the improvement of its immediate neighbourhood and the overall betterment of society. ‘We firmly believe that it is our moral duty to give back to the society that lends us an identity.’ Says Ms. Deshpande. The areas of health, community development, and education require immediate attention and the Persistent Foundation has been very actively involved in upholding these causes since its very inception.

The Persistent Foundation is actively soliciting proposals from local NGOs who are doing work in these focus areas.

Call for Speakers: IndicThreads Conference on Mobile App Development – 2011

Regular readers of PuneTech will know that we believe IndicThreads conducts the best vendor-neutral tech conferences in Pune, and hence we’re usually glad to promote the CFP for their conferences. Currently, the CFP for their Mobile Applications Development Conference (to be held in Pune on 19, 20 August 2011) is open and we would like to encourage our readers to submit proposals.

Since IndicThreads is a paid conference, PuneTech does not promote the conference itself on the PuneTech home page, but we’re happy to promote the call-for-speakers, since that is free, and it allows the selected speakers to attend the conference without having to pay. There are of course other benefits to being a speaker at one of these conferences – including increasing your visibility, becoming known as a domain expert, etc.

This CFP is soliciting speakers in the areas of mobile applications, mobile application platforms, frameworks, tools, testing, performance, security and in general anything interesting related to mobile applications.

The last date for submitting the proposal is 15th June, and right now, you only have to submit a short abstract of what you will be speaking about. So, it is as easy as just clicking here and writing one paragraph about whatever work you’ve been doing in the area of mobile app development recently. Just do it.

Break ke Baad: Tips for Moms re-entering the IT-workforce after a break

(Last week, Persistent Systems played host to a week-long workshop by “Break ke Baad”, a newly created group in Pune which aims at helping women who are looking to re-enter the IT-workforce after taking a pregnancy/children related break in their career. As a part of this workshop, I was on a panel discussion about opportunities amongst startups and other smaller companies for such ‘break-ke-baad’ moms. This article is based on that discussion, and an email discussion that I had initiated on the Pune Startups mailing list)

Let me first start with the common concerns of break-ke-baad moms:

  • Cannot work full-time: Even when a break-ke-baad mom is ready to get back to work, in most cases, she cannot work full time. Typically she can work part-time (maybe 9am to 2pm – when the kids are in school), or she needs to work from home for a significant fraction of time. This means that she is unsuitable for some roles, and/or some companies will simply not consider her.
  • Out of Touch: After having taken a break (typically of 5 years or more), most are out of touch with the latest trends in their field, and would typically not have skills in the latest technologies. The fear is that they are less employable because of this.
  • Lack of confidence: Both of the above issues result in many break-ke-baad moms significantly lacking in confidence that they will be able to perform, or in fact even at their ability to get a job.

My experience is that none of these are real problems and break-ke-baad moms can not only get good quality jobs with flexible timings, but there are certain circumstances where companies might actually prefer them over other candidates. Here are some suggestions:

  • Target startups and smaller companies: Consider a typical small company with 10 to 20 employees. This will usually have a couple of co-founders who’re senior people, and most of the other employees would be freshers or juniors. They desperately need a few senior people in the company who can serve as team leads – for their maturity and experience. And they find it very difficult to hire senior people for two reasons – first, most seniors prefer to do jobs with larger companies, and second, many companies at this stage are not able to afford the salaries of seniors.
    This is an situation tailor-made for break-ke-baad moms. First, since they can only work part-time, their salaries will also be proportionately lower, making them more affordable to the small company. Second, larger companies are much less accommodating as far as the time-constraints of break-ke-baad moms are concerned and hence the small company and the mom are made for each other.
  • Be aware of your strengths: Most break-ke-baad moms are not aware of their own potential. Here is a list of skills that companies would look for because their junior employees are typically missing those:
    • Maturity – which pretty much any mom will have!
    • Team-lead skills – if you have any team-lead experience in your background, this is valuable
    • Communication skills – if your English is good and/or you’ve done presentations in the past, then you have a valuable skill
    • Ability to handle customers – the sad truth is that most junior employees in India are just not good enough to be allowed to talk to customers directly. So if you have some customer facing experience, or good communication skills, you should highlight this during your interview
    • Ability to help with hiring – Seniors at a small and growing company spend a very large fraction of their time in interviewing or other hiring related activities. So if you’ve any experience of that in your past, you will have a skill that most juniors don’t have. Even if you don’t have hiring experience, your seniority and experience put you in a position to pick up this skill easily.
  • Appropriately highlight your past experience: I’ve noticed that most break-ke-baad moms behave as if they are inexperienced juniors appearing for their first interview (or at least this is the impression I get). The reason for this is their break, lack of information about latest trends, and the general lack of confidence. However, this is a mistake. Any experience is valuable in some way or the other. I’ll just give two examples:
    • Suppose you’ve done 3 years of J2ME programming for mobile phones. You’re concerned that your J2ME experience is worthless because nobody does J2ME programming these days, and you don’t have any experience with Android/iPhone/Blackberry etc. However, you need to separate out the short-term, not so useful skill (J2ME programming) from the long-term, useful skill (domain knowledge of mobile phone development). Try to look for companies that are doing some mobile development (Android, iPhone) and they will value your past experience
    • Suppose you’re a teacher who taught herself programming (or did a core Java + advanced Java course) during the break. Now if you go looking for a regular development job, you’ll be treated as a developer with zero experience. This is a bad situation, and few companies will prefer you over a fresher out of college who’s willing to work until 10pm. However, if you approach companies building educational or e-learning software (and trust me, there are many of those), and tell them that you are a teacher who knows Java, they’ll probably start jumping with joy at having found such a unique combination that is ideal for their needs.
      My point is this – look at what part of your past experience has long-lasting value, and then search for companies that would value that. While doing this, don’t forget to take into account the skills from the previous bullet point (hiring, communication, team lead, etc.)
  • Approach companies through references: Most of the hiring at smaller companies happens via references. Sure, they have websites where you can submit resumes, and they have HR email addresses where you can send an application, and they even employ recruitment agencies. In spite of all of that, most hiring happens through references. Which means that if you’ve found some interesting small company, you should try to find someone who knows you, and knows someone in the company, and get them to forward your resume.
    How do you do this? Linked-in is your friend. I’m sure most of you have a linked-in account. If you have a very small number of contacts on linked in (i.e. less than 50), then focus on increasing it. Link with all your past colleagues. Link with your friends from college. Link with recent new contacts you’ve made in the industry (you do attend some tech events, don’t you?). Once you’ve 100 or 200 contacts (takes some effort, but not very difficult to do), you’ll find that searching for any company will give you some employees of that company who are “2nd degree” links in your network. This means that if you go to that employee’s profile, linked in will give you a list of people you know, who also know that person. Mission accomplished!
  • Learn about latest trends: Pick a domain or domains you’re interested in. Use some Google searching to find the top websites/blogs in that domain. Figure out how to use Google Reader (or some other RSS reader), and use that to “subscribe” to those sites, and read daily. A few months of doing this will make you almost as knowledgeable as someone who never took a break, and will boost your confidence significantly.
  • Be flexible about the role: It is very likely that given your constraints, the company might not be able to give you a role that is exactly like the role you had before the break. First, smaller companies tend to give more responsibilities to individuals, and hence you’re likely to be given a role with a combination of multiple responsibilities. Second, the company is likely to create a special role just for you, based on your constraints and their requirements. Hence, you should be willing to take on roles different from what you originally had in mind. For example, testing, quality assurance, training, customer support, are roles that you might be offered, and where you maturity and experience as well as your previous development background will actually help you do a very good job.
    Other areas/roles to look at would be documentation, pre-sales support, project/program management, content creation (writing articles / white papers), and KPO (knowledge process outsourcing).

There are also some common misconceptions that I would like to clear out.

  • Part-time doesn’t stay part-time: Many are worried that a company might promise a part-time job, but in reality expect you to stay late on a regular basis and it becomes pretty much a full-time job. This is not true in most cases. Most companies will honour the time-constraints as long as they were made very clear during the interview process. Once in a while, there can be a deadline due to which you might have to stay late for a day or a few days. But this would be an exception, and shouldn’t happen more than once a month or once in two months.
    There are a few bad companies where due to bad time management, or simply because the founders are evil people, everybody is forced to work more than is reasonable. Hence, it is important that you talk to the founders and/or your immediate managers during the interview process, and reject the job offer if you don’t feel comfortable about those people. Do not get desperate and accept a job just because you think you won’t get another one.
  • Late night calls: In most Indian IT companies, it is very likely that there will be some conf-calls with people in the US or UK; but especially with smaller companies, this situation is not very bad. My guess would be that in most cases, there would be an average of 1 or 2 calls of this type per week. Most companies will be OK if you take the call from home. Most companies will also try to accommodate your constraints, but it is not always possible, as the timing depends upon various factors. Most of these calls will be “regularly” scheduled calls, so you know their timing beforehand, and can make arrangements at home to be able to take the call undisturbed; once in a while calls might get scheduled at the last minute and you’ll need to scramble a bit. My experience is that most break-ke-baad moms manage this without causing too much of a strain on their home-life balance.

How to find interesting small companies where you might find a good role? If you’re in Pune, here are some suggestions:

  • Join the Pune Open Coffee Club. It’s free, and there are lots and lots of small companies represented there. Poke around on that website, the various forums there and sub-groups. You’ll find interesting people and companies.
  • Join the Pune Startups mailing list. Follow the discussions there. See who’s posting, and use google/linked-in to find out information about their companies.
  • Subscribe to the PuneStartupJobs mailing list and watch who’s making job postings. None of those job postings will be an exact fit for your profile, but this is how you find out about interesting companies who are hiring. You should then approach the companies directly and try to explore whether they might have a role for you.
  • Subscribe to the PuneTech Calendar to keep track of latest tech/startup events in Pune. Attend the ones you find more interesting. Most importantly, talk to as many people as possible before and after the event. Let them know your background and the fact that you’re looking for a job. Good things will start happening after a few months of doing this.

Last week, I asked a bunch of entrepreneurs on the Pune Open Coffee Club whether they would hire break-ke-baad moms, and what qualities they would look for. And, one of the most common answers I got was this: “We don’t care about time-constraints, and part-time vs. full-time, and other things. The most important consideration for us is the attitude and passion – everything else is secondary.”

So my overall recommendation is this – realize that you are a valuable commodity in the job market, identify and highlight your strengths, approach the right companies, and go with confidence.

(Thanks to Rajeshwari Godbole, Shekhar Sahasrabudhe, Santosh Gannavarapu, Arun Kadekodi, the “Break ke Baad” group, and the Pune Startups mailing list for inputs and feedback on this article. Note: I’m obviously not a domain expert in this area, so if you’re a break-ke-baad mom who has actually been there, and done this, your inputs would be very valuable – so if you have additional suggestions, please leave a comment below for the benefit of future moms.)

Post-mortem of the Amazon Cloud Disruption

Last month, Amazon Web Services had a major outage which resulted in downtime for a number of companies who are using AWS as their infrastructure provider. This has given rise to a host of concerns for everybody interested in cloud computing, and it is important to understand the reasons for the outage, the long-term implications, if any, of this outage, and most important of all, what changes users of cloud infrastructure should make in their architecture and processes so that they’re less affected by such problems.

Suhas Kelkar, who is the Director of the Innovation Team at BMC Software India has done this port-mortem of the incident.

Note: if you have trouble viewing the video embedded above click here. Suhas has created this video+slides presentation using kPoint another Pune-based cloud software product.

A couple of years back, Suhas had written an article for PuneTech titled Musings on Why Cloud Computing will Prevail which is also interesting reading in this context.

How to prevent such outages from affecting your own infrastructure? A few days after the outage, Dhananjay Nene, Chief Architect at Vayana, and also a consulting software architect, wrote an article arguing that the cloud just got stronger as a result of the AWS outage.

Here are his recommendations:

AWS has multiple availability zones. An application should ideally leverage at least two. If you read the Netflix presentation I referred to, Netflix apparently uses three. Do not assume the servers will not go down. Assume it is possible that at least one availability zone could go down. Make sure you have the systems to quickly activate, systems in the alternative availability zone. For that you will need to find ways to keep data current across availability zones. Also find ways to ensure you have the ability to quickly switch to and fro between availability zones. More advanced options could include concurrently active systems across availability zones or those spread across AWS regions or even between AWS and other vendors.

Read the whole article, and also check out Dhananjay’s blog.

Interview with Vikas Joshi – CEO of Harbinger, Pune-based e-learning products company

(The Harbinger Group is a Pune-based software company that has products in the e-Learning space (http://harbingerknowledge.com), and also provides software outsourcing services (http://harbinger-systems.com) to software product companies all over the world. As an example of a successful product company out of Pune, as an example of a company that managed to do both, products and services, and as an example of a company that uses latest technologies in a hot field (e-learning), we felt that PuneTech readers would find it interesting. This article is based on a conversation Navin Kabra and Amit Paranjape from PuneTech had with Vikas Joshi, CEO of Harbinger)

The Harbinger Story

Harbinger was started in 1990 as a software services company. Vikas had just returned after doing a Masters in Computer Science from Syracuse in the U.S. and was a visiting faculty at the University of Pune. He, along with Swati Ketkar (one of his students) were the cofounders of Harbinger.

They started “Intelligent Tutoring Systems” and Agrawal Classes was their first customer. The first 10 years, they grew very slowly, with customers mainly in Pune/Mumbai, and only a few in Bangalore/Delhi. By 2000, they had grown to 28 employees. This was a period when they learnt the basics of how to do business, slowly and painfully.

In these early years, they were mainly helping companies with building CAD automation, and other systems that help in the engineering lifecycle. A few of their projects involved the use of computers/multimedia in training. Around this time they created their own product, CBTPro (Computer Based Training), which, in 1998,  won MCCIA’s prestigious Parkhe Award (given to companies with the most interesting new products and ideas). From this point onwards they really started growing fast, both on the services side as well as the products.

From the beginning, while Harbinger was focusing on domestic customers, the Indian IT industry had been heavily involved in “body-shopping” (i.e. sending Indian programmers to the US for outsourced (but on-site) work). Harbinger were very clear that they did not want to do this. By 1999-2000 internet in India had advanced to a stage where it became clear that it would be possible to take on outsourcing work from the US without the need for programmers be moved to the US. This is when, after 10 years of existence, Harbinger went international. From that point on they have grown their international business to a point where the Indian market is now an insignificant part of their revenues.

Their services business has 300+ employees, and their portfolio is in these major areas: e-learning, web development, testing, and mobile development. Microsoft is a major customer.

Harbinger’s products are described in more detail in the next section.

Harbinger’s Products

While services business was being built up, product business (CBTPro and e-learning) was going well in India. In 2002 they actively started exporting the products.

Their product business started based on a pattern they were seeing in their services business. They noticed that existing e-learning solutions were not interactive. In terms of technology, it was clear that adding Adobe Flash to e-learning products would easily give the required interactivity – but there was big gap in the industry between instructional designers and flash developers. Flash developers were engineers who were not good at designing instructional content, and instruction designers did not have enough programming skills to be able to create content in Flash.

This led Harbinger to their Raptivity product line. Basically, Raptivity is an interactivity building tool, which includes a huge library of ready-made interactions, which can be used by non-technical people to quickly add interactivity to e-learning content.

The main customers of Harbinger’s products fall in these segments: US High-tech companies, US Traditional Companies, US Educational/Non-Profit/Government organizations, Europe, Asia-Pacific, and India-MiddleEast-Africa.

Some interesting drivers of Harbinger’s success

One major decision that Raptivity took early on, was that they would make it work with other authoring tools (not just Harbinger’s authoring tool). This was a key decision, which reduced the barrier to entry for customers. As a result of this decision, they have to stay in close contact with various authoring tools (including new ones), and work with them to integrate Raptivity. In the process of interacting with the vendors of any authoring tool, they are very open about disclosing Harbinger’s own authoring tool.

Another important area is the sales channel. Harbinger has its own sales force, but also sells a lot through resellers and other channel sales. One major mistake many companies make when using channel sales, according to Vikas, is to think of the sales channel as an external entity. Much better results can be obtained if you think of them as a part of your team. What does this mean? Include them on road-trips, conferences, and education about your products. The channel employee assigned to you should be treated as your salesperson. Because he is your salesperson.

A third area that a products company needs to be aware of is that the value proposition for a sales channel, and the value proposition to the end customer are two different things. Sometimes they are aligned, but sometimes, they can conflict. So, both need to be managed separately.

This means that the various sales channels should be segmented carefully, and the company should create unique product offerings for each channel. For example, in case of Harbinger’s products, one channel is Training System Integrators, and these vendors are interested in building the most comprehensive and feature rich system possible. They are not as interested in margins as they are interested in the fact that your products should be cutting edge and should have all the important features. By contrast there are “box pushers” (hardware vendors) who are more interested in margins and volumes. A third category of resellers is companies who wish to be seen as thought leaders, influencers and visionaries. Their motivations on selling your products is very different from those of the previous two categories.

Thoughts on Future Trends in e-Learning

Vikas believes that the primary pain point that they were focusing on (i.e. allowing e-learning authors to easily incorporate interactivity in their systems) is now a solved problem. The next challenges will come from these areas:

  • Touch Tablets: Touch tablets are likely to have a profound impact on this industry. Not only does this give rise to a wide variety of screen sizes and hardware capabilities (which was rather limited in the PC/Desktop days), but also the fact that touch is a fundamentally different form of interaction.
    • For example, a customer recently rolled out 1500 iPads to their entire sales force and would like the desktop/laptop e-learning products “ported” to the iPad. However, iPad is a very different beast, with a different paradigm. A simplistic port will fail. It needs to be re-thought from the ground up and a completely new offering needs to be released for this market.
    • Harbinger believes it is well positioned to play in this space because of their research on interactivity (and a couple of patents they have in this area)
  • New forms of interactivity. With Kinect and other forms of interactivity becoming a reality now, very soon, there will be an opportunity to use them in e-learning/training systems
  • Testing the limits of what is possible. For example, one person used Harbinger’s products and created 250 courses over 5 years and trained 20,000 users. A huge impact possible by doing such things – as compared to traditional training. There is an opportunity for e-learning technology companies to provide more and more tools to make such things possible.
  • Using e-learning/interactivity concepts in other areas: Capabilities of human-computer-interface systems are the plumbing. Interesting products are possible if we use the latest plumbing and build the most interesting, compelling, and impactful interactive products on top of it. Examples:
    • Classroom Training
      • Every student has a internet connected device
      • And can be used to enhance class participation
      • And the presentation changes based on participation
    • Richer business presentations
      • Using a Raptivity-like technique in presentations (PPT)
      • e.g. interactive graphs pack
        • Don’t show all information at once
        • Bring relevant information up via interactivity

Thoughts on the Indian Market

Right now, the Indian Market for technology products is very small. As mentioned earlier, it makes up for a small fraction of Harbinger’s revenues even though Harbinger started off as a purely domestic company. However, Vikas points out that the Indian Market is still extremely important. Without Indian market, Harbinger wouldn’t have gotten started, and the first trip to US was only possible due to the sales in the Indian market. Also, for the future, Vikas is extremely optimistic about the Indian Market. Things are changing so rapidly here, so while he is not sure of when exactly it will take off, but take off it will.

Advice to Young Entrepreneurs

Vikas writes a blog at http://teamharbinger.blogspot.com where he regularly gives advice based on his experiences. He points out though that his advice would be applicable only to people who are not more than 10 years younger than he is. Basically, someone who is very far ahead of you (and age is a very rough indicator of this), should no longer be considered a subject matter expert in the challenges you face, since they’ve forgotten what it was like to be in your position.

An important point Vikas makes is that the patterns of entrepreneur mistakes – haven’t changed in 20 years. The biggest one is that early entrepreneurs (especially the technology entrepreneurs who abound in Pune) tend to focus too much on the product itself and the features of the product. It takes quite a while for them to transition to the next stage of entrepreneurship – which is to be able to see their offerings not in terms of products and features, but in terms of benefits that customers get from using their products. During the sales process, the entrepreneur needs to clearly be able to articulate the benefits, and this is the most important thing for an fresh entrepreneur to learn.

The next step for an entrepreneur is to be able to transition from simply talking about the benefits of using their products, to creating or painting a vision of experiences for the customer. A 43-year old accountant wants to zip through downtown on a motorbike. Is there anything in your product that gives him a fraction of that experience. How do you give your customer that feeling? This is a very advanced art, and the ultimate goal for an entrepreneur.

ShopSocially focuses on retailers with new offering “SocialConnect”

(Pune-based Startup ShopSocially, whose launch was covered on PuneTech last year has recently been in the news again for their launch of SocialConnect, a product for online retailers to easily add social shopping features to their existing e-commerce site. Suneetha talked to Samir Palnitkar and Sunil Arora of ShopSocially, and this article starts with an overview of ShopSocially (again), and then goes on to their latest offerings, and future plans.)

Buying a camera or a laptop and looking for some advice? Referrals seem to be taking over shopping decisions now more than ever, and the web is a key player in this activity. It’s this concept that ShopSocially has leveraged successfully by integrating the concepts of online shopping and facebook. Samir Palnitkar and Sunil Arora talk about how ShopSocially has come on the online social shopping map. Samir Palnitkar, an alumnus of IIT-Kanpur, is the President of ShopSocially and Sunil Arora, an alumnus of IIT-Kharagpur is a Founding Member who now looks after the technology aspects of the company.

Sam says it all started with a thought about harnessing social networking. Jai Rawat (CEO of ShopSocially) had spent several years in the ecommerce and online shopping space. As social media channels such as Facebook and Twitter were becoming popular, Jai realized that social recommendations via Facebook and Twitter would become a key traffic and revenue driver for e-commerce. These thoughts were the foundation behind ShopSocially. In the offline space, we tend to consult friends before making a buying decision. Why not do the same in the online space? That led to the idea behind ShopSocially set up in 2009.

You just need to register a free account with ShopSocially and shoot your shopping questions or declare your impressions on the platform. Why waste countless hours researching stuff and reading anonymous reviews? Of course, this works best when you have lots of ShopSocially Friends. Your Facebook friends automatically become your ShopSocially Friends when they join in. You can also earn badges or become ‘Shopping Gods’ depending on the intensity and frequency of your activity.

And how does it work for a retailer?

“Retailers can integrate with ShopSocially’s social commerce platform to harness the tremendous power of social recommendations. ShopSocially helps turn every purchase into a conversation and a social endorsement driving significant ‘friend referred’ traffic back to the retailer site. Retailers can get 2% to 6.5% incremental sales by integrating with the ShopSocially platform.”

ShopSocially has evolved quite a lot its model. It started off as an end-user site. Then they realized that the ShopSocially platform was highly attractive for retailers who wanted to socially enable their websites. So they launched Social Connect, to allow retailers to easily plug in to the ShopSocially platform. SocialConnect allows the retailer to add social features into the existing e-commerce platforms. Specifically, after a customer has purchased something, they are encouraged to share this purchase with their facebook friends (i.e. recommend this item to their other friends).

In addition, ShopSocially also automatically creates a new “Shoppers” tab on the company’s facebook fan page, where website where prospective customers can check whether any of their existing facebook friends have bought anything from this merchant, and if yes, what they’ve been buying, and what the reviews are.

ShopSocially started working with retailers in a fixed fee model but soon realized that it was easier for retailers to work with a performance-based or a subscription-based model; so quickly changed their pricing to meet the needs of retailers. Samir quotes an experience here. “We were thrilled when one of our retailers saw an increase of nearly $1 million in revenues per year by integrating with the ShopSocially solution.”

By now, I was getting convinced that it was all limited to the web user, but no, ShopSocially is already seeing beyond that parameter. Samir tells me that ShopSocially is as relevant for a customer outside the web precincts. “Yes. Social recommendation is how we buy most of our products, whether online or offline. In the near future, ShopSocially plans to bring product sharing to mobile devices. That will allow shoppers to share offline purchases with friends.”

So what about India specific plans? Sunil Arora says “In the next few months, we will be rolling out our solution in India. We expect retailers to embrace ShopSocially really quickly. Currently, ShopSocially is the only company in the world that offers a comprehensive social commerce suite for retailers. There are other competitors, but no company offers a suite that integrates with the most common user touch points, order confirmation page, Facebook FAN page and order confirmation email. Check this out here http://shopsocially.com/partners

Social networks such as Facebook and Twitter create a convenient way for shoppers to share their purchases with friends. Social networks have made sharing simple. While ShopSocially uses other media such as Google and Email, Facebook and Twitter play an important part in the ShopSocially strategy. Technology wise, ShopSocially has an exceptionally talented team that has built a world class platform on some of the best technologies in the world, including MongoDB, Redis, Celeryd, Python, Ajax, Javascript and others.

So what is the future map?

“ShopSocially will continue to add other social components that benefit retailers. These components will increase sharing and drive incremental traffic to retailer sites. Another dimension is integration with popular shopping carts such as Magento, Shopify and osCommerce. ShopSocially will continue to make integration simpler by offering pre-integrated plug-ins for various shopping carts. We feel that ShopSocially has the opportunity to become a global billion dollar company. We do not need a large team (maybe < 100 people), but we will continue to handpick the brightest minds to work on the exciting problems that we are solving daily.”

The Basics of Game Development – for programmers

(This is a live-blog of a talk Girish Dhakephalkar of http://ShoonyaGames.com gave at TechWeekend #9 on Game Development.)

This talk is an overview of what exactly is involved in game development – from the point of view of a programmer.

These are the major components of game development.

Game Platform

A game platform is the hardware-software combination on which a game runs. These are the major game platforms:

  • Console (e.g. Xbox 360, Wii, PS2/PS3).
  • Handheld
  • PC (Windows, Mac)
  • Mobile (iPhone, others)
  • Web Browser Based
  • Arcade Machines (i.e. the dedicated game play machines you see in video-games parlours in malls)

The platform makes a big difference to the kind of games you can build. For example, consider the consoles. Here the hardware is fixed. This is good because a game is a very optimized piece of software. So the more you know about the hardware, the more you can optimize, and the better will be your gameplay. (Compare with a PC game where it can be played on PCs with vastly different hardware capabilities. Then you end up programming to the minimum requirements, which is sub-optimal for the higher end PCs.)

Game Development Team

A game development team consists of the following roles:

  • Artists – 2D/3D artists and animators
  • Game Designers – Level designers, Gameplay designers, UI designers
  • Programmers – Graphics, Gameplay, AI engine, Physics, Networking, UI, Tools
  • Audio – Sound effects creators, music composers
  • Testers (Pune has a lot of game testing companies)
  • Special mention: The Crossovers – Technical Artists, Team Leads, Tester-Producer, etc.

Not all kinds of games require all these roles. A “big” game is a huge production, pretty much like a movie, and will hence need all these roles. Smaller games can do with fewer.

Interesting points: The Physics Engine in a game is a piece of software in a game which essentially enforces the laws of physics (as they exist in the game world). When you throw an object, how it flies through space is determined by the physics engine. When you fall, what happens to you, how much you get hurt; if you kick a door, will it break. Such things are determined by the physics engine.

Networking is needed in online games. Specially, an MMORPG (massively multiplayer online role-playing game) has hundreds of thousands of people playing simultaneously, and the various players are interacting with the game system, and with each other. All of this networking has to be managed at the game servers (which are in the cloud) and the game clients (which are installed on the users PC/console).

Game Development

There are two broad phases of game development.

First there is “content creation”. This includes things like creating the characters, animations, levels etc. This happens offline, before the game is “released”. The tools used are Maya/Max, Photoshop, Sound creation tools, and Game design tools. The other big chunk of program in a game software is the “runtime”. This is the server and the engine which interacts with the user and renders each frame of the game, and controls the game play.

The fundamental difference between animation and graphics in games and anywhere else is the “realtime” nature of the rendering. When doing animation/graphics for a movie, everything is computed beforehand, and it is simply displayed/rendered at runtime. However, with a game, this is not true. You need to keep gathering input from the user (for example, the current position of the user), and change the animation appropriately. So, the animation needs to be auto-created at runtime based on the inputs, and this needs to happen at 30+ frames per second.

Going below 30+ frames per second is just not permissible – the game will not feel smooth. Hence, the only thing you can compromise on is the quality/resolution of the graphics. Hence, in terms of pure graphical output, a pre-rendered video is always going to have better possibilities than what is possible in a game.

In any case, in most games, lots and lots of optimization happens to be able to render high quality graphics at 30+ FPS, using the best possible software and hardware combination. Thus, most games will try to use the graphics cards of the hardware to the fullest extent possible. All modern graphics cards are programmable in the sense that common graphics operations (like shaders) can be offloaded to the graphics card. The game engine will have sophisticated software that pushes as much work as possible to the graphics card.

The Game Runtime is broken up into two big parts. First there is the basic engine, which can be thought of as a framework for building games, and has building blocks like rendering, animation, physics, networking, sound. Another major feature of an engine is that it allows easy creation of different kinds of games, characters, levels, and general purpose scripting.

Thus, the idea is that there is a generic game engine which is not necessarily tied to any specific game, and on top of this, various different games can be built by the game designers. Typically, the same game engine will be re-used by a company to build and release many different games.

A game engine will typically come with “game creation tools” which are separate pieces of software which allow you to “author” games. Typical workflow: an artist uses tools like Maya/Photoshop to create the basic content, and the level designer of a game will use the game engine tools to import the basic content into the game. You might create a character in Maya,

Examples of game engines: CryEngine (Crysis, Far Cry, Aion: Tower of Eternity), Unreal Engine (Unreal Tournament, Unreal3, Gears of War. http://udk.com is available free for non-commercial use), Source Engine (Half Life, Counter Strike Source), Unity, Torque (Casual/web-based gaming).

Components of a Game Engine

  • Graphics renderer: all the computer graphics calculations (including ray tracing, lighting, refraction, reflection, etc). Crysis (the game) looks very good because the CryEngine graphics engine is very good.
  • Animation system: Define how your characters move. This includes defining the walk cycle (i.e. one full step of the character walking, which is looped to show a walking character).
  • Scene graph: A level in a game is a huge 3D (or 2D) space, with lots of things – characters, objects, lights. All of these need to be defined and instantiated. These need to be held in memory while the game is playing. Knowing what objects are where, and keeping track of them in memory is the job of a scene graph. The renderer shows you the view of what is currently visible to you, while the scene graph keeps track of everything that is “nearby”, and is the one who calculates what is and is not visible (and should hence be sent to the renderer).
  • Physics: As described earlier, the physics of the game world. When things are thrown, what is their trajectory. If something hits something else, how much doe it bounce. Compute the mass, the force, the acceleration, and apply the Newton’s laws (or another set of laws, if the game world has different physics than our own).
  • Networking: This most programmers should be familiar with.
  • AI: This is what actually defines how different characters (the computer controlled ones) behave and react. Note that you’re not always trying to create reality, or “human” behavior. All you want is a fun experience – not necessarily realistic.
  • Audio: Sound effects, and voice-overs.
  • UI: The interface for the game. Including inputs, options, etc.
  • Scripting: While the basic engine is programmed in C++, for defining what happens in a game, a low-level programming language like C++ or Java is not an ideal language to define the “gameplay.” For this, a scripting language like Lua, or Python is used. Or, like Unreal Engine, the engine might have its own scripting language. Compiling a game takes a long time (more than half an hour for a big game), so you definitely don’t want to write your game logic in a compiled language and require a full compilation every time you make a minor change.

Who would be interested in Game Development

If you want to make a career in game development, these are some things to think about:

  • You need to be interested in games, and should have some knowledge of games. That will make work more interesting
  • You should have played, and analyzed a variety of games – that way you know and understand what are the different possibilities out there
  • You should like working in a team. A game development team can be 100s of people, all working together to produce a single game. And if you’re not really a team player, you will not be able to function properly.
  • Good communication skills. A game development team has people from many different teams, with different backgrounds, and if you’re not good at communication, especially written communication, you might run into problems.

Once you’ve become a game programmer, you’ll find yourself using these skills a lot:

  • Mathematics!!
    • Linear Algebra: matrix operators, vectors, quaternions
    • Co-ordinate systems (remember your geometry?)
    • Trigonometry – basics, like 10th/12th std. level
    • Laws of physics (laws of motion, angular velocity/momentum etc).
  • Programming
    • C/C++. .NET, C# for tools. Scripting languages (python, lua).
    • Object-oriented programming.
    • Writing optimized code

But here is the biggest reason why you should get into game development:

  • Game development is at the cutting edge of technology. All the latest and best technology is used in games first, and only slowly and later does it trickle down into other fields of programming. Game development is the F1-racing of programming.

Links

Lookup these links for some further interesting reading for games.

Pune Students – Become a Wikipedia Campus Ambassador

Wikipedia wants lots of Indian students to be involved in contributing to the Wikipedia, and with this in mind they are starting an ambitious program in India. And this will start with a large-scale, high-impact pilot in Pune.

The basic idea is to recruit “Wikipedia Campus Ambassadors” in Pune, who will find, recruit and train students to be Wikipedia editors, and organize campus events around Wikipedia activities.

This is planned across all colleges and universities in the Pune municipal area. It is not focused on any one academic subject area – but cover as wide a range of subjects as possible. Those in India but outside Pune can register their interest in applying, and are welcome to attend training sessions that the Wikimedia Foundation will conduct in Pune (details of which will be provided to successful applicants.)

This is your chance to change the world, and at the same time significantly improve your resume.

Details are as follows.

About Wikipedia Campus Ambassadors

This will be unpaid, volunteer work. You will need to work approximately 3 to 5 hours per week, through the semester. You can be an undergraduate/graduate/post-graduate student, faculty/staff member, or anyone geographically close to the college/university – the main qualification is that you must enjoy teaching people and spreading your passion for free knowledge.

Last year, there were Wikipedia Campus Ambassadors in Harvard University, Georgetown University, Indiana University, UC Berkeley, and many other schools in the United States. Now, for the first time, they are expanding outside the USA, and Pune has been chosen as a test for this program.

Typical Activities for a Wikipedia Campus Ambassador

Before the term starts: Help identify and recruit instructors on your campus who would be interested in incorporating Wikipedia-editing into their classes.

Before and during the term start:

  • Work with interested instructors on your campus in adapting existing teaching methods to include Wikipedia-editing.
  • Provide face-to-face training and support for the participating instructors’ students on Wikipedia-related skills. This means doing in-class presentations, possibly holding office hours, and in general providing in-person mentorship for students. Prior Wikipedia expertise is not required for the role, as the Wikimedia Foundation will provide training for all Campus Ambassadors – but would be useful
  • Organize engaging on-campus events to encourage editing (and continued editing) of Wikipedia
  • Think of creative ways for promoting Wikipedia in your region
  • Help recruit new Wikipedia contributors on campus, possibly through the creation of a Wikipedia student club
  • Set up a Wikipedia help desk on your campus
  • Be a point of contact for new contributors and channel the feedback to the Wikimedia Foundation and its chapters
  • Recruit and train new Wikipedia Campus Ambassadors

What do Wikipedia Ambassadors get?

  • Increase your knowledge about Wikipedia, free knowledge, and collaborative writing
  • Learn and develop communication, teaching, and leadership skills
  • Create a name for yourself and network with a great team of people within one of the most significant online communities ever
  • Work closely with college/university teachers/professors
  • Receive Wikipedia swag (merchandise: maybe T-shirts, maybe mugs) to give out at events.
  • Receive funding for running events for food, soft drinks, etc.
  • Potentially receive sponsorship to other Wikimedia events, such as Wikimania

Requirements – Who can apply?

You must have:

  • Passion for Wikimedia’s values and mission
  • Patience with people who have varying levels of computer literacy
  • Knowledge about how to edit Wikipedia or the willingness to acquire this knowledge
  • Understanding of how teachers/professors design teaching programs, or the willingness to gain this understanding
  • Ability to transform complex technical information into actionable steps for beginners
  • Ability to give positive, encouraging and clearly targeted feedback to the people you interact with
  • Ability to motivate and excite others
  • Genuine interest in teaching people and organizing events
  • Convenient transportation access to the university campus
  • Willingness to be a public figure (for example, to make known the connection between your real name, your Wikipedia username, and your face. Your role is providing face-to-face guidance to professors and students, so comfort with being “public” is very important)

How to Apply

Interested? Please complete the application and email it to

  • ambassadors-ind [at] wikimedia [dot] org – Campus Ambassador Program India

For any questions, email Annie Lin, the Campus Team Coordinator, at alin [at] wikimedia [dot] org.

More details

See the Wikipedia Campus Ambassador webpage for full details.

Please spread the word

If you know enthusiastic, passionate students who want to do something more interesting with their life than just working in an outsourcing company, please forward this to them. Or maybe you know professionals who’re so interested in education that they spend significant time every week in a University – they would make good ambassadors too.

We owe it to the students of Pune, and to ourselves to make this program a resounding success.

PuneChips Event: Advanced System Verilog Tips with Cliff Cummings – 19th April

Abhijit Athavale writes:

SystemVerilog Guru Cliff Cummings is back in town and he will be holding another seminar on April 19th at MCCIA’s Sumant Moolgaokar Auditorium, ICC Towers, Senapati Bapat Road from 4:00pm to 7:30pm. Most recently, Cliff was here in November 2009 and this seminar gives a great opportunity for engineers to re-engage with him.

The topics covered will include:

  • New UVM 1.0 overview and comparison to OVM
  • Important OVM and UVM phasing
  • Secrets in mastering OVM and UVM
  • Graceful termination of tests in OVM and UVM with emphasis on the objection mechanism
  • Some of Cliff’s favorite SystemVerilog tips and tricks
  • Some early UVM techniques and best practices

This event is co-sponsored by Qlogic and Cadence who I must thank profusely on behalf of the PuneChips community. It is not very often that internationally renowned experts visit our city and hold free seminars, but QLogic and Cadence have made it possible. So, I encourage everyone who has any interest in SystemVerilog to attend and participate.

This event is completely free, but registration is required. Please visit this link to register and view the agenda.

Startup Strategy Discussions with Sramana Mitra – 17th April

Sramana Mitra, a serial entrepreneur with 2 successful exits, consultant with over 80 companies, and the founder of the 1M/1M is in town this weekend and, in association with Persistent Systems, will hold an event that every entrepreneur should probably visit.

The 1M/1M initiative, was started with the goal of helping one million entrepreneurs reach $1 million in revenues and beyond. The event on Sunday will have Sramana Mitra’s keynote address discussing the 1M/1M Methodology: Bootstrapping, Positioning and Lean Startups, followed by the opportunity to ask questions. Then entrepreneurs can participate in a public strategy roundtable with Sramana to receive some real time coaching and answers to questions about their startup ventures. Up to seven entrepreneurs will be able to pitch their businesses to Sramana Mitra during this session.

The schedule for this program is as follows:

  • 2:00 -2:30 pm : Dr. Anand Deshpande introduces Sramana Mitra.
  • 2:30 -3:00 pm : Keynote Address by Sramana Mitra, topics : bootstrapping, positioning, lean startups.
  • 3:00 – 3:30 pm : Q&A on the keynote address.
  • 3:30 – 4:30 pm : Live Strategy Roundtable with Pune startups.
  • 4:30 – 5:00 pm : Q&A with audience/Sramana discussing the EJ Methodology
  • 5:00 – 6:00 pm : Networking

If you’d like to pitch, send Maureen (maureen@sramanamitra.com) an email.

1M/1M will be working with Microsoft in helping entrepreneurs prepare for the Microsoft Bizspark’s India Startup Challenge. Girish Joshi from Microsoft will be attending the roundtable and scouting companies with Sramana Mitra for the challenge.You can find more about the challenge here

This event is free and open for anybody to attend. Please register here