January 2012 - Posts

SIX COOL - Tips and Tricks with VS2010

 Tip 1 - Generating Sequence Diagrams To Inspect And Document control flow

Another cool feature in Visual Studio 2010 is the ability to generate Sequence diagrams. You may right click inside a method and select “Generate the sequence diagram”  from the pop up menu, to generate the diagram. In this example, you may see that my SubmitOrder method in OrderViewModel class is instantiating an OrderServiceClient, to call AddOrderAsync method inside the same.


image 

Tip 2 - Architecture Explorer

A cool addition in VS2010 is the Architecture Explorer (Click View->Architecture Explorer). The Architecture Explorer will provide you a very friendly interface to browse through and navigate to your solution assets. You can right click on an item (Namespace, Class Name, or Class Member etc) and select ‘View Content’ to navigate to the definition as well.


image


Also, you can export the selected items to a graph document from the Architecture explorer. You can do this by selecting the members, and clicking the ‘Create new graph document’ button (in top left corner) of the Architecture Explorer. Let me export some of the members in my OrderViewModel class, and have a look at the generated graph. You can also use the graph document to understand your code members in a better way, to analyze circular references, un referenced nodes etc (see the image below.)


image


Tip 3 – Code Navigators

Visual Studio 2010 has a number of useful code navigators. A simple yet useful code navigation/identification feature is ‘Highlight Reference’ - you can double click on any member to view the references highlighted, and can navigate across references using the Ctrl + Shift + Up/Down arrows.
Another cool code navigator is the ‘Navigate To’ window. You can use ‘Navigate To’ to search code members quickly when you work with the editor.


image


You can bring up the “Navigate To” window using the shortcut Ctrl , (press Ctrl and comma). You can search by any term, and you can even search using camel case. See that I’m searching for ‘OV’, to get a list of all code members following the OV convention.


Another cool code navigation feature in Visual Studio 2010 is the ‘Call Hierarchy’ window. You may right click any member to bring up the popup menu, to select ‘Find All References’ to bring up the call hierarchy window. So, next time when you change a method, you can have a look at where all you are going to impact. You can also view all overrides of your method, if you have any.


image


Tip 4 – Pinning Data Tips While Debugging

When you are debugging, you can pin variable values, so that they’ll be there for you to see later.


image

Also, you can even enter comments for a pinned data tip, so that you can view the comment later.


image

VS 2010 has also got a tone of other Debugger Enhancements, read about them from Scott Gu’s blog if you are interested.


Tip 5 - Consume First Development

Visual Studio is so smart that it can stub your classes, members etc on the go, when you type the code. For example, assume that you have a customer class, and you thought it should have a new method while doing something. You can just type the member name (method, property etc), rest your mouse on top of the tiny blue line under your new method to bring up the popup menu.


image

Click that, and you’ll see VS stubbing the method for you, as shown below. Note that VS has inferred the parameter type.


image

You can do that with constructors, properties, method overloads etc as well. That is super cool, especially if you are a TDD guy.


Tip 6 – Extension Manager for downloading and installing plugins

The Extension Manager in Visual Studio 2010 will allow you to download and install cool plug-ins for your VS IDE. You can bring up the extension manager window by clicking Tools->Extension Manager. Extension Manager will connect to Visual Studio 2010 online Extension library, and you can search and find cool plug-ins there.


image

Once installed, you may also Disable or Uninstall your plug-ins from the extensions manager.  Happy Coding!!

10 to improve WP 7

As a Developer’s Perspective: 

Let me start by saying that I love Windows Phone 7 (wp7); it’s a modern, well-throughout, and refreshing OS. However, in as many good things there are about it, and there are many, it suffers from a metaphorical “death by a thousand cuts”. Nonetheless, I think all the issues are correctable by either technical or strategy changes, and looking from a developers perspective the following ten suggestions (in particular order) could change the game for Microsoft in so far as being able to match the best-of-the-best:

1. UI Virtualization

