Tag Archive | "Technology"

Tags: , , ,

Innovations @ Microsoft Research Lab

Posted on 07 March 2010 by Ritz

Fascinating research projects presented at Microsoft’s TechFest 2010

tecfest

When brains at Microsoft Research Labs are at work, we can  definitely expect some path breaking techno developments. Techfest 2010 at Redmond witnessed many such demos on various projects. Lets have a look at some of them:

1. The Translating phone and The Transcriptor: Transcriptor generates a live transcript of the coversation we have over a call on a PC based communicator. The scripts are merged in email as well for searching.

tran

The Translator is a wonderful concept that takes away the about the difference of language we might have over an important client call or anything like that. The translator translates the speech of the person on the other side of the phone to the language you want at real time. This 2-way translator also generates a live translated transcript. Find out more about the project @ http://research.microsoft.com/en-us/projects/transcriptor/default.aspx

gustov

2. Project Gustav: Project Gustav is a creative endeavor of Microsoft to make digital painting a perfect realistic experience. It is a realistic painting system prototype that simulates natural, real-world painting environment.

For a better knowhow of the project visit the official page on Project Gustav.

3. Skinput: Skinput is a technology that favors the skin of our body to be used as an input device. Various signals like location of finger taps are collected by sensors worn as armbands. To know more about the Skinput check out http://research.microsoft.com/en-us/projects/gustav/default.aspx

skinput4

mobilesurface

4. Mobile Surface: It aims at making any surface around you as a touch interface surface by linking together a mobile device, camera and a projector. It allows you to project an image on any surface and interact with it even without touching the image.

Click on http://research.microsoft.com/en-us/projects/mobilesurface/default.aspx for more information.

An altogether new world of technologies. Exciting!! Isn’t it?? Lets wait and watch how these project finally turn out. Till then keep reading and commenting.

When people in Microsoft Labs are at work, they always aim at taking technologies to a different dimension. Techfest 2010 at Redmond witnessed many such demos on various projects. Lets have a look at some of them:
The Translator and The Transcriptor: Transcript generates a live transcript of the coversation we have over a call on a PC based communicator. The scripts are merged in email as well for searching.
The Translator is a wonderful concept that takes away the about the difference of language we might have over an important client call or anything like that. The translator translates the speech of the person on the other side of the phone to the language you want  at real time. This 2-way translator also generates a live translated transcript.
Find out more about the project @ http://research.microsoft.com/en-us/projects/transcriptor/default.aspx
Project Gustav: Project Gustav is a creative endeavor of Microsoft to make digital painting a perfect realistic experience. It is a realistic painting system prototype that simulates natural, real-world painting environment.
For a better understanding of the project visit http://research.microsoft.com/en-us/projects/gustav/default.aspx
Skinput: Skinput is a technology that favors the skin of our body to be used as an input device. Various signals like location of finger taps are collected by sensors worn as armbands.
To further increase your understanding on the technology check out http://research.microsoft.com/en-us/projects/gustav/default.aspx
Mobile Surface: it aims at making any surface around you as a touch interface surface by linking together a mobile device, camera and a projector. It allows you to project an image on any surface and interact with it even without touching the image.
Click on http://research.microsoft.com/en-us/projects/mobilesurface/default.aspx for more information.
This is exciting!! An altogether new world of technologies. Isn’t it?? Lets wait and watch how these project finally turn out. Till then keep reading and don’t forget to comment.

Comments (1)

Tags: ,

Agile Methodology

Posted on 23 June 2009 by Sadhan

 Nowadays we hear much about Agile Methodologies, especially in the context when we want to jumpstart any development quickly without the documentation part and where requirements are not very clear at the beginning.

To put it in simple words, this methodology is another style of software development that has been characterized by quick start on development, less documentation, change driven and iterative.

In other words, Agile software development is a conceptual framework for undertaking software development projects that can get developed fast without the strict classic guidelines of maintaining the entire life-cycle of the project.

All Agile methodologies generally engage in an iterative workflow and follow an incremental way to deliver software in short time-boxed situations. An iteration could be a small release of software or results being achieved at short intervals. Naturally in these time-boxed development situations, things like coding, design and testing will run in parallel and Iterations are typically a fixed length and this length will depend on the chosen methods under Agile. Each iteration can be referred as a cycle in this context of Agile Methodologies.

There are a number of agile software development methods, most of them give the same time-boxed iterations approach, which could typically last one to four weeks but again depends on the nature of the project. Each iteration is like a miniature software project of its own, and includes all of the tasks necessary to release the mini-increment of new functionality: planning, requirements analysis, design, coding, testing, and documentation.

