Infosys Microsoft Alliance and Solutions blog

« January 2012 | Main | March 2012 »

February 29, 2012

Streaming Media to Devices

I came across a Build video where the music playing on the Windows 8 device is streamed to the music player directly and the video is streamed to the Home TV without having to make any connections. Just like Share and Search Charm there is also a Devices charm that lets us accomplish this.

The user just needs to launch the device charm and select the appropriate device from the list for PlayTo to share the media with that device. While I have been viewing some build videos on my home TV (which is a smart TV), I have to connect my laptop\storage device using HDMI to the TV. This is kind of primitive as if I am in the middle of some work I need to get up and connect the two devices. Or I may need to seek\pause or do another operation while I view a video at a distance for which I need a wireless mouse.   I found this feature particularly interesting and convenient to use as it lets us access devices connected to the home network directly. Streaming a video from a windows8 machine (possibly a tablet in future) to a TV (connected to the same network) is as simple as launching the device charm and selecting the device to which you need to stream the video. No need to go through the hassles of connecting HDMI, copying the video to a storage device or maybe browsing to the internet location of the video from TV.  Not only streaming, user can also use other controls like seek\pause etc. from the win8 device to control the media playing on the TV\Music Player.
The implementation is done using PlayTo Contract for the Devices Charm. The detail article to understand how to stream media to devices using PlayTo is available here.

February 20, 2012

Windows 8 App Store

While the official name seems to be Windows Store, it is a no brainer that the initial set of applications will be targeted to Windows 8 only and will be Metro apps. Though very similar in concept with the existing Phone 7 Store, it is a different store as the apps built for one aren't automatically available on another due to different programming platforms as of now. With Apollo some of this stands to change.

Details of the new store have started to make appearance on the new Windows Store blog. Prior to the store's launch, MS is attracting people to build initial set of applications that can be deployed on the store. The first round of contests is already over and list of winners is awaited.

In our paper on adoption of Windows 8 we had talked about initial penetration to be in tablet market. Looking at the kind of categories open for the initial application building for the store, this seems to be getting confirmed. While MS says that the store will be a good way to publish your applications for everyone, it would work very well with direct end consumers and we have seen success of such market places earlier with iTunes and Android market place and the slowly catching up Phone market place. What remains to be seen is how this will work in Enterprise space?

It is unlikely that enterprises will open up access to the market place for installation of applications on machines in their network. While some of this is obvious security and data integrity concerns, another aspect that isn't quite clear is how application purchase will work for enterprises. Typically enterprises negotiate a volumn license agreement with application vendor. It will be interesting to see how this part of the story will evolve.

Windows 8 with its new appstore however does poses some more questions like are we nearing the end of PC era? The focus does seems to be shifting more and more towards smart phones and tablets. Except for specific application development needs, will the rest of the population eventually move away from desktops and laptops? There is an increased interest in "bring your device to work". The showstopper primarily again is security of data. There are innovations happening which allow creation of official and personal environments and both environments are totally isolated. Will innovations like these get speeded up so that employees don't have to carry multiple devices with them, one for official needs and one for personal needs? What are your views? Do share. 

February 8, 2012

Phone 7, Mango, Windows 8, Windows 8 on ARM, Apollo (Phone 8)... phew!

It is hardly two years since Microsoft had showcased Windows Phone 7. The SDK came out in September 2010. In Asia the availability of Phone 7 has just completed an year and we have already had a version upgrade to Mango (7.5).

On desktop/tablet side, Windows 8 developer preview was first made widely available in Build Conference in September 2011. The beta is expected anytime soon and then later this year the final release of this product.

While we are still digesting these new technologies, the new operating systems, the new programming model along with buzz words like Live Tiles, Metro UI, Win RT, HTML5, WinJS, we start to hear about next version of Phone code named Apollo. While NASA's Apollo missions may have lasted more than over a decade, this Apollo journey may be much short lived as there are speculations of this new version of Phone 8, with its merging of sorts with Windows 8, to be available this year (2012) itself.

