Eight Reasons C# is the Best Language for Mobile Development

mobilecsharp

The statisticians behind the Popularity of Programming Languages (PYPL) index have named C# the language of the year for 2012. Their data shows that C# popularity grew by 2.3 percent in 2012, more than any other programming language during the same period.

What accounts for the growth of C# in 2012? Well, the launch of Windows 8 has probably played a role — C# remains the dominant language of third-party application development on Windows devices.

But we think there’s more to it than that. Here are eight reasons why C# is increasingly the programming language of choice for mobile development:

Read the entire post here: http://blog.xamarin.com/eight-reasons-c-sharp-is-the-best-language-for-mobile-development/

Series of Posts on Azure Security

My colleague Bruce Kyle has put together a view into how you can secure your application in Windows Azure. He’s pulled together information from hundreds of pages to provide you with a how-to guide on developing your application in a secure way on Windows Azure.

This six-part series describes the threats, how you can respond, what processes you can put into place for the lifecycle of your application, and prescribes a way for you to implement best practices around the requirements of your application. I’ll also show ways for you to incorporate user identity and some of services Azure provides that will enable your users to access your cloud applications in new says.

At first, the steps may seem lengthy. But as you will find, Windows Azure shares the responsibility to help secure your application. By using Windows Azure platform, you are able to take a deeper look into your application and take steps to make your application more secure.

Here are the links to each part in this series:

Part 1: The Challenges, Defense in Depth. This post describes the threat landscape and introduces the plan for your application to employ defense in depth in partnership with Windows Azure.

Part 2: What Azure Provides Out-of-the-Box.This is an overview that security with Windows Azure is a shared responsibility, and Windows Azure provides your application with important security features. But then again, it also exposes other vulnerabilities that you should consider. In addition, I’ll explore how Microsoft approaches compliance.

Part 3: Identifying Your Security Frame. This post explores how you can examine your application and identify attack surfaces. The idea of a Security Frame is a way for you to look at your application to determine treats and your responses, before you even begin coding. He point you to checklists that you can use when you are architecting your application.

Part 4: What Else You Need to Do. In addition to protecting your application from threats, there are additional steps you should take when you deploy your application. We provide a list of mitigations that you should employ in your application development and deployment.

Part 5: Claims-Based Identity, Single Sign On. User identification represents the keys to accessing data and business processes in your application. In this section, I describe how you can separate user identity and the roles of your user out of your application and make it easier to create single sign on applications.

Part 6: How Azure Services Extends Your App Security. Finally, he shows how other services in Windows Azure provide secure identity mapping, messaging, and connection to on premises application. This section suggests how you can use Windows Azure Active Directory, Windows Azure Connect, and Service Bus for your cloud applications, on premises applications, and hybrid applications.

Part 7: Tips, Tools, Coding Best Practices. here are a few more items you should consider in securing your Windows Azure application. Here are some tools, coding tips, and best practices: running on the operating system, error handling, and how to access to Azure Storage

The intent of this series is to provide a context for you to learn more and empower you to write great applications for the public cloud.

Learn more at Global Foundation Services Online Security. The Global Foundation Services team delivers trustworthy, available online services that create a competitive advantage for you and for Microsoft’s Windows Azure.

Just Released: Windows Phone 7 Guidance – patterns & practices

clip_image001

Microsoft patterns & practices is excited to announce the release of:

  • A case study for Building Advanced Windows Phone Applications
  • Building Testable Windows Phone Applications
  • Developing a Windows Phone Application using the MVVM Pattern
Resources:
>> Go to Patterns & Practices: Windows Phone Guidance Home on MSDN
>> On Codeplex:
http://wp7guide.codeplex.com

Enterprise Library Integration Pack for Windows Azure

Read the announcement here.

