Social Intranet - Key to Success of Intranet Portals

by Amit Wadhwani 31. January 2012 16:23

Every organization wants its employees to maintain strong communication and coordination among them. To achieve this, the companies opt for intranet portals. An intranet portal acts as a route for accessing all the enterprise information and applications. It is very important for a company to have a dedicated intranet portal to ensure that the employees access data, information and applications with ease. When a company invests a big amount in developing intranet portals, it is highly important for it to ensure that the employees use it regularly and drive maximum benefit out of it.

Unfortunately many companies come across situations when its employees start creating distance with the intranet portal. Have you ever wondered why the intranet portals fail to keep the audience adhered to them? Employees usually find intranet portals boring. Most intranet portals act as collection of static web pages on which the employees hardly find anything new or interesting. Employees prefer to spend their time more on social networking websites instead of surfing around the intranet portals. Messages of CEO or MD do not create sufficient attraction which can make them stuck to the portal.

Imagine how life would be if your employees see a good social life on your company’s intranet portal? This thought gives rise to the concept of social intranet. Social intranets are combination of intranet portals and social networking. Social Intranet can be achieved by leveraging SharePoint Out of the box features & integrating third party tools like Yammer, FB, and LinkedIn etc.

Social intranets facilitate speedy communication within the team. Nothing beats talking to a colleague, but you've got to find their contact details first. Though most of the intranets portals make its member enable to see contact details of each other but the ability to interact fast on the portal itself stays missing. When it comes to large companies, the role of social intranet portals becomes extensively beneficial. In big companies, the employees hardly get a chance to interact with the employees of other departments and hence the social intranet portal makes them know each other better. Transforming intranet portal from merely a static website into an informative website and communication platform significantly paces up frequency of visits on the portal.

It is always good for a company to motivate its employees and take up their suggestions. When an employee is heard by the management, it creates a sense of responsibility with the employee. The same goes with intranet portals. If the employees find that the portal is merely a place where the management is spreading few files, documents, notices etc. the former will be least interested in accessing it. On the other hand, when the employees are provided with authorship authority, it makes them feel themselves as a part of the portal and use it often.

Earning rewards and showing them off to world has been a basic desire of human beings since long time. Gamification has evolved as one of the strongest tool which favors success of intranet portals. It is a good idea to put some interactivity on intranet portal and provide rewards and points to the users who participate in those activities. This becomes an important promoter of repeated visits on the portal and makes the employees check the portal regularly.

Intranet portals are supposed to make the life of employees easy. But unfortunately most intranet portals do not furnish this need. In today’s time where everyone is already burdened with information, the load of non-relevant information becomes a trouble for employees. This fact initiates the requirement of providing maximum personalization on the portals. Personalization offers employees to choose the information they want to stay updated with.

So if you are planning to strengthen the internal communication and co-ordination at your organization, do not go just for an intranet portal, go for Social Intranet.

 

Tags: , , ,

SharePoint Server | Office 365

Add a shortcut to your Team Site from your Office programs

by Vipul Bhavsar 18. January 2012 06:00
If you’re using Office 365 for professionals and small businesses, you’re probably looking for ways to save more of your business documents to the cloud. By that I mean, save your documents to your Office 365 Team Site rather than your desktop, your local documents folder, or some file share that someone set up.
 
When you store your documents on your Team Site, you can access them from any computer or from any device; you can easily share and collaborate on those documents with coworkers; and those documents are safer than they would otherwise be on your computer where they could get deleted, lost, or damaged in the case of computer problems.
 
To add documents to your Team Site, you can upload them individually or as a group using the Upload Document button or drag and drop them using Windows Explorer. But what if you want to save documents directly to your Team Site from Office programs like Word, Excel, and PowerPoint? You can do this by adding a shortcut to your Team Site in the Save As dialog that you see when you save a document. It looks something like this…
 
 

 
 

Tags: ,

Office 365

Sokoban - HTML5 Game Technical Document

by Sandeep Prajapat 16. January 2012 07:03

