• Congratulations January 2015 Award Winners!

    Happy New Year to everyone!!

    Time to announce the Most Valuable Professional Award Winners of January award cycle.

    Please join me in welcoming them in this elite technical group. We thank them for their past contributions and looking forward for their active participation, in all future engagements.

    Re-Awardees

    New Awardees

    Abhishek Sur - ASP.net

    Abhishek CSK - Microsoft Integration (Bangalore)

    Arnav Sharma - Windows IT Pro

    Misbah Khan - Windows Embedded (Bangalore)

    Balaji Kundalam - Windows Consumer

    Prabhat Nigam - Microsoft Exchange (Wonderland)

    Destin N Joy – SharePoint

    Ravikumar Sathyamurthy - O365 (Chennai)

    Darnie Graceline - .NET

    Suresh Dasari - ASP.net/IIS (Chennai)

    Dinesh ‘O Bareja - Enterprise Security

     

    Gaurav Mantri - Microsoft Azure

     

    Gaurav Khanna - .NET

     

    Purnachandra Duggirala - Office Excel

     

    Prabu Kesavan - Windows Embedded

     

    Roohi Shaikh - Dynamics CRM

     

    Rohit Srivastwa - Enterprise Security

     

    Senthil Kumar – Windows Plats Dev

     

    Shravan Kasagoni - ASP.net

     

    Sorna Muthuraj - SQL Server

     

    Sarabpreet Anand - SQL Server

     

    Vasudev GM - Windows Consumer

     

    Vinoth Rajagopalan - Windows Embedded

     

    Visakh Murukesan - SQL Server

     

    With the above announcement, unfortunately few of our friends are also moving to the alumni state.

    We do respect their contributions but due to limited number of seats in each product area, we had to consider contribution categories as well as the feedback from local subsidiary in terms of their presence (online/offline both) in various activities.

    I hope they will take it up positively and work towards coming back in the active group soon.

    Thanks and have a great evening!!

  • Congratulations October 2014 Award Winners!

     

    It’s a festival time in India so let’s double the celebrations by announcing the winners of the prestigious Most Valuable Professional Award for the October cycle.

    Please join me in welcoming them in this elite technical group. We thank them for their past contributions and looking forward for their active participation in all future engagements.

    Re-Awardees

    New Awardees

    Ahsan Kabir - SQL Server

    Inderjeet Singh - SharePoint Server (Mumbai)

    Aman Dhally - Power Shell

    Prasath C - SharePoint Server (Chennai)

    Amit Bansal - SQL Server

    Sathish Veerapandian - Exchange Server (Chennai)

    Anand Khanse - Windows Expert-Consumer

    Saurav Dhyani - Dynamics NAV (Noida)

    Deepak Agarwal - Dynamics AX

    Shashank Singh - SQL Server (Mumbai)

    Geetesh Bajaj - PowerPoint

    Swagata Prateek - Windows Platform Dev (Dhaka)

    Hemendra Agrawal - SharePoint Server

    Vinith Menon - System Center CDM (Bangalore)

    Karthikeyan A. - Windows Platform Dev

     

    Kunal Chowdhury - Windows Platform Dev

     

    Lohith G N - ASP.net/IIS

     

    Mahender Pal - Dynamics CRM

     

    Mohana Krishna - Dynamics NAV

     

    Niraj Bhatt - Microsoft Azure

     

    Ratish Nair - Exchange Server

     

    Soumitra Sengupta - Windows Entertainment

     

    Venkatesan Prabu - SQL Server

     

    With the above announcement, unfortunately few of our friends are also moving to the alumni state.

    We do respect their contributions but due to limited number of seats in each product area, we had to consider not only the numbers but also the contribution categories as well as the feedback from local subsidiary in terms of their presence (online/offline both) in various activities.

    Thanks and have a great evening!!

  • Community – Not an alien term

    Community is not just a word but an attitude. We, the human race are community focused from the very beginning. We all do a little bit of community work some or the other way.

    Someone believes in Environment so does planting…that’s community, someone has a soft corner for animals and pets so saves a street dog…well that’s also community.

    A story published on FB and became viral….The story titled “Shila Ghosh is young at 83”.

    abc

    Her fingers don't tire; her eyes don't water, as her grandson helps her put together her day's work. Every day she travels to Kolkata to sell homemade fries.

    A girl named Soofiya Khatoon met her one day and she was so much impressed with the hard work that she published the story. Now people know this 83 years lady. What did Soofiya achieve?

    Nothing…but she tried to convey what she learnt/felt from her own experience within her friends/family (the community) and indirectly helped this old lady.

    My associate keeps throwing some or other videos and concepts to me because he knows that I don’t like them. He actually enjoys when I scold him for watching those techs :)

    Few days back he sent me this video of Google Glass. AND I FOR SURE DON’T LIKE GOOGLE. But just to make him feel happy, I was watching this video - http://www.upworthy.com/a-woman-shares-her-day-through-google-glass-it-seems-lovely-and-ordinary-until-the-end?c=ufb3

    The video was nicely produced with cool music. I was liking it till the end when suddenly the women was attacked by her partner….I was shocked and felt very bad. Why would you feel bad about another human even though you don’t know him/her….I call it an impact of community. You feel so connected and try to imagine if the same would have happened with you.  

    Community is not an alien concept. The smallest form of community is your family itself. What we are saying is come forward…everyone has something to share. We will make a platform for you….join us and make a best use of it.

    And keep in mind that the Community doesn’t just mean learning. It means lot more. Making new friends, understanding what is the trend in the industry, looking for new opportunities, may be finding a job ;) showcasing what you know and many more.

    You can make your own community of likeminded people or just join one of the existing ones. Communities grow exponentially and have lot of potential. Only thing which we need to be cautious about communities that even though there is a lot of personal benefits being part of community, but that should not supersede the basic essence of community.

    In the community, there is no small or big, there is no ego, there is no right or wrong. Community is all about collaboration and making sure your common goals are met. It can’t be one person driving the community…..it’s the whole group.

    Today, industry is heading towards Mobile Computing with smaller and more smaller devices coming in to your hands on a daily basis. Storage is getting cheaper day by day and if not physical, you have entire sky to keep your data…and that’s the cloud. Then where is the limit? You just have to explore how far you want to go, set your course and head towards it. And you will find many people are following you. You again got a community :)

    We need to make sure that our growing countries in South Asia understand the unlimited possibilities with these technologies. And we are sure that our communities will play a very pivotal role in this. We will give you what you want, it’s your time to leverage it and showcase your skills and your country in the world map.

  • Guest Post: Working with SharePoint 2013 REST API

    Our SharePoint Server MVP Destin N Joy wrote this amazing post around Rest API of SharePoint as part of his contributions in Community Day 2014. Let’s read it together:

    SharePoint 2013 introduces a Representational State Transfer (REST) service that is comparable to the existing SharePoint client object models. Now, developers can interact remotely with SharePoint data by using any technology that supports REST web requests. This means that developers can perform Create, Read, Update, and Delete (CRUD) operations from their apps for SharePoint, solutions, and client applications, using REST web technologies and standard Open Data Protocol (OData) syntax.

    In this article we can see some example of accessing SharePoint list data using REST service

    SharePoint 2013 adds the ability for you to remotely interact with SharePoint sites by using REST. Now, you can interact directly with SharePoint objects by using any technology that supports standard REST capabilities.

    To access SharePoint resources using REST, construct a RESTful HTTP request, using the Open Data Protocol (OData) standard, which corresponds to the desired client object model API. For example:

    Client object model method:

    List.GetByTitle(listname)

    REST endpoint:

    http://server/site/_api/lists/getbytitle('listname')

    The client.svc web service in SharePoint handles the HTTP request, and serves the appropriate response in either Atom or JSON (JavaScript Object Notation) format. Your client application must then parse that response. The figure below shows a high-level view of the SharePoint REST architecture.

    Create a console application

    From the Visual Studio IDE select a console application to start our project. Please provide a location and other details before you create the project

    image

    How to install JSON.NET

    From the Solution explorer click on Manage NuGet Packages.You will get below screen

    image

    Select on Json.Net and click install

    image

    In this article, I am explaining you two approaches for Accessing REST service one using JSON.Net and another method using XML.

    Code to Access REST Using JSON

    image
    REST USING XML

    image

    image

  • Guest Post: Integrating your Application to work with Cortana in Windows Phone 8.1

    Our second guest blog on Community Day 2014 is from our ASP.net/IIS MVP Abhishek Sur. He writes about one of the most favorite features of Windows Phone 8.1, Cortana which makes your phone your personal assistant.  

    The Windows Phone 8.1 comes up with a lot of interesting features, some of which are really interesting while some are just for eye candy. Among all the features that has been released, one of the most interesting and eye catching feature that people are awaited of is Cortana.

    Cortana is a special app that is installed by default with Windows Phone 8.1 and automatically configures itself to run on the hardware search button. This special application invokes a Personal assistant which not just capable of helping you through various settings and invoking various tasks, it can also go beyond the boundaries of the Windows phone. Cortana is your guide, which stores all the settings that you do with your phone, creates a list of your personal choices, create alarms, and remind you something which interests you automatically. The best thing with Cortana is it understands natural language commands.

    Here are some of the interesting things that Cortana can do:

    1. Phone : Cortana is capable of understanding relationships and can allow you to say commands to call your friends and family. For instance, if you want you can say either “Call my wife” or “Call Riya” to do the same thing, where Riya is the contact saved in my contact list. It will prompt you if it does not know, or otherwise it will go ahead and call that person.

    2. Messaging : Cortana can literally send text messages to the contacts. For instance, you can say “Text Abhijit I am busy will be calling you in short while”. This will automatically find “Abhijit” from my contact list and send this message.

    3. Calendar: One of the most common issues with people is to deal with Calendar. For a very busy person, adding a calendar entry and reminding on time is quite a big deal. Cortana handles it very good. You can say “Add an appointment to Kunal tomorrow at 3 pm”, and Cortana will do just that. Also you can say, “What do I need to do next?”, and it will tell you the next calendar entry.

    4. Reminders: Well, reminders are another interesting problem that people face daily. You can simply say something to remind later, and your Cortana will do just that. For instance, you can say “Remind me tomorrow to call Abhijit on his birthday”, it will add the reminder and work accordingly.

    5. Notes : Cortana as it deals with natural language can also add notes. Say “Take notes: Me and Cortana is best friend”, and it takes it on its note book.

    6. Alarms: Just like reminders, you can also set Alarms with Cortana. For instance, you can say “Wake me up at 6 O’clock in the morning” or “Set alarm for 6 AM”, and Cortana understands it and add an alarm.

    7. Music: Oho, You can start, pause, and change music simply by saying it to Cortana. You can say “Play my music” to start music you recently played, or you can also play a specific song by saying just that.

    8. Places: You can also use Places, distance between your locations with the place you say very easily with Cortana. Just say “How much is the distance to Northern Avenue” and it will get you the info.

    9. Search: Cortana integrates Bing search engine. Anything and everything, it doesn’t pick up from the list will automatically go to Search. You can say anything to Cortana like “How is today’s weather” or “show me today’s headlines” and Cortana shows it from Bing.

    10. App Integration: Not only dealing with Phone features, Cortana can also invoke the Apps that have been installed in your phone and do something it supports. For instance, you can say “Twitter new Tweet Today it could hashtag rain here in hashtag Kolkata need to get an umbrella quick”. Cortana will understand this, open Twitter and add “Today it could #rain here in #Kolkata, need to get an umbrella quick”.

    image

    The above image shows the Cortana APP. When you open, you will see something very similar to above. The very right side bottom of the screen is the mike which you can press once and interact with Cortana. The initial screen also allows you to change different settings which can be accessed by the button on the top right section and in the centre, Cortana greeted you with a nice message and also you can click on “see more” link to know more about it.

    This is all that exists with Cortana.

    Integrating your .NET App with Cortana

    Now that you know that Cortana is getting popularity within the Windows Phone ecosystem, it would not be a bad idea to integrate your app with Cortana. Integrating means dealing with voice commands that is passed to your application and do something that your app is capable of. As I gave the example already, Twitter can recognise the command “new tweet” and create the new tweet after opening the Twitter app, it also replaces the hashtag with actual #.

    To integrate your application with Cortana, you need to understand three things:

    1. Create Voice Command Definitions.

    2. Register the VCD file on Start-up.

    3. Handle Voice commands when the page is navigated with it as argument.

    How to do it…

    To do these steps, let us first open Visual Studio 2013 and create a Blank Windows Phone App. Let’s name it as Integrating Cortana Sample. It will prompt the Target OS version, choose it and click Ok.

    1. Open WMAppManifest.xml from Properties node of Solution Explorer and double click to open. Add ID_CAP_SPEECH_RECOGNITION, ID_CAP_MICROPHONE, and ID_CAP_NETWORKING as Capabilities, save the file and Close.

    2. Once this is done, Right click on the Project node in Solution Explorer, and Add è New Item. Select Voice Command Definition file, name it as “CortanaCommands.vcd”, and add it to the project.

    image

    The figure shows the exact item that you need to select to add a VCD template to the solution. The Voice Command Definition is just an XML file which has a schema that Cortana can understand.

    3. After the file is added to the Solution, Right click on the file (CortanaCommands.xml) è Select Properties. Choose “Build Action” to Content and choose Copy if newer for” Copy to Output Directory” property.

    image

    4. Once this is done, open the file. We will now try to understand each nodes defined inside the VCD file. Let’s see how we change the VCD file.

    image

    Let us know see individual elements of the VCD file.

    a. Command Prefix: It defines a nick name through which we can call the app. For instance my APP can be named as “Great MVP Dictation Lists” while I can put a nickname as “MVP” such that I can say “MVP” then some series of content and Cortana will pass the content to the app after opening it.

    b. Example: This is the example which is shown when you open the List of all apps that is supported.

    c. Command: From each sentence you speak, Cortana identifies Command. For instance, in case of Twitter “Twitter new tweet …” the new tweet is the command. In our case we can just say “Text” after “MVP”.

    d. Example: This is the example which is shown while opening the App.

    e. Listen For: You can say some keywords in forms of square braces which would be ignored and in curly braces which is the command label which is identified when passed to the Application as text. That means whatever I say after “MVP text” goes to the variable {dictation} ignoring the create word.

    f. Feedback: This is what Cortana is going to reply.

    g. Navigate: This is the target page where Cortana will navigate to when app is opened.

    h. Phase Topic: You can improve the experience by defining phase topic for each variable you pass to. The Phase topic could be a Dictation, Commands, Short Message, Natural Language, Search etc. It should be worth noting that “PhaseTopic” are recognised in cloud, not in the device itself. This is an optional key.

    While defining each of the elements, don’t forget to hover over the element directly inside Visual Studio. The editor also provides great info as tooltip.

    5. Now after the VCD file is created correctly, let us see the step to register the VCD file. The VCD file needs to be registered only once when the Application is first run. We Open App.xaml and go to Application_Launcing event to write this step.

    image

    The above code registers the VCD file hence created such that it could be identified by Cortana.

    6. Finally let us add some code on MainPage.xaml to do things in real time. We add three TextBlocks on the Content area.

    image

    In the above code, the UI creates three TextBlock to show text stacked vertically.

    7. As we specified Navigate to “MainPage.xaml”, the page gets automatically opened when Cortana opens the app and a command is identified. Let’s override OnNavigatedTo command with the following code:

    image

    image

    8. In the above code, three commands need to be noticed.

    a. The reco is the entire recorded Text that you say after your command.

    b. The voiceCommandName is the name of the command identified by the app.

    c. The {dictation} is the identified key defined on the VCD file at element ListenFor.

    9. You can also notice, the text would be displayed on the nodes created on the UI.

    10. Run the code, open Cortana and Say “MVP Text I love being an MVP” and see that gets displayed on the screen.

    image

    In the above figure it demonstrates how Cortana identifies the command correctly and shows in the App. The three lines define each command identified from the QueryString.

    Download Source code

    http://1drv.ms/1q5zDVW  

    Conclusion

    As it is open framework to integrate your app with Cortana, it is very easy to expose each and every feature of your app through Natural language, thus giving great user experience of the app to the users.

    More References …

    http://msdn.microsoft.com/en-us/library/windows/apps/jj206959(v=vs.105).aspx

    http://msdn.microsoft.com/en-us/magazine/jj721592.aspx

    I hope you like my post, do comment, and keep in touch.