The most popular Agile methodologies in use today appear to be Extreme Programming (XP), Scrum, Feature Driven Development (FDD), Lean Software Development, Agile Unified Process (Agile UP or AUP), Crystal, and Dynamic Systems Development Method (DSDM).

Some of the principles behind the Agile are:

  • Customer satisfaction by rapid, continuous delivery of useful software
  • Working software is delivered frequently (weeks rather than months)
  • Working software is the principal measure of progress
  • Even late changes in requirements are welcomed
  • Close, daily, cooperation between business people and developers
  • Face-to-face conversation is the best form of communication
  • Projects are built around motivated individuals, who should be trusted
  • Continuous attention to technical excellence and good design
  • Simplicity
  • Self-organizing teams
  • Regular adaptation to changing circumstances

Agile home ground:

  • Low criticality
  • Senior developers
  • Requirements change very often
  • Small number of developers
  • Culture that thrives on chaos

Criticisms include:

  • lack of structure and necessary documentation
  • only works with senior-level developers
  • incorporates insufficient software design
  • requires too much cultural change to adopt
  • can lead to more difficult contractual negotiations

Agile methods are sometimes characterized as being at the opposite end of the spectrum from “plan-driven” or “disciplined” methods. This distinction is misleading, as it implies that agile methods are “unplanned” or “undisciplined”. A more accurate distinction is that methods exist on a continuum from “adaptive” to “predictive”. Agile methods lie on the “adaptive” side of this continuum.

Some mistakenly believe that Agile methods avoid planning. This is a misconception, as Agile methods pay considerable attention to planning. However, Agile methods apply a planning process that is adaptive so as to accommodate inevitable change. Traditional, non-Agile methods tend to apply predictive planning that resists change and suffers the consequence of conflict between static plans and dynamic reality. Agile development has been widely documented as applicable to small, co-located development teams. Agile methods are more suitable when requirements are emergent and rapidly changing; they are less suitable for systems that have high criticality, reliability and safety requirements, though there is no complete consensus on this point.

Comments (2)

Tags:

Synchronize online with Syncplicity or Live Mesh

Posted on 13 June 2009 by Sadhan

Synchronize with Syncplicity or Live Mesh  

To bring your digital thought under one roof there is a continuous product innovation in the form of high-end laptops to iphones, while to sync and update your digital world and all the information that is important and all that you least cared for can now be accessed  from anywhere anytime-check out on Syncplicity and Live mesh.

Gone are the days when you will need a file back up, when you increasingly run the risk of forgetting to copying them to the USB drives on your way down the presentation hall or the feeling of annoyance as you fail to attach the file to your email. 

These are the myriad reasons why software programs like Syncplicity, Live Mesh is created and make Foldershare a passé.  

What does Syncplicity or Live Mesh do?

They have finally put an end to downloading, burning, emailing and copying. Syncplicity can keep all your files in-sync and up-to-date across all computers without compromising on the security features. Similarly, Microsoft Window’s Live Mesh helps you connect to another computer and gives access to other’s desktop as if you are working sitting right infront of it.  

How to go about it?

In Live Mesh to sync, share and access, install live mesh software in all the devices you want to synchronize and choose folders you wish to sync. As you sign up with Windows Live Mesh you need to Live Mesh client on all the devices you join to the Mesh known as the Mesh Operating environment (MOE).  Helpful features such as a Mesh bar and a Notifier keeps you updated with a continuous feed of information as to what is happening in the synchronized folder. Live Mesh simply awes you with cross-functionality features too whereby your live desktop can stay connected with your friend’s Mac too. 

Syncplicity is the brainchild of Leonard Chung that bridges the world of online and offline effectively and safely with speed and simplicity and works on Windows platform. It takes utmost care of all your files. For example if one file accidentally gets deleted then it is not lost from the system, instead it is stored in the recycle bins of respective windows. Syncplicity helps integrate data across all multiple computers and integrates with Zoho, Google, Scribd and Picnik. Registration, installation and getting started with Syncplicity is very easy.

 One can always start off with a free subscription of 2GB space and two computers and then upgrade to almost 50 GB for just $9.99 per month with syncplicity. Whereas in Live Mesh you have 5GB free storage space initially. This implies that you can create files and store on Microsoft’s servers that you simply can access from anywhere.

 In syncplicity it is easier to add files in the sync folder than in the Live Mesh Syncing folders. However it is Syncplicity’s conflict resolution management system that eats up the available storage place as the original copy of the files are kept and additionally it creates other copies of the file (1 from each machine of the sync group). So in the process of synchronization, chewing up the remaining space happens and the message that you have exceeded your quota is flashed. It is here that Windows Live Mesh scores better as shadow copies of files is not kept in the file system and thus the additional storage place remains unhindered when conflict arises.