As everyone knows, most of the time within the screen confines, we are privy to only a part of total viewable UI – and so the idea with UI virtualization is that we only have to realize visuals for the view-elements that are (at the time) viewable on the screen. It’s not a new concept by any means, but it’s a critical piece of technology for a limited resource device – and the problem is that Silverlight’s support for UI virtualization is very anaemic. For example, out-of-the box we don’t get UI virtualization support for things like wrap-panels, pivot/panoramic panels, elements with non-similar heights, grouped items etc.

VirtualizeLike above, the potential field of view is one panel to the left and one to the right, everything else could be (optionally) virtualized. Furthermore, one of the other related issues is scrolling, either because of lack of UI virtualization or container recycling performance – which let’s be honest is a prevalent usability failing on wp7 apps. So what I’d like to see is that we get across-the-broad and optimized UI virtualization support for wp7 out of the box. And, this is critical because for one thing, resources are limited on phones, and virtualization-performance or even the lack-of-virtualization issues are particularly perceptible with touch-based input.

2. Hardware Acceleration

The other big ticket item that must be addressed is that Silverlight’s rendering should be done on the GPU, and not on the CPU – and unlike the desktop version, where the excuse that user might not have some sort for compatible hardware is null and void on wp7, as it only runs on a well-known hardware. The potential performance gains from hardware acceleration are in such order of magnitude that this shouldn’t even be debatable, even though technically it might not be the simplest thing in the world to achieve.

In terms of the benefits, having the rendering done on the GPU will speed up other things like networking, data-processing etc. because as of now the CPU is being overtaxed; furthermore, it will also improve the memory footprint, and even help with extending the batter life. All big wins in my book.

3. Improve Navigation and Navigation State Management

Navigation is a topic close to my heart, and I’m not particularly happy with the way navigation is done on wp7. For one thing the navigation model must be truly asynchronous, to have the ability to cancel, confirm, delay etc. And the current recommended approach to delay passing the event argument to the base class is one the weirdest view-related pattern I’ve ever seen. And the other thing is it’s not MVVM friendly, because most of the logical reasons as to proceed or cancel with navigation should be taken in the ViewModel.

Further, the hydration and de-hydration of the visual tree as a tool to manage the navigation state is simply spurious. It’s actually quite similar to the much-hated ViewState model in asp.net, and consequently I think it’s wasteful, it has a significant memory footprint, and just hits performance. The right navigation state model should do two things, one, only store the visual-cues that matter to the experience at hand and this has to be determined by the developer, and second, it should allow storing of the logical state which in my books means it should be MVVM friendly. If done correctly, it would both improve performance and reduce the memory footprint, because remember navigation is just another form of UI Virtualization.

4. Fix Push Notifications

In wp7 push notifications are serious broken, especially from a usability perspective. For example, the channel identifiers required for sending notifications are temporary, because they get reset every time the device is restarted (which because of how the marketplace app locks-up is almost a daily exercise for me). This is such an unintuitive and unexpected behaviour, that it defies any privacy arguments for resetting the identifiers – especially for people coming off iOS. Then there is the issue of capping the number of apps that one can receive notifications from (16 I believe) – again this is a usability disaster; because it is counter-intuitive (again as compared to iOS), it’s an arbitrary limit which I don’t understand the reasons for, and also just because a user has no central place to either know or manage such subscriptions.

In terms of improvements, I think we could have the idea of public and private notifications channels – such that if one is subscribe to a public channel then notification goes to all those who’ve subscribed to that channel (in a broadcasting kind of way). And private channels would be the ones that target a particular user. And I think, with a little bit of thought, Microsoft can extend the notification infrastructure to allow intra-application communication – this is something that, if done well, can bring to bear a lot of interesting apps mash-ups.

5. Design for Extensibility

I’ve already done a rant on this, but in many other ways there is still a case to be made that because wp7 is a managed platform the onus is on Microsoft to provide infrastructural capabilities for apps to built-upon. Now the problem lies with the fact that you have to wait on the underlying platform to be updated as a whole, to a gain a new capability. That I think is a fundamentally flawed approach, especially keeping in mind how fast the market and hardware capabilities are moving – so how about, if we could have independent trusted/certified dlls, that could be added to the xap and used to consume additive capability in isolation – like say NFC capabilities that might be introduced by one set of phones.

