Collaborative Marketing: The Third P: From Push to Pull to Presence

….. Surely if you have more inbound traffic and leads, the chances of conversion to sale increase, but what is the yield? Are you able to convert a larger percentage of them to sale?

Presence is a state, when even a non-seeker knows about your brand and offering.

How is this possible?

By the reach of the value you deliver, By word of mouth (obviously due to the remarkable value you offer), By having enough news worthy content, By being an active contributor to forums frequented by prospective customers. etc, By working with inbound leads to help them make a choice (any choice).

It is about building an association of your brand in the mind of a potential customer….Read complete article here

Confused about what is Cloud computing?

Confused about cloud computing?

Layman's guide to cloud computing

Learning from running our SaaS online collaboration service, Mithi SkyConnect, from a single server to a multi-server, multi-location set-up, we’ve come long way in handling high volume email services, but the increasing sophistication of the service, rapid growth in traffic and speed at which we need to provision for new users has made it necessary to consider a cloud based platform such as Amazon Web Services and have been working on the new architecture and design for the setup. Via this post, I would like to share some clarity that emerged during this journey and discussions, about what really is a cloud platform and where does it fit in the stack. If the meaning of cloud computing/platform in your mind is as nebulous as a rain cloud is, please do read on.

Hosting an application for consumption by users:

We are all reading this since we have the need to host (or are already hosting ) applications in a SaaS (software as a service model) model for consumption by end users. Thus end users will connect and consume the service (typically using a browser or a specialised application on their device) via the Internet or a private network – Client Server topology.

Consider the following basic requirements for any Application hosting environment:

  • Provisioning Server/Compute instances as required
  • Provisioning Storage and Backup objects as required
  • Networking the objects together for inter-connectedness
  • Provisioning for Bandwidth as required
  • Deploying the application on the platform
  • Planning for High availability on site and off site
  • Planning for temporary bursts/spurts in usage
  • Planning for scale up or scale out as required
  • Setting up maintenance and monitoring procedures and automation.

The Stack of a SaaS application in a traditional hosting environment:

Traditional computing stack

Non cloud based computing stack for a SaaS environment

You would need a good team to deploy, manage and maintain the bare metal infrastructure using tools like Virtualisation, SDS, automation of processes, etc so that you can get a reliable hosting platform and can get the most performance out of it. These would constitute provisioning, scaling, troubleshooting, etc at the infrastructure layer.

Enter “Cloud”: The Stack of a SaaS application in a cloud environment

Cloud computing Stack

Cloud Computing Stack

The cloud platform has taken over the provisioning, management, scaling out of compute objects and has left your team to operate at a higher level, at the level of the solution architecture.  A good Cloud platform typically provides a unified console to manage objects like server instances, storage drives, load balancers, templates to setup the architecture, out of the box services, tools to manage and monitor the infrastructure, and lots more.

In essence a good cloud platform is a software, that sits over the bare metal objects like Servers, Networks, Disks, etc to provide “out-of-the box” services, and “reliable and elastic” objects, which can be used to host the application. Typically a cloud platform will provide you a single interface to manage the server and setup instances, storage elements, services, across multiple sites and will automatically handle the scaling and availability requirements of the application, without needing human intervention in most cases.

So another way to look at it is:

User  <–> Uses Applications <–> Running off a Software Platform <–> Hosted on a cloud platform <–> Running on a bare metal infrastructure.

Introducing the cloud platform in between the software platform and the bare metal infra is critical to allow us to scale the performance with ease and reliability and also leverage services from that layer for providing additional end user functionality like bulk mail, cloud based backups, end point backups or anything else.

Thus your strategy would be to introduce this layer between your application and the bare metal.

And the good news is that you don’t have to develop this yourself. In fact you have to guard against doing this. Its similar to writing code when you can buy a component or incorporate an open source component. Just like we don’t build hardware or switches.

Now what?

Using this approach frees up resources to now work on the software application to deliver value to the end users…today you may be locked up monitoring hardware, setting up machines when needed, worrying about storage and its scalibility and reliability…a lot of thinking is locked up one step below where it should ideally be.

So NOW we don’t have worry about

  1. Adding more servers as load grows…its automatic scale out and scale in
  2. Adding more storage as we need more (on demand)…its automatic.
  3. Having a cap on our bandwidth…it bursts on demand
  4. Reliability of the machines and storage…there is built in redundancy
  5. Paying for capacity we don’t use…pay per use
  6. Planning for capacity in future…its elastic.