Technologies have upgraded in past but the internet boom and then smart phone boom is really progressing at breathtaking speed. Phone 7, as most people acknowledged was a catching up attempt, but happened a bit late as per industry standards. No wonder then that MS is moving ahead so fast.

So will MS catch up with market leaders and create a disruption? Will Phone 8 be the device? It has lot of good things going for it based on what's known in public domain as yet. Here's and interesting comparison with iOS 5 and Andriod 4. Consumer space is so much driven by emotions and personal brand loyalty as much from features. Which of these will eventually win the battle will be an interesting aspect to watch.

The other question however is that Nokia Lumia 900 is only recently been made available for pre-ordering. Many believe that it is what MS needs to be able to capture market which has been eluding it so far. But Will this news on potential Phone 8 release later this year cause sales to drop? People planning to invest in Windows Phone may just decide to hold on for few more months to get clarity on Apollo before then take the final decision. What do you think?

Change is inevitable and in this era of digital consumers and pervasive computing, you probably run the risk of missing some cool innovations if you get up late one day. I for one, am very keen to see how things will shape up in the next few months. Before signing off, here's some very interesting proposals for Phone 8 designs. My favorite as of now is design #13. Hope 13 proves lucky this once.

February 3, 2012

Database access in Windows 8 Metro Application

Even though what we have is still the initial developer preview, creating Metro applications seems to be gaining popularity in developer communities. Although we can create interesting applications using HTML5 and WinJS or XAML and C# or VB.NET, on top of WinRT, there are some unanswered questions like working with databases.

Any enterprise applications typically will work with some database at the backend. As of now, however, WinRT does not have any API for database connectivity.

As per our understanding today, distribution of metro application will be done through app stores. In this case it would be difficult to distribute database along with the applications. So how do we work with database in metro application?

While discussing with my colleague Dhananjay, we came to the conclusion that all the operations on databases must be done through service. Probably metro application will work with databases in the same way today Windows Phone 7 (WP7) is working, though WP7 still has access to local lightweight database.

If we are creating metro application using XAML and C# then WCF RIA Service support is given to work with server database. In case of HTML5 and WinJS, IndexeDB may be used as the database (though under the hood this is isolated storage and not real database).

We will have to wait and see how database support is provided in WinRT runtime when the beta build is release. If you have any viewpoints or comments on this, we will be glad to hear them. 

Exploring the business prospects of Kinect

