Sunday, March 10, 2013

Dual Cam Photo: Put the photographer in the picture!

Dual Cam Photo (DCP) is a camera app that captures photos using the Rear and Front cameras with a single click. One of the many possible usage scenarios for this app is explained below.
Usage Scenario:
  1. User: Camera user at a party
  2. Problem: User wants to be in the photos s/he clicks
  3. Solution: A dual-camera app for simultaneous capture of photos from the front and rear camera
  4. Happy user with a side-by-side photo


The picture below shows how a Dual Cam Photo helps photographers convey a much better story with their pictures.
The photo of my wife and me can mean "We are together" or "We are happy". The "Aloha" photo alone could mean "I love Hawaii" or "I love the artwork at the airport".
But when captured and merged with Dual Camera Photo, it presents a very complete and interesting story: "My wife and I are vacationing at Hawaii and we are excited about it".

The photographer is in the picture with his/her priceless expression at the time of capturing the photo!



Capturing such photos requires just a single click on Dual Cam Photo!

Camera Preview Screen:
The app has a main screen which shows the camera preview. Users can slide left or right to cycle between the front and rear camera previews.



When the user clicks the capture button (either on the screen or the physical camera button), DCP springs into action and performs a series of actions listed below:
  • Capture the image for the current camera
  • Switch the preview to the next camera
  • If the user has not changed the delay to 0, DCP waits for 3 or 5 seconds for the user to adjust the view of the next screen
  • Capture the image for the other camera
  • Merge both images depending on the resolutions of each camera:
    • If a common resolution is selected, the photos are merged side-by-side:
    • If the rear camera resolution is different than the front camera resolution, the photos are merged as a picture-in-picture style image with the front camera image at the top-right corner of the rear camera image.
    •  Picture-In-Picture image:
  • Save the merged photo to the phone's picture album
  • Load the image in the Image Viewer for the user to see and share

Image viewer:
The image viewer provides basic image viewing functionality such as viewing and zooming the image. 



The share button on the image viewer lets the user share the photo using Windows Phone's share options. The user can also load other pictures from the Phone's picture album using the "Photos" button.

Settings screen:
In the settings screen, users can change the default settings such as Flash, camera resolution, shutter sound etc.


Help Screen:
The help screen provides information about all buttons and each setting configurable in the settings screen.

Privacy:
Dual Cam Photo works with the minimum set of rights and permission required for it to work. DCP does not need access to the user's location data or any other personal information such as social media accounts because it uses Windows Phone's built-in sharing options. Using Windows Phone's "Tasks" for these purposes prevents DCP from having any access to the user's personal information and creates a very safe and trust-worthy experience for the user.

Have fun and start changing the way the world captures photographs by putting the photographer in the picture and let your photos convey a more complete story!

For updated information about the app, visit Dual Cam Photo for Windows Phone 8

Here's a description of Dual Camera Photo on the Radio:

 


The app is available on the Windows Phone Store:

Sunday, July 1, 2012

The intricacies of management roles


Interview on the intricacies of management roles
By:  Snehanshu Ashar
Interviewee: Bob Swedroe, President and CEO of Expandable Software
Location: Bob’s office at Expandable Software, Santa Clara, CA
Date: June 26, 2012

Introduction

I work as Software Architect of R&D (Research and Development) at Expandable Software. My current role does not involve managing people and management is a career path I would like to re-explore.
A major assignment in my coursework for the Masters Degree that I am pursuing was to interview a senior manager. I took up this opportunity to interview our very approachable CEO, Bob Swedroe, to discuss the intricacies of management roles, so that I could prepare myself for moving back into management. Bob has an open-door policy, so when I walked into his office to schedule an appointment for this interview, he agreed to do the interview right then in his office.
The interview was recorded. Below is the transcript of the interview. Some parts have been edited, reordered or rephrased in order to keep the transcript concise and easy to follow.

Transcript