and several more…

One key word in any cloud platform is “elastic”. Scale up or down, manually or automatically, vertically or horizontally.

All we need to do is to design the architecture, which will leverage the elasticity of the cloud platform….the components and their placements and their connections….isn’t that our competence as application developers?

Focus on what you are good at!!

 

Great Blogging…..Great low cost Marketing: 5 ways to Connect the dots

A lot has been written (blogged and flogged) about what is blogging, the benefits of blogging, leveraging blogging for building your brand (self and/or business), share ideas etc. With this article, I am not venturing into that space, instead I would like to share my experience of blogging where the rubber hits the road. I have distilled 5 key takeaways from my experience and my discussions with other bloggers on Linked in (viz. Rob, Vicki and Roland)

What is obvious?

Blogging is a quick way to publish content on your personal or corporate blog site and topic, which typically reaches your followers/viewers in a flash, and they can then come have conversations around the topic, thus enhancing/building on the original idea. Blogging has opened up creating and sharing content to almost anybody who can write. Its THE place to share your ideas, opinions, findings, etc.

So what’s the difference between a normal web site page and a blog?

Normal web site pages are typically static, simply stating facts, have a more enduring value as they stand and don’t really warrant an open conversation around them. E.g. product features, business case studies, price sheets, calculators, etc. These reflect the corporate offering and is akin to the shop window.

On the other hand, Blogs are dynamic, they flow with the thoughts of the author. A blog on any subject is a live active document, which is “continually” and “consistently” updated and maintained. Means that a successful blog is one, which is not a one thought wonder (like a one song wonder). Instead it exhibits thought leadership i.e. not just quality but also consistency of output and meaningful conversations (like this one), which then becomes a source of continuous learning for the reader/audience. Its like a build up towards a goal.

So what kind of articles constitute a blog?

I’ve been thinking that no matter what the subject, and presentation style or technology used, I feel the content of a blog can fall into the following framework of categories:

  • INFORMATIVE: The blog simply shares some knowledge, news, report, statistics etc. Reports on what has already happened.
  • ANALYTICAL: Author presents some insight, some reflection, some opinion on some aspect of the subject. This type of writing is typically to get feedback and build on some idea.
  • PRESCRIPTIVE: Author presents a ready made distilled list of actionables, which stems from the authors experience and observation. This will typically have the structure like “10 ways to increase sales”, “10 things to avoid when presenting to an investor”, etc.
  • INQUIRY: Author presents a question or a method and is requesting for feedback from the community to build on that idea. Note that this is different from Analytical writing since here the author has no opinion but just a question. Analogy is “thinking aloud”, “I need help with this problem, let me ask my community”, etc.

I feel that a good productive discussion around a subject will have a healthy mix of posts, which are of the above types and promote a dialog among the community and is not just a monologue or discourse by the author.

What should I watch out for, while blogging?

Note that your writings are direct reflection of who you are and what you stand for. If you stand for multiple things, its a good idea to have multiple topics in your blogs section. e.g. animal  welfare, business systems automation, etc. I would  advice against mixing up your posts across topics, since that leads to a weakening of the build up of value in that topic. Besides the obvious dos and donts, it may be a good idea to establish a “house style guide”, which is important for branding. Surely you want a sharp associatable brand and not some loose collection of disconnected threads that appears like a hair ball (blogging for the sake of blogging). Hence the posts require a style and content “coherence” and “quality” if “You have to KEEP ATTENTION, ENGAGE in discussion, LEAD in discussion, and INFLUENCE (as Roland aptly stated).”

Who can blog?

Anyways, now that we have a “prescription” for how great blogging can be used for effective and low cost “marketing”, how does one actually execute on this prescription? Given that all the good intentions are there :-)

I feel that great blogging requires a context. People in deep touch with the context should be a helm of this activity. Also this is possible only by putting adequate time and energy to analyse, write and produce quality documents for consumption by the readers. Writing is not a trivial activity. Its akin to writing great software code.

Honestly I have been struggling with this. I tend to get so caught in operations that I become a “victim” of my “own busy ness” and I keep postponing the writing activity. While we have established that great blogging and great conversations, is the lowest cost way to attract visitors, build communities and translate a portion of them to buyers for your services, then why don’t I do it consistently (at the risk of the business loss)? I observe that sometimes the gap between my blog posts can be from 1 week to 4 weeks. I can continue to make excuses or on deeper reflection I discover that its probably that I haven’t connected to the importance of this activity OR that when there isn’t much activity around my  blog, I lose interest and get working on something more tangeable.