The future of cloud management storage is picking up and everywhere the buzz is all about cloud computing. Check out my next post on cloud computing too.   

Comments (0)

Tags: ,

Service Oriented Architecture (SOA)

Posted on 11 June 2009 by Sadhan

Service Oriented Architecture or SOA can be explained as a collection of many services in a network which communicate with each other and this involves data exchange with service coordination and SOA is used for the development of loosely coupled distributed applications. Though earlier the concept of SOA was based on DCOM or Object Request Brokers (ORBs) but nowadays SOA is based predominantly on Web Services.

SOA is also a flexible and standardized architecture which focuses business-centric approach that supports integrating business as repeatable tasks or linked services to design and develop flexible IT solutions which enable business process components to be orchestrated and assembled in a more efficient manner to deliver distinctive business capabilities and services for high performance. It unifies business processes by structuring large applications as an ad-hoc collection of smaller modules called services. Here it’s worth explaining the term Service. A service is nothing but a function or some processing logic or business processing that is well-defined, self-contained, and does not depend on the context or state of other services. Example of Services are Loan Processing Services, booking a flight ticket online etc which can be self-contained unit for process the Loan  Applications or could be Weather Services, which can be used to get the weather information. Any application on the network can use the service of the Weather Service to get the weather information and SOAs build applications out of such services.

Instead of services embedding calls to each other in their source code, there are protocols defined which describe how one or more services can talk to each other. This architecture then relies on a business process expert to link and sequence services, in a process known as orchestration, to meet a new or existing business system requirement. XML is used extensively in SOA to create data which is wrapped in a nearly exhaustive description container. In the communication process with services data exchange are typically described by WSDL, and communications protocols by SOAP, discovery and publishing by UDDI and data representation by XML. In a SOA environment independent services can be accessed without knowledge of their underlying platform implementation.

Interoperability between different systems and programming languages is the key for integration between applications on different platforms through a communication protocol. One example of such communication is based on the concept of messages. Each SOA building block can play one or more of the three main roles of Service Requester, Service Broker and Service Provider. Interoperability, Compliance to standards (both common and industry-specific), reusability, modularity, composability, componentization, Services identification and categorization and monitoring and tracking are some of the guiding principles which forms the ground rules for development, usage and maintenance of SOA.

The deployment of a SOA requires the conversion of existing systems into services. The tasks involved in achieving this can be repeated for each system and a common set of components may be needed to provide additional functionality (such as security and auditing). An Enterprise Service Bus (ESB) helps in converting existing systems into services. This ESB generally provides an abstraction layer on top of an implementation of an enterprise messaging system, which allows integration architects to exploit the value of messaging without writing code. Using ESB, an application can communicate via the bus, which acts as a message broker between applications. The primary advantage of such an approach is that it reduces the number of point-to-point connections required to allow applications to communicate.

With the increasing demand for SOA and with the increasing momentum of Web 2.0 which is called “second generation” of web sites, together they can add lot of value in enterprise computing in the coming years as Gartner predicted the SOA business with grow to $50 billion in next 5 years. Web 2.0 will leverage the next generation sites with collaboration and sharing in terms of Social Networking as part of Semantic Web. Hence, Web 2.0 applications will extensively use Web services and may include Ajax, Flash, or JavaFX user interfaces, Web syndication, blogs, and wikis. With increasing demands businesses use SOA and Web 2.0 to reach new markets, with improved efficiency, in a faster time to market, with lower TCO and other advantages. I will keep you posted with the changes in and around SOA in the coming days.

 

Comments (3)

Advertise Here
Advertise Here
Digital Thought

Recent Posts

Announcement

Popularity Pointers

Tags



 

July 2010
M T W T F S S
« May    
 1234
567891011
12131415161718
19202122232425
262728293031  
.

My Mobile Site:

http://m.sadhanbiswas.com

Get the Mobile Site of www.SadhanBiswas.com at your fingertips from anywhere.


Digital Thought on Facebook








Re@ch Out

 





   About Digital Thought | Terms | Advertising | Sitemap

RSS Feed Twitter Facebook Google