Ashar: Thank you for doing this [interview] with me. To start with, can you tell me your job title, duties and responsibilities?
Swedroe: It’s President and CEO of Expandable Software, and pretty much responsibilities for all the functions: Finance, Product marketing, R&D, Sales and Customer support. That’s essentially how the company is broken up. I get involved in strategic as well as tactical. I keep a very open door policy.

Ashar: What is a typical day like [for you]?
Swedroe: I don’t know! (Laughter) I always try to clear my desk for something that is waiting to get done, because I never know what the next day is going to be [like]: I want to be prepared for it. If it is a long project, then I try to break it up, but typically, I don’t have much of a set agenda…. It’s just so much going on between sales, R&D issues if any or customer support issues if any: they just pop up and I just have to either delegate it or talk about it or whatever.

Ashar: What was your career path?
Swedroe: It was about 30 years in finance: very bottom’s up finance, from very low level. In finance, the career needs different building blocks to move up the ladder. So you have general accounting, cost accounting, financial planning and analysis… You can’t get everything: you have to pick and choose which ones are important to you. I have never been in tax, audits, haven’t been in treasury. So, you have certain things, but then you move up doing the same functions but in a managerial role. Then from managerial role, you get more experience to move up to a director or VP and things like that. My belief is that you have to know enough about the job where you can effectively delegate and not abdicate. When people come to you, you know what the right answer is, but that doesn’t mean you have to go do it, but you have to make sure that you can explain the job and if someone comes back to you, you have to know whether that feels right or not. And that’s how I worked my way up in finance: I understand all the technical stuff, like I think I am a very good cost accountant, but I don’t want to do it again… but issues come up even here where cost accounting comes in very handy.
After I got the basics done, I got more involved in the strategic part of finance, working with the CEOs, COOs, helping with business solutions, because if you don’t understand the financial or accounting ramifications of a business decision, you could be making an inappropriate decision when if you were to slightly change it, it would have come up much better.
Building on that experience, I became CFO of a VC backed telecom company and did that for 4 plus years. We moved corporate headquarters to Atlanta, where I was commuting for 9 months and decided I don’t want to do that any more, so I resigned from that. The owners of Expandable knew me because the company where I was CFO used Expandable, and they knew I was looking because I had just left. They invited me to lunch and they asked if I would be CEO and I said sure! (Laughter). Thought about it, but got back pretty quick. That’s how I got into this position… I am very happy moving from finance into more of a generic role.

Ashar: What you said is interesting… because a while ago, I had discussed with my previous manager about preparing to move up in a corporate environment, and he suggested that finance is a key skill to have.
Swedroe: Yes, because if you are running a business, you have to understand income statements, balance sheets, strategic relationships… you are more involved in those things. Finance is always kind of the back-stop of organizations. The way I view it is other people… you have to tell other people when they have gone across the line. Things like revenue recognition: if you have to restate your revenue, wall-street will just kill you… it’s not a good thing! But you will always get pressured by the sales people, the VPs the CTO or COO who say we need to recognize revenue to make our numbers that the investors are expecting. Well, they can push and push and push, but you have to be the last stop-gap that says no, you can’t do it… if you did it like this, this and this, then yes. Ultimately, your job is to keep the other people out of trouble themselves. You really do have to understand certain things, and if you don’t understand them, again as I said, you could make a wrong decision.  So, having good accounting background really comes from understanding accounting and finance in general.

