NML has developed a number of (bespoke) Enterprise2.0 applications for our clients. In each case the client had a different business model that they wanted to incorporate social media into.  We realised while building these applications that while the business model and data-sources were unique to the client, the social media elements were often common. Therefore we have built a code base layer that we use to rapidly create reliable Enterprise2.0 applications.

The following is a list of characteristics common to each bespoke social media Enterprise2.0 applications we have built:

Web2.0 Framework in Microsoft C# .NET3.5 Framework

We did not want to compete with the open source social media applications.  Our rational: there are literally hundreds of open source social media applications (Elgg, BuddyPress, Drupal Extensions, Ning) that generally facilitate the basic elements of social media, namely blogs; forums; FAQs; Polls; Media (video, audio, image).  We use these open source social media frameworks for clients who simply need to host a social network.  In our experience though, these frameworks are hard to integrate into the data sources that most enterprises run (Oracle, SQL Server and IBM DB2), and hence cannot easily be integrated into the business model – be it banking, trading, fund management.  Adding to this, often the Enterprise Architecture for the application does not allow open source software.

The Enterprise2.0 code base we built is designed for the enterprise and runs on the technology described in the Enterprise Architecture of most corporations.  For us this meant a Microsoft .Net middle tier that could be bound to any of the leading relational databases.

We also imagine that at some stage our clients might want to move their applications to the Microsoft Azure cloud and this architecture would accommodate this change.

Service Oriented Architecture

Our Enterprise2.0 layer is entirely service oriented.  This service layer provides a layer of abstraction between the middle tier and the front end, implying that the application front end persist information through web service calls.  This allows us to reskin and theme a front end for various different businesses without making changes to the service layer, middle tier or front end [pure separation of concerns].  A web application front-end can then be built in Flex, Silverlight, ASP.NET or PHP with minimal effort.

The service oriented layer is kept quite simple by relating all entities to the asset base class as is illustrated by the following service contract and data contract models.

Data Contract for NML Web2.0 Framework
Data Contract for NML Web2.0 Framework
Service Contract Model for the NML Web2.0 framework
Service Contract Model for the NML Web2.0 framework

All interactions fire events that are measured (and can be measured by external systems)

Any call to the service layer fires an event.  This event can then call out into other systems.  These systems can be integrated into a metric measuring engine such as Microsoft’s looking glass (http://techxav.com/2009/09/23/looking-glass/) or Nielson BuzzMetrics or Global Visions Eureka and Adora products.  This is critical to measuring the true effectiveness of a social media campaign.

Multiple Applications off a single framework

The framework has the concept of an ApplicationID, which means you can run multiple applications or social networks off a single database.  The assets of that application can reside across either or can be attached to one or more applications.

Everything is an Asset

The base class of any entity is an asset.  The system is configurable and any asset class structure can be described.  The relationship between assets is many to many.

An example configuration would be:

Coffee Shop (asset type) relates to Micro Review (asset type) which relate to Albums (asset type) which relate to Photos (asset type).

Assets can be geo-located (geographic aware)

We are noticing that the future of all assets is map orientated.  Asset types can thus be made geographically aware and can thus be plotted on the various different mapping platforms (Google Earth, Microsoft Virtual Earth, ERSI maps).

All asset types are rateable

A key concept of social media is rating an entity.  This allows segmentation of entities based on their rating, for example good coffee shops over bad ones.

Comments can be applied to any asset type

All asset types can be liked/disliked (thumb-up/thumb-down)

Feature Types on Assets are limitless (configurable)

All features can have an infinite, but logical, set of Feature Types.  These feature types can be Boolean or numeric, for example, a coffee shop has a seaview (boolean) and wireless internet access (boolean).

Membership/Community

The application allows for full membership, with follow/be followed (twitter style) and friend (facebook style) models.  You can enumerate through the members and you can browse a specific profile.

Login

The membership model is based on the ASP.NET membership model.  We have linked the authorisation and authentication services for open id and facebook connect (which supports open id).  This allows us to build a community without a cumbersome registration process.

Member Favourites

A member can “favourite” specific assets (entities) within the system, for example, s/he can decide which coffee shops s/he likes.  The framework can then be used to link up people with similar interests.

Administrators

Administrators can login to the system and manage the content.  Each user record can be taken through a workflow – the workflow is particularly important in applications where there are legalities around digital publication (alcohol and cigarette).

Media Manager/Uploader

All media is seamlessly uploaded via easy to use media management tools (very similar to facebook).

Server Side Media Encoder

After a file has successfully been uploaded to the server the file needs to be encoded for the particular viewer (either Silverlight or Flash (FLV)).  The system accesses the dlls for FLV and Silverlight and encodes the file automatically.

Base Social Media Features

Namely Blogs, Forums, FAQs, Polls, and Media (video, photos, audio).

Example Sites built using the Web2.0 framework.

Mashup on Yahoo Maps, Google Earth or Microsoft Virtual Earth

Mashup on Yahoo Maps, Google Earth or Microsoft Virtual Earth

Bars and related Media
Bars and related MediaCommunity MembershipGeo-Located EntitiesMedia Manager – with name, description and tagging
Enumerate through members in the community and browse a specific profile

Enumerate through members in the community and browse a specific profile

Media Manager - with name, description and tagging

Media Manager - with name, description and tagging

www.africantourismportal.com
www.africantourismportal.com
Mashup data that relates to a point of interest (Flickr, YouTube)
Mashup data that relates to a point of interest (Flickr, YouTube)
Points of interest - Select the entities you want to see
Points of interest – Select the entities you want to see