Essentially, what I’m talking about is embedding interops that are smart-enough to test if the capability can be availed on the device, and if true then wp7 gets the necessary installers and install it from Microsoft directly (into maybe something like a GAC). So lets take an example of sockets capability – in such a setup, Microsoft can in isolation make an interop available and apps can avail them before they are introduced into the platform as a whole itself – and just to note, once the capability has been subsumed in the underlying platform then Microsoft could just disallow any app from including the interop. With something like this the time-to-market can be significantly cut-down because you can test and add capabilities in a piece-meal fashion. And the benefit being wp7 as a platform can potentially be on the cutting-edge of hardware/services – without the negatives of dll hell or the delays with moving the platform as a whole.

TaskSwitcher6. Introduce Pseudo Multitasking using Tomb-stoning

Multi-tasking, or pseudo multi-tasking (or apple’ish multi-tasking), has two facets – one the ability to do certain tasks in the background (like play music) and two, resume from where you left. The second facet is essentially what we call tomb-stoning in wp7, so how about availing the state whenever an app starts – why should it be only restricted when accessed by navigating back. This is so easy to avail that I was surprised it wasn’t in the box, because we already have the application-side of the infrastructure in place. So the only thing that is really needed is a task-switcher kind of UI (as shown on the right), which again taking cues from iPhone, could be triggered by double-clicking the home button. The running apps tiles too could be made “live”.

And with respect to the other capability of having certain tasks execute in the background is again not difficult, all that is needed is to provision “named” background threads that can only do non-visual tasks. And in Silverlight we already have a background-worker approach, and we could foreseeably use something very similar to that – with the main idea being you have a qualified interface that does dispatching back-and-forth. Technically, I don’t think it’s a big challenge – especially because apple has put in the though-process already in so far as the types of background tasks we need.

7. Improve the Home Screen

Tiles are an excellent idea, but the current implementation of the home-screen comes at the expense of application discovery and limited usability. In as much as Microsoft parades the grid’ish approach to apps listing, the one thing they do provide, in terms usability, are big bold graphical hit-targets that are conducive to developing muscle memory. However, in wp7 because live tiles and apps listing require heavy scrolling and in the other case we have text-oriented targets, the muscle memory ability is severely diminished, and consequently it takes longer and requires more metal involvement to get to any app. And I can feel that extra effort’s pinch when I compare it to my experience on my iPad, not exactly fair but still, where I’ve put everything into folders in just one screen and it doesn’t take me more than two touches to get to any app; plus you also get the speed because of the muscle memory you’ve developed over time.

MultiPanelHomeScreenWithout radically changing the home screen, I think one of the things that can really help is having multiple sets of live-tiles. I can imagine organizing various live-tile sets – one of people I contact often, one for games I play often, apps by category etc. Yes, it adds lateral scrolling/swiping but that not necessarily a bad thing, it’s same idea of an “infinite canvas” in play. Secondly, it’s so ironic that despite having a hardware search button you can’t search for your apps – that needs to be corrected, a press on search button should allow you to search for apps when on the home screen, period.

8. Update Back and Search Buttons Behaviour

I seriously think Microsoft got the back button and search button functionality somewhat wrong. I think the back-button should only navigate within the context of an app. Hoping apps by walking up the back-stack is counter-intuitive, it might work for task-like application hops, but it’s just not right in terms of app-to-app usability. So my suggestion is this, one, let the back-button only work within the boundaries of an app (i.e. it shouldn’t cause one to exit an app – when was the last time your browser kicked you out when you backed-up? or where is the forward button to recover from an accidental exit?), and second, introduce a long-press on the back-button that takes you to the previous application (with tomb-stoning and all). Using the long-press, as opposed to backing up n-times, would also preserve the back-stack on the running application, and that is sometimes important with things like the browser (plus we won’t end-up backing up over POST actions, which is bad bad bad!).

Similar to the back button, the search button should be contextual to the app running – and in cases where the application doesn’t handle it, it should do nothing. This behaviour would be consistent with the use of the search button in native apps, plus it would also allow its use within the home screen. Now as for accessing Bing, introduce a long-press on the search-button to get to Bing – like the back button, this would consistently hop the app-boundary and also maintain the availability of Bing from basically anywhere in the phone. And for those like me with fat fingers, we won’t constantly be jumping out games and apps because of unintended hits.