Ashar: Interesting… Coming to our company and the industry, can give me some overview about those?
Swedroe: We are in a very tough market; it’s Enterprise Resource Planning. It is a very mature market and so the people we compete against are much bigger. We don’t ever lose to companies that are smaller than us. If they are smaller than us, the product is not as deep and [not] as broad as Expandable. Our main competitors are public companies.  And that makes it kind of hard if people question your viability, like can you really survive in the market long term, because you don’t have the resources to R&D or market yourself.
All true, but one of the things that has kind of helped us is the fact that because it is a more mature market, the evolution of product development has really slowed down where people know what an ERP needs to do. I have been with the company for 4 years, but the company has been around for 28 years. Now it is just a matter of keeping up with the technology as a better way to do things. There was a decent functionality gap [between us and the competitors] when I joined: we could do certain things but couldn’t do other things. But because it is a mature market, it allowed us to catch up. The competitors were still progressing, but we were progressing at a faster rate. We focus heavily on med-tech. Other companies will go say they do med-tech, but that is one of the many things they focus on. Med-tech is a highly regulated industry. If you can meet the FDA regulations… by being able to pass the FDA hurdles, we can pass anybody’s hurdles. There is not going to be any tougher government requirements than the FDA.
We don’t use any resellers, so it is a very business relationship company: we get a lot of deals through referrals. People can call me directly. At a lot of other companies, they can’t call the CEO, they are too big, and so they don’t have the time or the inclination to even go talk to the customers. I am on the phone all the time with customers.

Ashar: Does our company or industry have any environmental concerns or policies?
Swedroe: We don’t but our customers do. So, we have to enable our customers to operate in a regulated world. For example, overseas, there is this thing called RoHS (Restriction of the Use of Certain Hazardous Substances) and WEEE (Waste Electrical and Electronic Equipment Directive). RoHS has to do with lead content. Our software enables you to track how much lead is in a bill of materials to make a product, and know which products have lead in them and you can get rid of to bring something that doesn’t. Specifically in the med-tech world, you have to get your product approved to sell in a particular country. Our software actually stops you from shipping something to a country where it’s not approved by the government agency. We enable our customers to play in a regulated world.

Ashar: Coming to actually moving into management, can you tell me what does a management role involve?
Swedroe: It’s very tricky, particularly in the R&D world. I have worked at a lot of R&D companies (high-tech companies) and what I have seen most of them do is to promote people based on their technical abilities.
“Oh, this person is really good, let’s make him or her a manager”. Well, if that manager doesn’t really want to manage people or manage a process, then you will make that person very unhappy and they are not going to be as productive, because there is training involved in managing people. The old saying is “Management would be easy if it wasn’t for all the people involved”, but that’s what the job is, right? Luckily, I have been in larger companies that gave a lot of management training. That helped a lot.
There are certain management philosophies that I can share with you: one is that you cannot manage in just one-way. You can have a basic management philosophy that says I am not going to micro-manage anybody, but you know, that’s wrong! There are certain instances where you really do need to micromanage people. If they don’t know the job, or don’t know the company, they are not going to know what to do, so by definition [of micro-management], you have to tell them exactly what to do. As they evolve in their job, then you start to change with them. If there has been someone there for twenty years, and you sat down and told him what to do every day, you are going to have a very unhappy employee, because you are telling them too much and micro-managing them. In that scenario, you need to completely delegate: back off completely and let them come to you when they run into an issue. So, having different management styles is required: you can’t have one management style: it doesn’t work.
[Followed by a white board discussion on four stages of competence in psychology where a person progresses from unconsciously incompetent to consciously incompetent to consciously competent and finally unconsciously competent. Another discussion on when a manager can be in another employee’s sandbox: it is unacceptable if the manager does that because he micro-manages all the time. The only times a manager should be in an employee’s sandbox is when the manager is new and wants to learn by being with the employee, or if the manager feels the employee would benefit from micro-management].

Stages of competence
Why are you in my sandbox?


Ashar: What are some challenges of a management role?
Swedroe: Challenges? It is trying to prioritize what we do. The other thing is bandwidth for myself: I can only be spread so thin. Sometimes I am doing sales… I was doing a source code legal document for two hours today. If you had asked me when I walked in today, I wouldn’t have known that I would be doing a legal document. It is just trying to prioritize. This stops me from looking at leads. The biggest challenge quite frankly is prioritizing not just for myself, but also for everything else.