Microsoft launched Kinect for Windows a few days ago and this seems to be a good time to touch upon its business prospects. Infosys has been experimenting with Kinect since a while and we are quite excited with the possibilities. Kinect has an interesting combination of sensors including depth sensor, RGB camera, multi-array microphone and accelerometer. This caught the attention of innovators who created several Kinect "hacks", which far exceed any applications Microsoft would have imagined, when they originally released Kinect as a gaming controller. The main advantage of Kinect for Windows (over the Xbox version) is the "near mode" that allows subjects to be sensed as close as 40 cm. as compared to around 80 cm. in the default mode (and the Xbox version of Kinect). This opens up the doors for applications where proximity is preferred. So, let's see some business applications:
Retail and advertising: Kinect is all about user experience and can help manufacturers and retailers provide a superior product experience to potential customers. We at Infosys have been working on a Kinect based retail store product catalogue solution that provides an intuitive gesture interface to navigate through product categories and relevant product details. We are sure that this will excite retail shoppers, while helping them select the right product. Another area that is fast emerging (which no one seems to have got completely right yet) is virtual dressing rooms where instead of having to physically try on clothes, customers can view on a digital screen a simulation of how those clothes will look on them, including size and fit. Fitnect is one such example (http://www.fitnect.com/). Kinect can detect people and their movements and hence surveillance of shoppers movements to get insights into their behavior. E.g. Shopperception utilizes Kinect (http://shopperception.com/). Gesture controlled TVs are expected to become mainstream soon, possibly with Kinect as the remote control replacement. This scenario can be extended to provide interactive advertisements at public places like malls and metro stations.

Healthcare: There are several applications in health care out of which the most notable are surgical assistance, patient rehabilitation and elderly care. During surgery, surgeons at times need to access medical images such as CT scans. At present they need to either sanitize their hands each time they touch the keyboard or have an assistant for this job. Having a gesture controlled interface eliminates this need completely and speeds up the operation (http://thenextweb.com/microsoft/2011/03/25/kinect-for-surgery-its-more-likely-and-safer-than-you-think/). Kinect provides skeletal tracking and hence opens up the possibility of assisting patients undergoing physiotherapy. It can help guide patients with the right movements to be made and correct any mistakes they may be making. (http://www.metro.co.uk/tech/880753-microsoft-kinect-used-in-rehabilitation-of-stroke-patients). It also has applications in elderly care. (http://www.microsoft.com/presspass/features/2011/dec11/12-19KinectEffect.mspx?rss_fdn=Custom).

Robotics: There are two ways of looking at this: Kinect as the robot controller or as a Kinect mounted robot to provide its eyes and ears. Infosys is carrying out research on using Kinect for motion control of robots in a more natural way with gestures using Kinect and we are quite excited with the results. Gesture controlled robots using Kinect can be used for industrial or logistics applications. Kinect when mounted on a robot opens up the possibility of providing 3D vision and hence for example more effective domestic helper robots. The University of Warwick has been working on a Kinect mounted robot to locate earthquake survivors (http://www.homelandsecuritynewswire.com/engineers-use-xbox-kinect-find-earthquake-survivors). Further, Kinect inherently recognizes people, so it can be used to help make robots safer by avoiding collisions.

Business productivity: Gesture driven navigation can help make presentations interesting. This is especially the case for presentations that are heavy on visual data. Apart from flipping through slides, we can have zooming in and out of charts, carousel views and exploding 3D models. This may create the need for presentation tools that are more powerful than PowerPoint; going ahead 3D presentations might become the norm. Another application is high quality virtual meetings. MIT has done some interesting work here (http://kinectedconference.media.mit.edu/). In today's video conferences, if a speaker is walking around a podium or room the camera needs to be rotated by means of a remote. In this case, Kinect can inherently track the person and some mechanism to rotate the device (beyond auto-tilt) can be provided to ensure that the speaker is always within the frame.

Security: Kinect can not only detect the presence of a person, but also a person's movements by means of skeletal tracking, which can be used to detect intruders and suspicious people. The Singapore Ministry of Home Affairs was looking at Kinect security applications at border crossings as the depth camera facilitates detection of the number of passengers in a car and other vehicles (http://www.mspublicsafetysymposium.com/media/3573/liu_032411_1310.pdf).

Training: Kinect has potential applications for training humans where specific movements need to be performed. It can be used in manufacturing industries to train workers and make them more efficient. A good example in healthcare training is performing CPR (Cardiopulmonary Resuscitation) (http://channel9.msdn.com/coding4fun/kinect/Using-the-Kinect-to-teach-CPR).

Most business applications of Kinect at this point are in the R&D stage and the full potential of this device is still to be realized. Further, some of these applications require advances in software algorithms. The future appears quite promising and is opening up new businesses opportunities. Some of these applications will inevitably become mainstream going ahead. Early movers will have a definite advantage.

Kinect for Windows

Microsoft annouced the other day availability of Kinect for Windows SDK. This version can be used to build commercial application, something which wasn't possible with the earlier SDK. Alongside a new hardware device is also available now (priced higher than the earlier one).

While this SDK will work earlier device as well you would not be able to leverage the new near mode support which allows you to detect objects mearly 40 cms from the device unless you use the new device as well. Additionally if you are migrating your earlier code to the new SDK, you may want to use the Microsoft.Kinect.Migration assembly to aid the migration effort.

Subscribe to this blog's feed

Follow us on

Blogger Profiles

Infosys on Twitter