What is your reason for not tapping the keyboard today?

What is my response to the slow pace of blogging?

I am learning to see that this activity is at a higher level and needs my personal time and attention (its about context). I am learning that while operations can be outsourced, creative writing cannot. I am learning to overcome this by understanding that all good practices need patience and time to get established. I also realise the need to relax and just be at it consistently improving my output. I am also learning to give this due importance and “dedicating” an uninterrupted portion of my day to work on writing, sharing and connecting with other like minded people.

Any thoughts on this thought?

SECURITY ALERT: Impact of Heartbleed bug of OpenSSL on Mithi Connect Xf

This security message is to notify you of a major security vulnerability that has just surfaced within the past 3 days, and referred to as Heartbleed. We urge you to read up our security alert/announcement about this bug in OpenSSL and its impact on Mithi Connect Xf, which is deployed in your environment, and whether you need to take any action.

See more at: http://www.mithi.com/forum/security-alerts/380-impact-of-heartbleed-bug-on-mithi-connect-xf.html#384

How does Mithi SkyConnect co-exist with Google Apps on the same SMTP Address space (email domain)?

Requirement:

There is a requirement to host the email infrastructure of a company across 2 different solutions, such that both the solutions share the same SMTP address space and the company can divide their mailboxes across the two solutions. This is typically done to allow a set of users to use one of the solutions for the value that it offers and allow the remaining users to derive benefit from the value delivered by the other mailing solution.

Essentially your critical requirements are not met entirely by one solution, but the benefits offered by that solution cannot be ignored either. In the case of Google Apps (GApps), some of the key management people, may need to use the GApps features and may need tighter integration with their G+ profiles etc, which will not be available with the Mithi solution. At the same time, the remaining set of users, have no need for all the capabilities of GApps and it would be most effective to host them on a simpler solution.

A Co-existence solution, as the name suggests, is a solution where 2 or more mailing systems work seamlessly together to provide a common/ shared address space (email domain name like acmecorp.com), and if possible a centralized directory for authentication and personal properties of entities (users, groups), and common contacts of all mailing systems to all users.

Such a solution allows the organization to host separate groups of users on different systems depending on their usage requirements. E.g. in an organization with 1000 users, a typical co-existence between Connect Xf/Mithi SkyConnect and GApps will allow the organization to host 100 users on GApps and 900 on Connect Xf/Mithi SkyConnect, sharing a common domain name in their email ids, and with seamless mail flow between the users of both systems.

Key benefits of such a setup

  • It provides the critical features/ functionalities required by the top management in a way they would want.
  • It also enables the organization to save big time on the overall infrastructure, management and upgrade costs, by ensuring that a majority of the users remain on a low-cost, resource-efficient system.
  • It brings in value from the open world, which gives the business an IT edge, like archival, mobility for almost all types of devices, access to free clients and applications like Thunderbird, Jabber chat clients etc. E.g. With open technologies, you could use any Android based phone/ pad/ tab, iPhone, iPad, to get seamless access to email, calendar, chat, and address book, while on the move. A possibility like this allows the field force to be more connected to each other and not just the top management.

Working

To explain the working, we have assumed an example domain of acmecorp.com and also assumed that there would be 100 users on GApps and 900 users on the Mithi Setup (Connect Xf or Mithi SkyConnect).

The GApps system has a feature which supports such co-existence configurations to share an SMTP address space. This is done via the
Google Apps > Settings for Email > Advanced Settings – Routing (Email routing)

You would need to configure catchall routing as explained below.

Setup:

  1. On GApps setup, add the acmecorp.com domain and configure the 100 users, who will use the GApps setup.
  2. Also Add an alias to this domain called gapps.acmecorp.com
  3. On the Mithi setup, configure the remaining 900 user accounts who will access their mailboxes from the Mithi setup.
  4. On the GApps setup, configure the email routing for the catchall account (all mail meant for unknown email ids of acmecorp.com) to push this mail to the Mithi Connect Xf or Mithi SkyConnect server host name as the destination.
  5. On the Mithi setup, add and configure the remaining 100 accounts (whose mailboxes are on GApps) to forward mail to the corresponding email id on the alternate domain viz. gapps.acmecorp.com (forward to alternate domain)

The mail flow explanation which is below will make it clear as to why we need an additional domain as an alias on GApps.

Hybrid solution of GApps with Mithi SkyConnect for sharing same email domain name (SMTP address space)

