Archive for the ‘Non Technical’ Category

Talking with iOS

Posted: August 4, 2010 in IT & Technology, Non Technical, Technical
Tags: , ,

In this article we will summarize some of the best practices and technologies we have identified to implement a scalable and manageable communication framework to integrate iOS base devices into an existing enterprise application, typically developed using Microsoft technologies.

Selecting the communication protocol

When we need to communicate with an iOS device (or any other mobile client for that matter), one of the first things we need to decide is the protocol to be used during the communication. Although we can use our well tested SOAP over HTTP for this matter, given the limitations of these devices, it’s always better to have something simpler and more efficient. Considering this requirement, the REST (Representational State Transfer) web services become the ideal choice for this matter. In REST, we think in terms of “resources” instead of “actions.” Therefore, rather than defining our own methods, REST leverages the existing methods of an application layer protocol (e.g. HTTP) to manipulate the resources. This avoids the need of having special client side “proxy” classes to perform the communication. For instance, if we want to get a list of users, using a REST service, we will simply perform a HTTP GET request to a pre-defined URI (e.g. and to update the users we may perform a HTTP POST request where in SOAP based web services, we will invoke web methods with the help of a proxy. (more…)

Before we Start…

Posted: November 29, 2009 in IT & Technology, Non Technical

One of the most important aspects of a start-up is its idea. The underlying idea may not need to be always brilliant but it should be always meaningful. According to Guy, a meaningful start-up should make the world a better place. It should increase the quality of life. A start-up can be also meaningful if it corrects a terrible wrong or prevents the end of something good. In essence, our idea should create some value for the world. The history tells us that many start-up ideas are also simple. For instance, Google’s idea was to create a clean and simple search interface having ranked search results. eBay wanted to create a system for a “perfect market”. However, a simple idea does not mean the implementation of it is also simple. Many complex and extremely innovative algorithms involve behind Google’s simple idea.


Building positive relationships among stakeholders is paramount to the success of any kind of business. Interestingly, different stakeholders are not the same in nature and the way we can build relationships is by no means the same. However, we can identify few things, which are important to any kind of relationship.

First, what is a relationship? Depending on the context, there can be many interpretations to the term “relationship” but generally, it means something about a connection. In order to sustain the relationship, this connection should create value to all the parties. Therefore, the basis for building relationships is about creating value for all the parties.

The trust between parties is very important when building relationships. It is so important that we can call the level of trust as the strength of the relationship. Then how can we build trust? The heart of building trust is about being truthful.  Always tell the truth and never miss a promise, then you can be truthful. In addition, if you could be there for other parties and be friendly with them that will greatly help to strengthen your relationship.

Having a good relationship with clients will greatly help you as a consultant. In fact, one important aspect of good consultation is about building relationships. Without a good relationship, you will not be able to get the client’s confidence and trust. Without confidence and trust, no one will ask your help. If nobody is asking your help, then you are no longer a consultant.

The decision to outsource the IT functions of an organization depends on the costs and benefits associated with it. The primary objective of outsourcing is to reduce the operational costs while gaining some competitive advantage over other competitors. At the same time, we must also consider the risks and long-term impact to the organization. Once we outsource certain functionality, the organization starts depends on those sourcing organizations and may face new uncontrollable risks. In this context, it is worthwhile to find out the possible disadvantages of outsourcing so that we can assess the impact of them on our outsourcing objectives.


The appropriate delivery model for the outsource strategy of an organization depends on many things. When your objective is just short-term cost savings, or the activities under consideration are non-core, non-critical, then typically, you may simply outsource those activities to some vendor. However, in some cases captive operations can be more profitable than outsourcing. When the IT operations are part of your core competency, outsourcing may not be a suitable approach. For instance, if you are a software development firm and wants to control the entire software development life cycle, then captive operation may be a better approach than outsourcing.

In any kind of outsourcing, knowledge transfer remains an important aspect. Initially the organization may require disclosing certain information to the outsourcing vendor. Then throughout the project new knowledge may created and issues can arose regarding the ownership of the intellectual property rights. When the activities are highly knowledge based, the complex intellectual property rights situation may even outweigh the short-term cost advantages of outsourcing. On the other hand, captive operation may be a better approach to simplify these issues and keep the intellectual property rights within the organization.