Ashar: Can you list out specific skills that you think are important for moving into management?
Swedroe: You have to listen. You have to be able to read people, because a lot of the non-verbal signs are more telling than what they are actually saying to you. One of the things I struggle with too is that my personality is one where someone gives me a problem, then I like to fix it. That is not always the best answer. If someone gives me a problem, I’ll say it is this, this and this, and he or she moves on. But that’s not good, because they may come up with a similar problem next time they come to me again. So, the better response is, and I don’t do it nearly enough, “what do you think the right answer is?”. Have the person analyze it, think about it and then ask questions to get them to the right answer without telling them the right answer. I definitely know that, but it’s my natural tendency, because I am so busy. That [get them to the right answer] in a way takes longer in the short term to get done. I know what I have got to do is to train my managers and my staff below them to become better, and the best way to do that is to call time out and say “Alright, what do you think? What do you think we should do?”. And there are a whole lot of management books and tapes that are good.  If you pick up one or two things [from those books and tapes], then it’s gold!

Ashar: Very interesting. And how about communication skills?
Swedroe: Communication is obviously very important. One of the things I believe in is open door policy. I want people to come to me. I don’t shoot the messenger, because that will stop people from coming to me: I won’t know about the problem, which is not the way you want it to be. You want to hear about the problem so that you don’t get surprises.
From management perspective, what I have done on different occasions is what I call skip-level interviews, where in order for me to know how your manager is doing, I will talk to you about the manager, and then people have to know me well enough so that they know I am not going to run to their manager and say “Shu said this about you”, because then I am never going to be able to do that again. I don’t try to single out any manager, so I do that [skip-level interview] for everybody. Some people don’t want to talk to me: they are afraid of retributions. There is nothing I can do about it. But for those who want to talk, I’ll try to take the message. The only thing I am looking for is constructive feedback. How can we make the manager do his or her job better than they do now?  If they don’t know there is a problem, how are they supposed to know how to fix it?

Ashar: Do you have any suggestions for me on what I should do to move into management?
Swedroe: The question is, do you want to move into management? That’s number one. A lot of R&D people don’t like it. You get away from doing what you love: what you got all your recognition for throughout your career was writing code. And when you get into management, you don’t write code anymore. And some people are not very happy with that. So the key for you first off is, do you really want to take a step into that? There are a lot of pros and cons. The biggest con is obviously you have to manage people: you are not going to be able to write much code. The benefits of it are that you get to control more of the direction of what the company is going to be doing and there is obvious satisfaction with that too, but it is a different sort of satisfaction. And you need different skillsets, so you have to learn again how to delegate and not abdicate responsibility. You have to keep close enough touch to say something is wrong because otherwise you are not doing your job as a manager. So the number one thing is to determine whether do you really want to spend most of your time coding and creative thinking, versus twenty to thirty percent being creative thinking about solutions, fifty percent managing people, twenty percent managing your boss (laughter). These are different things and you never had to deal with that before. You don’t realize you are in it until you become a manager.

ShuBytes:

This was a very insightful discussion that helped me in different ways:
·      I got to know Bob’s management style and expectations.
·      I gained a management perspective about our company and the industry.
·      I gained interesting insights that will help me become a better manager and excel in my career in general and within the company.
·      This was the first time I formally interviewed someone for obtaining information. I think this is a very effective technique, and I plan on having similar interactions in future.
To summarize, some of the concepts that I learnt about moving into management are:
·      A manager should be comfortable working with uncertainties.
·      A manager cannot live in isolation: he or she should be approachable and fair.
·      One cannot have a single management style: there are situations where micro-management could be the right thing to do.
·      Being a manager involves having a fair idea about how things should be done, and then guiding your team in the right direction for doing those things while resisting the urge to get the task done by yourself.
·      The role of a manager enables you to steer direction that the company or department is headed in, and this is very different from a technical role where a major part of the responsibilities is creative thinking. You solve different kinds of problems in different roles and should consider your preferences and expertise for deciding which career path to choose.