9. Introduce Built-in SkyDrive API for Apps

One of the big visions of the mobile era is that of apps that fully “live in the cloud” – we’re somewhat there in an ad-hoc and patchy kind of manner, but not quite there in a truer sense of a platform. This is a vision that wp7 can take the mantle for, since Microsoft already has a lot of the technology and assets in place – namely, the 25GB provided through Sky-Drive and Live Mesh / Live Sync technology.  Imagine, having a cloud version of IsolatedStorage that could be shared across devices and Microsoft platforms – I reckon it would have a profound impact on how app’s user experiences flow across platforms and devices.

10. Introduce a Companion WP7 based Tablet

Of all the points here, nothing riles me the more than Microsoft’s inane tablet strategy, it’s like they just can’t grasp the failing of windows mobile – and the consequent ceding of billions-of-dollars worth of market to Apple and Google. What was the single biggest problem with windows mobile? Not features, not app count, rather it simply wasn’t designed for a touch device and it just didn’t work from a touch UX perspective. Now, contrast iPad with a Windows 7 tablet device – was Win7 primarily designed for a touch device? No. Does it work well from a touch UX perspective? No. It’s history repeating itself, Microsoft is ceding time and market to both Apple and Google again – and this is all despite, again like with smartphones, having a unique heritage in the tablet form-factor. Insane!

The Windows 8 System-on-a-Chip (SoC) is a laudable goal, if you can unify multiple form-factors – wonderful, it’s what sci-fi looked liked couple of years back. But, this strategy has got two problems, by the end of 2012 you will be three years out from the introduction of the iPad (ahem, just like 3+ years from iPhone to wp7’s introduction), and two, you could potentially hit a fundamental/technical issue(s) that could make it less than an idea solution (maybe like jack-of-all-trades but master-of-none) because really it is a such a challenging undertaking (Longhorn anyone? Pesky little history again). So why not take a path that has proven to be successful, take your phone OS and scale it up. And I believe, Silverlight, because of it’s awesome layout sub-system and MVVM type separation capabilities, would make for a wonderful application platform for tablets. And this can be achieved rather so quickly and cheaply (ironically on the back of Android tablets coming out now), that conceivably devices can be made available in time for holidays.

Lastly, from a developer’s perspective – iOS and Android developers get a one-for-two deal, in that they can at the same time make apps for two platforms. That’s twice the monetization opportunity with minimal effort – yet, don’t forget the fact some apps are just about only practical on a table-form factor which totally isn’t even an option for wp7 developers. That’s a handicap, that’s a loss-of-mindshare, and that makes the wp7 platform less attractive. These are just simple business 101 facts, and so it boggles my mind how does the biggest software company in the world miss the boat by such a large margin – and mind you this is not some iffy stuff, this has a profound and real effect on the long-term vitality of the windows eco-system.

 

 

Posted by karthickreddyk with no comments

Shortcuts keys for Developing on Windows Phone 7 Emulator

14.00 Normal 0 false false false EN-US X-NONE X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} table.MsoTableLightGridAccent1 {mso-style-name:"Light Grid - Accent 1"; mso-tstyle-rowband-size:1; mso-tstyle-colband-size:1; mso-style-priority:62; mso-style-unhide:no; border:solid #4F81BD 1.0pt; mso-border-themecolor:accent1; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-border-insideh:1.0pt solid #4F81BD; mso-border-insideh-themecolor:accent1; mso-border-insidev:1.0pt solid #4F81BD; mso-border-insidev-themecolor:accent1; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} table.MsoTableLightGridAccent1FirstRow {mso-style-name:"Light Grid - Accent 1"; mso-table-condition:first-row; mso-style-priority:62; mso-style-unhide:no; mso-tstyle-border-top:1.0pt solid #4F81BD; mso-tstyle-border-top-themecolor:accent1; mso-tstyle-border-left:1.0pt solid #4F81BD; mso-tstyle-border-left-themecolor:accent1; mso-tstyle-border-bottom:2.25pt solid #4F81BD; mso-tstyle-border-bottom-themecolor:accent1; mso-tstyle-border-right:1.0pt solid #4F81BD; mso-tstyle-border-right-themecolor:accent1; mso-tstyle-border-insideh:cell-none; mso-tstyle-border-insidev:1.0pt solid #4F81BD; mso-tstyle-border-insidev-themecolor:accent1; mso-para-margin-top:0in; mso-para-margin-bottom:0in; mso-para-margin-bottom:.0001pt; line-height:normal; font-family:"Cambria","serif"; mso-ascii-font-family:Cambria; mso-ascii-theme-font:major-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:major-fareast; mso-hansi-font-family:Cambria; mso-hansi-theme-font:major-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:major-bidi; mso-ansi-font-weight:bold; mso-bidi-font-weight:bold;} table.MsoTableLightGridAccent1LastRow {mso-style-name:"Light Grid - Accent 1"; mso-table-condition:last-row; mso-style-priority:62; mso-style-unhide:no; mso-tstyle-border-top:2.25pt double #4F81BD; mso-tstyle-border-top-themecolor:accent1; mso-tstyle-border-left:1.0pt solid #4F81BD; mso-tstyle-border-left-themecolor:accent1; mso-tstyle-border-bottom:1.0pt solid #4F81BD; mso-tstyle-border-bottom-themecolor:accent1; mso-tstyle-border-right:1.0pt solid #4F81BD; mso-tstyle-border-right-themecolor:accent1; mso-tstyle-border-insideh:cell-none; mso-tstyle-border-insidev:1.0pt solid #4F81BD; mso-tstyle-border-insidev-themecolor:accent1; mso-para-margin-top:0in; mso-para-margin-bottom:0in; mso-para-margin-bottom:.0001pt; line-height:normal; font-family:"Cambria","serif"; mso-ascii-font-family:Cambria; mso-ascii-theme-font:major-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:major-fareast; mso-hansi-font-family:Cambria; mso-hansi-theme-font:major-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:major-bidi; mso-ansi-font-weight:bold; mso-bidi-font-weight:bold;} table.MsoTableLightGridAccent1FirstCol {mso-style-name:"Light Grid - Accent 1"; mso-table-condition:first-column; mso-style-priority:62; mso-style-unhide:no; font-family:"Cambria","serif"; mso-ascii-font-family:Cambria; mso-ascii-theme-font:major-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:major-fareast; mso-hansi-font-family:Cambria; mso-hansi-theme-font:major-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:major-bidi; mso-ansi-font-weight:bold; mso-bidi-font-weight:bold;} table.MsoTableLightGridAccent1LastCol {mso-style-name:"Light Grid - Accent 1"; mso-table-condition:last-column; mso-style-priority:62; mso-style-unhide:no; mso-tstyle-border-top:1.0pt solid #4F81BD; mso-tstyle-border-top-themecolor:accent1; mso-tstyle-border-left:1.0pt solid #4F81BD; mso-tstyle-border-left-themecolor:accent1; mso-tstyle-border-bottom:1.0pt solid #4F81BD; mso-tstyle-border-bottom-themecolor:accent1; mso-tstyle-border-right:1.0pt solid #4F81BD; mso-tstyle-border-right-themecolor:accent1; font-family:"Cambria","serif"; mso-ascii-font-family:Cambria; mso-ascii-theme-font:major-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:major-fareast; mso-hansi-font-family:Cambria; mso-hansi-theme-font:major-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:major-bidi; mso-ansi-font-weight:bold; mso-bidi-font-weight:bold;} table.MsoTableLightGridAccent1OddColumn {mso-style-name:"Light Grid - Accent 1"; mso-table-condition:odd-column; mso-style-priority:62; mso-style-unhide:no; mso-tstyle-shading:#D3DFEE; mso-tstyle-shading-themecolor:accent1; mso-tstyle-shading-themetint:63; mso-tstyle-border-top:1.0pt solid #4F81BD; mso-tstyle-border-top-themecolor:accent1; mso-tstyle-border-left:1.0pt solid #4F81BD; mso-tstyle-border-left-themecolor:accent1; mso-tstyle-border-bottom:1.0pt solid #4F81BD; mso-tstyle-border-bottom-themecolor:accent1; mso-tstyle-border-right:1.0pt solid #4F81BD; mso-tstyle-border-right-themecolor:accent1;} table.MsoTableLightGridAccent1OddRow {mso-style-name:"Light Grid - Accent 1"; mso-table-condition:odd-row; mso-style-priority:62; mso-style-unhide:no; mso-tstyle-shading:#D3DFEE; mso-tstyle-shading-themecolor:accent1; mso-tstyle-shading-themetint:63; mso-tstyle-border-top:1.0pt solid #4F81BD; mso-tstyle-border-top-themecolor:accent1; mso-tstyle-border-left:1.0pt solid #4F81BD; mso-tstyle-border-left-themecolor:accent1; mso-tstyle-border-bottom:1.0pt solid #4F81BD; mso-tstyle-border-bottom-themecolor:accent1; mso-tstyle-border-right:1.0pt solid #4F81BD; mso-tstyle-border-right-themecolor:accent1; mso-tstyle-border-insidev:1.0pt solid #4F81BD; mso-tstyle-border-insidev-themecolor:accent1;} table.MsoTableLightGridAccent1EvenRow {mso-style-name:"Light Grid - Accent 1"; mso-table-condition:even-row; mso-style-priority:62; mso-style-unhide:no; mso-tstyle-border-top:1.0pt solid #4F81BD; mso-tstyle-border-top-themecolor:accent1; mso-tstyle-border-left:1.0pt solid #4F81BD; mso-tstyle-border-left-themecolor:accent1; mso-tstyle-border-bottom:1.0pt solid #4F81BD; mso-tstyle-border-bottom-themecolor:accent1; mso-tstyle-border-right:1.0pt solid #4F81BD; mso-tstyle-border-right-themecolor:accent1; mso-tstyle-border-insidev:1.0pt solid #4F81BD; mso-tstyle-border-insidev-themecolor:accent1;}

The Windows Phone 7 emulator in the SDK comes with some shortcut keys that help to speeding things up while Developing on the Emulator. Following are some of the keys that i explored on …

Key

Description

F1

Use F1 key on the keyboard instead of back button on the phone

F2

Use the key F2 on the keyboard for the Windows key in the Windows Phone 7

Pageup

Enables the keyboard in the emulator when the focus is on the textbox

PageDown

Disables the keyboard in the emulator

F3

To open the Bing Search

F7

To Activate the Physical Camera

F9

Increase the Volume

F10

Decrease the volume

 

BangaloreITPro 7th Anniversary Celebration

Event Registration URL: http://www.eventbrite.com.au/event/2652422467

Group Site: http://bitpro.in

Event Agenda:

image

Speakers Profile:

Topic Speaker Speakers’ photo

Keynote (Relationship between User Group Communities & Technologies)

Pradipta K Sharma

Founder & CEO | Beahead Private Limited

Pradipta has over 15 years of hands-on experience leading business strategy, product management, marketing and business development for a diverse set of organizations including Microsoft, Drishtee, Strider, Northwest Architectural Company and Planet 3 Studios. Pradipta was instrumental in starting 3 companies - Planet 3 Studios, Strider and Drishtee. Prior to starting Beahead, Pradipta worked with Microsoft for 7 years as an Audience Marketing Lead, specifically focusing on audience reach, satisfaction and product adoption.

Pradipta Sharma-2
Windows7SP1 Deployment using MDT2012 Beta2 Mr.Saravanan Rajappa,

Saravanan is the infrastructure architect at Honeywell Technology Solutions lab and has over 13 years of professional experience in the field of IT Infrastructure Services as an Infrastructure Designer, Technical Consultant, and System Administrator
He has worked in technology project lifecycle which includes planning, designing, deployment and support of Windows Server 2008, 2003 and 2000, server roles, Windows 7, Vista, XP and 2000, SQL 2005, IIS, System Center, Data security, VMware ESX, VDI and other prestigious IT Infrastructure related projects.
He was involved in multiple IT service delivery projects and poses good process knowledge on ITSM using ITIL framework. He has been involved in various consulting engagements such as end to end design of IT Infrastructure for clients, Technology Refresh, AD Migration, Server Consolidation and Transformation programs. He is currently holding the following certifications – MCITP Enterprise Administrator in Windows Server 2008, MCSE with AD DS specialization in Windows Server 2003, MCITP - SQL 2005, MCITP – Hyper-V Virtualization, VMware VCP and ITIL v3 Certified Professional.

SARAVANAN

Exchange 2010 SP2 Overview

Mr.Ismail Mohammed, Microsoft India Ismail_Mohammed
Top 5 Free Desktop Deployment and Planning Tools for Every IT Professional

Aviraj Ajgekar, Technology Evangelist, Microsoft Corporation

Aviraj is a Computer Engineer from Mumbai and currently working with Microsoft Corporation India as aTechnology Evangelist. In his present role he's working with IT Professionals across India evangelizing Microsoft Technologies.

A real blogger, he is very compulsive on adding his thoughts to online blogs,  forums, community and media. He a regular speaker at various Microsoft Events such Microsoft TechEd, MS TechDays, Virtual TechDays, Microsoft India Webcasts and many more technology events.

In his spare time he likes to spend time with his family, hang around with friends & listening to the rock music. He’s also passionate about Photography & Long Drives. You can follow him on twitter @aviraj111

AVIRAJ_ITE
PowerShell 3.0 features in Windows 8 and Windows 8 Server Mr.Ravikanth Chaganti, Dell R&D

Ravikanth has over 10 years of experience in the IT industry. At the beginning of his career, he worked at Wipro Infotech managing Windows, Solaris servers and Cisco network equipment. He currently works at Dell Inc. as a lead engineer in the SharePoint solutions group. As a part of his work, he authored several whitepapers on MOSS 2007 and SharePoint 2010 that provide guidance around infrastructure elements of a SharePoint deployment. His work also involves performance testing and sizing of SharePoint workloads on Dell servers and storage.

Ravikanth is passionate about automation and outside of work, he writes regularly on his blog http://www.ravichaganti.com/blog about topics related to Windows PowerShell, Microsoft SharePoint and Windows Server virtualization. In 2011, Ravikanth received – for the second year in a row -- Microsoft's Most Valuable Professional (MVP) award in Windows PowerShell. You can also hear him speak regularly at BITPro (http://bitpro.in) user group meetings and other in-person events at Bangalore, India

Pic_Ravi_VTD
Private Cloud Architecture Design & Demos Mr.Anand MS, Microsoft India
M.S.Anand has been with Microsoft India for seven years and is currently working as a Technology Specialist with Microsoft Technology Center at Bangalore. He has a wide range of experience during his 14 year career in the industry and has undertaken numerous projects in assisting medium and large customers architect and design their infrastructure. He is a familiar face at many Microsoft events and is a MCITP Enterprise Administrator on Windows Server 2008, and also holds MCTS for SCVMM 2008, SCOM 2007, ISA 2006, Exchange 2007 & Forefront Client Security.
msanand
Windows Server 8 Preview Mr. Gaurav Anand, Microsoft MVP

Gaurav Anand works at HP Technology Services and provides solutions for Microsoft, VMware and Storage technologies. He likes to work on Core Infrastructure optimization and Cloud Design projects and enjoys troubleshooting complex technology issues. Gaurav has also done various training deliveries for Microsoft products. He is Microsoft Most Valuable professional, public speaker and a certified PMP. Gaurav blogs at http://itinfras.blogspot.com/ and you can catch him on twitter @gauravanand121
MvpPhoto
Microsoft Indic in Windows 7 and Windows 8            (নমস্কার! नमस्ते! ನಮಸ್ಕಾರ! സ്വാഗതം! வணக்கம்! నమస్కారము!) Dr.Pavanaja, Vishwa Kanada Softtech
Vote of Thanks & Closing Note

Kaliyan currently holds a position as Sr.Technical consultant for Microsoft Enterprise Solutions for Dell India. He is specialized in Microsoft Technologies like Windows Server, Active Directory, Exchange Server and SCCM. He is co-founder and Manager of BangaloreITPro User Group. He also serves as an ITPro Group Leader at GITCA & SQL PASS, he also member of STEP.

Kaliyan received Microsoft’s Most Valuable Professional Award / Network Professional Association’s Top of the Mark – Volunteer award based on his contribution to the IT community.

Kaliyan_recent