Scope:
A simple yet attractive tile based game developed in HTML5. It showcases the seamless capabilities of HTML5 in gamification.

Objective:
Sokoban was developed with an objective of exploring the basic features of HTML5 games. Another motive behind the game is to show how Ignatiuz can provide efficient gamification solutions to meet industry needs.

Target Audience:
Sokoban is designed keeping audience of all the age group and genders in mind. It's simple UI and attractive design make it easy and interesting to play.

Target Platforms:
The game works perfect on desktop. It is browser independent and works on almost all of the commonly used browsers. Increased use of mobile devices was kept in mind while developing this game. The game works smooth on mobile touch devices including Android and iOS devices.

Technology Used:
HTML5 is used as the basic canvas element for development of Sokoban. It is written in JavaScript.

The game is dependent on third Party Library Dependency: jquery-1.4.2.min.js, jquery-ui-1.8.4.custom.min.js, jquery.cookie.js

The best part is that the game does not run on any additional plugin like flash which makes it very light to operate and play. It loads quickly and does not require the user to download any additional plugin.

 
Required Elements:
1. Imagery inside the ‘Images’ folder.
2. Xml file for map routes inside the ‘maps’ folder.
3. Java scripts files inside the ‘scripts’ folder.
4. CSS file inside the ‘css’ folder.
5. Game run command in JavaScript language to be added in html page.



Sokoban.html
Scope: main user interface file for Sokoban game.
Roles:
1. Contains the required JavaScript and css files.

<link type="text/css" href="css/game.css" rel="StyleSheet">
<script src="Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui-1.8.4.custom.min.js" type="text/javascript"></script>
<script src="Scripts/jquery.cookie.js" type="text/javascript"></script>
<script src="Scripts/GameJs/LevelStatistics.js" type="text/javascript"></script>
<script src="Scripts/GameJs/DrawableElements.js" type="text/javascript"></script>
<script src="Scripts/GameJs/Map.js" type="text/javascript"></script>
<script src="Scripts/GameJs/Game.js" type="text/javascript"></script>


2. Includes the required user interface elements like div and canvas elements.

<canvas id="canvas" width="250" height="250"> Sorry your browser does not support Canvas. Please use different browser: <a href="http://www.mozilla-europe.org/en/firefox/">Get Firefox</a> or <a href="http://www.google.com/chrome">Get Chrome</a> </canvas>


3. Initializes the next level and game finish popups.

$("div#dialog").dialog(
                {
                    autoOpen:false,
                    modal: true,
                    width: 250
                });
        $("div#gameOverDialog").dialog(
        {
            autoOpen: false,
            modal: true,
            width: 250
        });


4. Initializes and run the Sokoban game.

document.sokobanGame = new Game();
document.sokobanGame.Run();

 

Game.js
Scope:
main JavaScript file incorporating the functions and methods of all other JavaScript files.
Roles:
1. Initializes the game variables
2. Configures/creates the canvas element

_canvas = document.getElementById('canvas');

        if (_canvas && _canvas.getContext) {

            _canvasContext = _canvas.getContext('2d');

            _canvasBuffer = document.createElement('canvas');
            _canvasBuffer.width = _canvas.width;
            _canvasBuffer.height = _canvas.height;
            _canvasBufferContext = _canvasBuffer.getContext('2d');
            return true;
        }


3. Initializes the Image Repository class to load all the images required in the game

_imageRepository = new ImageRepository();


4. Detects device/platform for best performance

this.getDevice = function () {
        var deviceName = "Web";

        if (navigator.userAgent.match(/iPad/i) != null) {
            deviceName = "iPad";
        }
        else if (navigator.userAgent.match(/iPod/i) != null) {
            deviceName = "iPod";
        }
        else if (navigator.userAgent.match(/iPhone/i) != null) {
            deviceName = "iPhone";
        }
        else if (navigator.userAgent.match(/Android/i) != null) {
            deviceName = "Android";
        }

        return deviceName;
    }