Co-Existence between Google Apps and Mithi SkyConnect or Connect Xf

Inbound Mail flow:

The MX for acmecorp.com and gapps.acmecorp.com will land on the GApps servers, which will deliver mail locally for the users hosted on the GApps server, and forward mail for unknown users to the host name specified for the Mithi server. GApps will assume that if the mail is destined for an email id of acmecorp.com, which doesn’t exist on GApps as a mailbox, is a user on the foreign email system and will use the configured destination host to route mail to the foreign mail server.

Mail destined for gapps.acmecorp.com is aliased to acmecorp.com e.g. mail sent to user@gapps.acmecorp.com is translated to user@acmecorp.com via the domain aliasing capability.

Local Mail flow on acmecorp.com domain:

  1. GApps to GApps: An acmecorp user of the GApps system sends a mail to another acmecorp user on the GApps system. This mail is routed internally within GApps and delivered to the recipient.
  2. GApps to Mithi: An acmecorp user of the GApps system sends a mail to another acmecorp user on the Mithi system. Since the recipient ID is unknown, GApps will route this mail via the catchall configuration to the Mithi server. The Mithi server accepts the mail and delivers it to the recipient’s mailbox.
  3. Mithi to GApps: An acmecorp user of the Mithi system sends a mail to another acmecorp user on the GApps system. The Mithi system will attempt to deliver the mail to the acmecorp.com recipient on the Mithi system, who is configured to forward the mail to an alternate domain with the same user id (forward to alternate domain). E.g. if useronmithi@acmecorp.com sends a mail to userongapps@acmecorp.com, the mail delivery configuration of this user instructs the Mithi system to forward the email to userongapps@gapps.acmecorp.com. This is routed to the Internet as an outbound mail and is received via the GApps system on the MX landing points. Thus the GApps system receives a mail for userongapps@gapps.acmecorp.com, and because of the domain alias configuration of the gapps.acmecorp.com domain and the acmecorp.com domain, the mail is delivered to the userongapps@acmecorp.com, which is then delivered to the recipient’s mailbox locally.
  4. Mithi to Mithi: An acmecorp user of the Mithi system sends a mail to another acmecorp user on the Mithi system. This mail is routed internally within the Mithi server and delivered to the recipient.

Outbound Mail flow:

  1. GApps to Internet: An acmecorp user on GApps sends a mail to an external recipient. This mail is routed to the Internet directly from the GApps system.
  2. Mithi to Internet: An acmecorp user on Mithi sends a mail to an external recipient. This mail is routed to the Internet directly from the Mithi system.

Virus and Spam control:

  1. Since MX is landing on GApps, the spam and virus scanning for all the mail is done by the GApps system. Thus the spam scanning on the Mithi system is disabled since it is redundant.
  2. Outbound mail from GApps are scanned for Spam by the GApps system
  3. Outbound mail from the Mithi system are not scanned for spam.
  4. The virus control engine is enabled on the Mithi system and all mail (inbound, outbound and local) are scanned for viruses.

Deliver-ability:

To ensure that the recipients can perceive the hybrid mailing system to be one, its important to configure the SPF record to contain the IP addresses of the outbound relay servers from both GApps and the Mithi setup. The SPF record has to be configured with your DNS service provider.

Address Books

The Mithi users will see the entire address book since all the 1000 users are added to the directory (although 100 of them will not have their mailboxes there). This makes it possible for the users of the Mithi system to see a complete global address book comprising of all 1000 users. As for the GApps users, they will only see an address space of 100 users unless you can populate the Global address list on GApps with all the 1000 users and also maintain this during provisioning (Adding and deleting users)

Authentication

The users on GApps and Mithi will maintain their own passwords in the respective directories and via the respective interfaces. The password policies etc will apply from the separate systems respectively.

Archival

Using this kind of coexistence, it is possible to achieve seamless mail flow, but not possible to have archiving done for all mail of all users at a single point. The archival will necessarily need to be configured at two different points, viz. for the 100 users on GApps and for the 900 users on the Mithi system.

Note:

To get this co-existence running with GApps, you would need to subscribe to the business edition of GApps. The features of forwarding to another domain/host that are required to enable this co-existence are not supported in the free(legacy) edition of GApps. Please check this link for more details on the different GApps editions.

Cross References:

http://www.mithi.com/emailserver-workingofcoexistence

http://www.mithi.com/forum/15-coexistance/233-co-existence-on-cloud.html

http://www.mithi.com/forum/15-coexistance.html