ELAzure_logo_smallFor years the Enterprise Library application blocks have helped developers address the typical cross-cutting concerns of enterprise development (such as diagnostic logging, data validation, and exception handing). With over 3.5 million downloads, they take a prominent place in the toolbox of a modern .NET developer. The good news is that most of the Enterprise Library 5.0 application blocks simply work on Windows Azure. However, developing for the Windows Azure platform presents new challenges, including how to make applications more elastic (via autoscaling), and more stable and resilient to transient failures. The Enterprise Library Integration Pack for Windows Azure focuses on addressing these challenges. It provides reusable components and developer’s guidance designed to encapsulate recommended practices which facilitate consistency, ease of use, integration, extensibility, scalability and cost-effectiveness. Developers and IT professionals familiar with other Enterprise Library application blocks as well as those who are new to Enterprise Library will be able to benefit from the comprehensive set of content we are shipping today. You can pick and choose what matters to you and to your app, and adopt only those particular blocks/features.

Highlights

This release includes a comprehensive set of technical content, including:

  • Two new application blocks:
    • Autoscaling Application Block ("Wasabi") to help you to automatically scale both web and worker roles in Windows Azure by dynamically provisioning/decommissioning roles or throttling. These scaling actions are based on timetables or on metrics collected from the application and/or Windows Azure Diagnostics.
    • Transient Fault Handling Application Block ("Topaz") to help you make your Windows Azure application more resilient to transient errors when you are using these cloud services: SQL Azure, Windows Azure Storage, Windows Azure Caching, and Windows Azure Service Bus.
  • One new configuration source:
    • Blob configuration source to load configuration information from a blob in your Azure Storage account so that you can modify it without having to redeploy your application to Windows Azure.
  • Windows PowerShell cmdlets to browse and manipulate the Autoscaling Application Block settings directly from Windows PowerShell.
  • Protected configuration provider to allow you to encrypt sections of your configuration files in Windows Azure.
  • Updated database creation scripts so that you can migrate your code using the database trace listeners of the Logging Application Block and the Caching Application Block.
  • A substantial collection of experience guidance help you ramp up quickly, including:

For detailed change log from Beta to Final and installation instructions, see Release Notes.

How to Get it?

The recommended way to obtain the Enterprise Library Integration Pack for Windows Azure is as NuGet packages. Alternatively, you can download self-extracting zip files with binaries, sources (including tests) and the reference implementation from MSDN. The configuration tool is available as a Visual Studio extension package (VSIX) from the Visual Studio Gallery.

Silverlight 5 Released

Silverlight 5 has been released.

Silverlight 5 adds a ton of new features over what we had with Silverlight 4. Silverlight is part of a rich offering of technologies from Microsoft helping developers deliver applications for the web, desktop and mobile devices. Download Silverlight 5, a free plug-in less than 7 MB in size that can be installed in less than 10 seconds.

New features in Silverlight 5 include Hardware Decode of H.264 media, which provides a significant performance improvement with decoding of unprotected content using the GPU; Postscript Vector Printing to improve output quality and file size; and an improved graphics stack with 3D support that uses the XNA API on the Windows platform to gain low-level access to the GPU for drawing vertex shaders and low-level 3D primitives.

In addition, Silverlight 5 extends the ‘Trusted Application’ model to the browser for the first time. These features, when enabled via a group policy registry key and an application certificate, mean users won’t need to leave the browser to perform complex tasks such as multiple window support, full trust support in browser including COM and file system access, in browser HTML hosting within Silverlight, and P/Invoke support for existing native code to be run directly from Silverlight.

For more information, visit the Microsoft Silverlight site. For additional information on support policy, visit Microsoft Silverlight Support Lifecycle Policy.

Kinect for Windows Is Live

The new website is now live: http://www.kinectforwindows.org

Silverlight 5 RC Available for Download

silverlight_logoThe release candidate for Silverlight 5 is now available to developers on the Silverlight developer site. You can get the release itself and additional details on Silverlight Downloads.

New Features Announced for Silverlight 5

Silverlight delivers the richest set of capabilities available to developers today through a Web‐browser plug‐in. Announced last December and shipping later this year, Silverlight 5 makes further advances in media, application development and user experience, adding over 40 new features.

The Silverlight 5 RC provides developers their first opportunity to start exploring these new capabilities. More information on the Silverlight 5 announcements is available at http://www.microsoft.com/silverlight/future .