5. Configures elements based on device detections

this.deviceName = this.getDevice();
    	if (this.deviceName != "Web") {	
            		this.useTouch = true;
		document.getElementById("wasd").style.display = "none";
		document.getElementById("wasd-touch").style.display = "block";			
            	 }
            	else
	{
		document.getElementById("wasd").style.display = "block";
		document.getElementById("wasd-touch").style.display = "none";
	}


6. Checks cookie for game level

var cookie = $.cookie("sokoban");
        if (cookie != null) {
            //user already finished some maps
            mapToLoad = cookie;

        } else {
            $.cookie("sokoban", 1, { expires: 365 });

        }


7. Initializes the Map class to load the xml map file

_map = new Map(_imageRepository);


8. Initializes interval for updating the game view

this.InitialUpdateDraw = setInterval(this.InitialUpdateRun, this.CheckInterval);


9. Checks if level/game is completed

if (_map.Finished) {
$(document).unbind('keyup');
document.getElementById("u").removeEventListener('touchstart', document.sokobanGame.MoveUp, false);
document.getElementById("d").removeEventListener('touchstart', document.sokobanGame.MoveDown, false);
document.getElementById("l").removeEventListener('touchstart', document.sokobanGame.MoveLeft, false);
document.getElementById("r").removeEventListener('touchstart', document.sokobanGame.MoveRight, false);


10. Displays message if level/game finished

if (_map.Number == 16) {
                //this is last map
                $("div#gameOverDialog").dialog("open");
                return;
            }
            $("div#dialog").dialog("open");
            $("div#dialog button").bind('click', function () {
                document.sokobanGame.LoadNextLevel();
                $(this).unbind('click');
            });


11. Loads next level if current level finished

this.LoadNextLevel = function () {
		$("div#dialog").dialog("close");
		var nextLevel = ++_map.Number;
		$.cookie("sokoban", nextLevel, { expires: 365 });
		document.sokobanGame.LoadContent();
	}

 


Map.jS
Scope:JavaScript file to load and create the map based on level
Roles:
1. Loads xml map file based on current level

this.LoadMap = function (levelNumber) {
        $.ajax({
            type: "GET",
            url: "maps/map"+levelNumber+".xml",
			//url: "maps/map16.xml",
            dataType: "xml",
            success: this.ParseXmlMap,
            context: this
        });
    }


2. Parses the xml map file

this.ParseXmlMap = function (xml) {

        this._width = parseFloat($(xml).find('Level').attr('Width'));
        this._height = parseFloat($(xml).find('Level').attr('Height'));
        this.Number = parseFloat($(xml).find('Level').attr('No'));

        this._map = new Array(this._width)

        for (var x = 0; x < this._map.length; x++) {
            this._map[x] = new Array(this._height)
         }
}


3. Draws the map according to parsed xml file

this.Draw = function (canvasContext) {

        var xCanvasPos = 0;
        var yCanvasPos = 20;
        var tileSize = 30;
        for (var y = 0; y < this._height; y++) {
            xCanvasPos = 0;
            for (var x = 0; x < this._width; x++) {

                var img = this._map[x][y].GetImage();
                if (img != null) {
                    // draw image
                    canvasContext.drawImage(img, xCanvasPos, yCanvasPos);

                } else {
                    // draw rectangle
                    canvasContext.fillStyle = this._map[x][y].GetFillStyle();
                    canvasContext.fillRect(xCanvasPos, yCanvasPos, tileSize, tileSize);
                }

                xCanvasPos += tileSize;
            }
            yCanvasPos += tileSize;
        }


4. Initializes the LevelStatistics class

var _levelStatistics = new LevelStatistics(this);


5. Updates the LevelStatistics class variables

this.Update = function () {
        //check for end game conditions
        if (this._goals > 0 && this._goalsAchived == this._goals) {
            this.Finished = true;
        }
        _levelStatistics.Update();
    }


 


DrawableElements.js
Scope:JavaScript file to load the imagery used in the game
Roles:
1. Loads all the required graphics used in the game

this.LoadContent = function () {
        _imgLoaded = 0;

        //go through all properties and load images
        for (var key in this) {
            if (this[key] != null) {

                //this even will not fire in Chrome if Image is cached !! Workaround needed       
                this[key].onload = function () {
                    _imgLoaded++;
                }
            }
        }


2. Executes methods for movement of the player in the map

this.MoveBox = function(boxCell, moveBoxToCell, moveToX, moveToY){
                //we need to move the box too
                this.Pushes++;   

                var posToMove = boxCell.constructor;
                var nextObject = moveBoxToCell.constructor;
}


3. Validates movement of the player i.e. the player can move only in cells and not on walls

this.ValidateMove = function (targetCell, nextCell) 
	{
		if(targetCell && nextCell)
		{
			var posToMove = targetCell.constructor;

			if (posToMove == Wall) {
				// wall is next, player cannot move there
				return false;
			}	
			
			return true;
		}        
        return false;
    }


4. Updates the game statistics i.e. movement count, goals achieved

this._map._goalsAchived++;
 


LevelStatistics.js
Scope: JavaScript file to track and display the game statistics
Roles:
1. Contains the variables for game statistics

var player = _map.GetPlayer();
     _pushes = player.Pushes;
    _moves = player.Moves;


2. Creates the visual element on game canvas to display the game statistics

this.Draw = function (context) {
        var x = _map.OnScreenWidht + 10;
        var y = 20;


        context.fillStyle = "rgb(127,0,0)";
        context.strokeStyle = "rgb(0,0,0)";
        x += 20;
        context.strokeRect(x, y, 100, 85);
        x += 5;
        y += 20;
        context.font = "bold 12px sans-serif";
        context.fillText('Level ' + _map.Number + ' / 40', x, y);
        y += 25;
        context.fillText('Pushes : ' + _pushes, x, y);
        y += 25;
        context.fillText('Moves : ' + _moves, x, y);
    }

Tags: , ,

Gaming | HTML5

Ignatiuz celebrates Makar Sankranti!

by Shikha Sadhu 14. January 2012 09:50

Makar Sankranti is the day when the glorious Sun-God begins its ascendancy and entry into the Northern Hemisphere and thus it signifies an event wherein the Sun-God seems to remind their children that 'Tamaso Ma Jyotir Gamaya', may you go higher & higher, to more & more Light and never to Darkness. Makar Sankranti, apart from a harvest festival is also regarded as the beginning of an auspicious phase in Indian culture. It is also called as Uttarayan. It is said as the 'holy phase of transition'. It is believed that any auspicious and sacred ritual can be sanctified in any Hindu family, this day onwards. In India Makar Sankranti is observed with great fanfare and a Kite flying. Kite flying is celebrated in  Rajasthan, Maharashtra, and Gujarat, In Punjab its Lohri  while in South India its Pongal people enjoy a lot with the family with the motive of welcoming new  year with full enthusiasm and happiness.

Every year people gather together and fly kites along with their families. But there is darker side also of the Kite flying. During the kite festivals, injury is caused to birds and humans due to the 'pucca thread' (manja) made out of plastic or synthetic material," 

 

Ignatiuz celebrates Makar Sankranti in a way that it becomes memorable to all and for that Ignatiuz try to give smile on the face of poor children residing in nearby slum, by distributing little happiness in terms of kites and sweets ,after getting kites and sweets kids were  happy and make us realize that being a human we should do little things for  mankind and fulfilling the real meaning of festival whether Lohri Or Makar Sankranti Or Pongal "Tamaso Ma Jyotir Gamaya” a beginning of New light a New year of Happiness!

About Ignatiuz

Ignatiuz Technologies is an IT company offering technology solutions for customers keeping partner centric approach with a mantra "Compelling IT Solutions". The company is passionate to latest technologies & innovation. Our consulting led approach make our customers become partners & partner's transformation to global corporations.

Ignatiuz QR Code

Month List

Tag cloud