The Role Of The PM

Windows Phone Mango Silverlight developer toolkit released

WindowsPhoneThe Silverlight toolkit for Windows Phone’s Mango update has been released. You can download the toolkit here.Silverlight for Windows Phone Toolkit offers developers additional controls for Windows Phone application development, designed to match the rich user experience of the Windows Phone 7.1 SDK.

New Components for Aug 2011

  • Smooth new LongListSelector designed for Windows Phone 7.1 OS
  • MultiselectList
  • LockablePivot
  • HubTile
  • ExpanderView
  • LocalizedResources
  • DateTimeConverters
  • DateTimePickers
  • HeaderedItemsControl
  • PhoneTextBox
  • Improved Transitions performance
  • Improved ContextMenu performance
  • ListPicker supports multiselect
  • Various bug fixes

Components in the Silverlight for Windows Phone Toolkit

Silverlight for Windows Phone Toolkit Components

  • AutoCompleteBox
  • ContextMenu
  • DatePicker
  • DateTimeConverters
  • DatePicker
  • ExpanderView
  • GestureService/GestureListener
  • HeaderedItemsControl
  • HubTile
  • ListPicker
  • LocalizedResources
  • LockablePivot
  • LongListSelector
  • MultiselectList
  • Page Transitions
  • PerformanceProgressBar
  • PhoneTextBox
  • TiltEffect
  • TimePicker
  • ToggleSwitch
  • WrapPanel
Get the tools

You can download the new release straight from the CodePlex site at http://silverlight.codeplex.com/ – it requires the latest ‘Mango’ developer tools as well.

The release is also available on NuGet as the SilverlightToolkitWP package.

Challenges Current CTOs Are Experiencing

rubiks_cubeDuring my meetings with CTOs in ISVs (and I have a lot Smile) I try to help them to solve their challenges.

First, what is CTO?

A Chief Technology Officer (or Chief Technical Officer; CTO) is an executive-level position in a company or other entity whose occupant is focused on scientific and technological issues within an organization. It typically involves overseeing Research and Development (R&D) activities, and formulating long-term visions and strategies at the officer level. Essentially, a CTO is responsible for the transformation of capital – be it monetary, intellectual, or political – into technology in furtherance of the company’s objectives. They typically combine a strong technical or scientific background with business development skills.

source:Wikipedia- http://en.wikipedia.org/wiki/Chief_technology_officer

Now, when we know what is the definition of CTO, I’d like to summarize the current challenges CTOs are experiencing as I understand them:

  • Recruiting talents is one of the most challenging endeavor.If you have great talent you could probably be a mediocre manager and still excel! I do believe that people is the most important asset we have. However, there is plenty of talent in supply. What might be lacking are:
    • Ability to attract talent
    • Ability to recognize talent
    • Ability to train/coach/grow talent
  • Alignment of technology and business strategy: "What we can do does not sell, and what sells we cannot do." Need to navigate the markets.Seek to discover gaps between the realized and potential value of the applicable technologies to our customers. Technology product development is effectively the organization and packaging of available technology.
  • Execution. We are in the age when companies compete based on their execution capabilities (product development infrastructure) rather than products themselves. Building an efficient infrastructure requires systemic thinking and good system engineering practices. Not every CTO is a system engineer by birth.
  • Technology: technology is getting much simpler and more complex at the same time.But it is almost always the case that problems and opportunities get less expensive every month. So the challenge is to plan (predict) when changes to tools and infrastructure should occur.
  • Cloud! “how do I get distributed processing power in the cloud?".
  • Global market: where you are collecting data from many differing countries with differing infrastructure capabilities, where is the processing power?
  • Simplicity over Functionality: People/Customers always want a system that does it all for them rather than make the important parts efficient and effective. That is partially why SaaS is becoming more and more important everyday.

There are many challenges for a modern CTO. I summarized here my opinion, but of course, the challenges vary greatly by the industry and business size. Use the comments mechanism to add your insights.

%d bloggers like this: