Microsoft

Blog Categories

Subscribe to RSS feed

Archives

Archive for the ‘Mobile’ Category

SPC 2014: SharePoint for Any Screen Size, a Responsive Approach

Eric Overfield (@ericoverfield) and Rita Zhang gave an informative session. It was chock full of examples and example code.  I couldn’t grab the code examples but a lot of the best practices and screenshots from live sites I was able to grab.  They started with the three pillars of Responsive Design:

calvet

Fluid Grid

Must use a fluid grid. By keeping the grid approach, users come to expect a common pattern. The grid must be able to resize itself, hence the fluid grid

  • Large would be three columns
  • Tablet would use two
  • Smart phone would use one.

Flexible Media

Be flexible with what images and images sizes you use.  You would also use proportional text

Media Query

Query your media based on the size.  You might use the same image but cropped.

How to Implement

  • Build and code a mobile interface first
    • helps you control some resources.  You start by optimizing the resources for lowest bandwidth, etc.
    • It also forces you to concentrate on the content.  Smaller interface forces the prioritization of that content
    • She gave an example of doing the smart phone viewport wireframe first.   It did help to see it there first because you prioritized what you wanted to appear and where.
  • Note: IE 8 is not mobile first friendly

Demo

He showed a demo of CSS  with a setting with the following logic

  • for anything greater than 992 px then
    • display a background image in this location with this width, height, and margin

Navigation in Mobile First

Read the rest of this post »

SharePoint Conference 2014 Keynote: Working With IT Professionals

Micorosft wants to partner with you.  It’s about trust, control, and the cloud onramp.

Platform changes

  • A Microsoft partnership is about trust, control & cloud onrampDeliver rock solid platform whether it’s on-premise or in the cloud
    • Will do a 2015 release of SharePoint and Exchange
    • But Cloud remains a key focus
    • Stats
      • 250K responses per second
      • 400K cores
      • 400 Petabytes of storage
        • 20% growth in one month
  • Deploying new features online every single week around the world
    • Last quarter, did the release process with 99.98% availability
    • Investment in security, privacy, and compliance
      • Will have 1 TB site collections using the storage service (based on Azure)
      • In the tenancy, infinite scale (to lots of applause)
      • Stress that this is your data.  Don’t use it for any other service
      • Working on HIPPA, ISSO, FiSMA, etc.  Want to support these standards so all can move to the cloud as a trusted platform
      • Updated rights management
      • Released multi-factor authentication
      • Increased reporting and compliance portal
      • Cloud first then on premise
      • Demo by Michal Gideoni
        • Compliance
          • New unified compliance center
          • For SharePoint, Exchange, and Lync
          • Let’s you do eDiscovery with custom queries.
            • Setup search
            • Refine it
            • Search it in place
            • Real time results
      • Once found, you can act on docs, etc.
      • Can also see who viewed the items that come up as part of the eDiscovery search
        • For example, see that only HR viewed passport numbers
      • Can configure audit settings
  • Recent update to IT controls
    • Multi-factor authentication
    • Another layer of security
    • Can use admin center via configuration
      • Turn it on for all or selected set of users
      • Works with user in Office 365 and for federated identities

Cloud on ramp

  • Latest Service Pack 1 for on Premise has hybrid cloud options to push to just Yammer or just One Drive
  • New One Drive for Business stand-alone offer
    • Get hybrid configuration if you want
    • Rich document sync
    • Office is built in on Windows, ipad, etc
    • 25G for each user in the organization. Great value

MVC controller actions vs Web API vs SignalR – what to use?

Over the course of a last few years Microsoft unleashed two new web development frameworks: Web API and SignalR, both are suitable for asynchronous communications between web client and web server.  And, of course, we still have MVC controller actions that can be used for asynchronous communications too and can accept and return JSON objects. So, what’s the difference between these three frameworks and what are the best patterns and practices for using these?

communication 1. First, the MVC controller actions. ASP.NET MVC framework is a layer on top of good old ASP.NET and it was originally built support and traditional synchronous web development architecture where controller action is generating HTML as a response to HTTP requests and accepting HTTP form posts when the whole page is reloaded.  However, it’s also possible to call a controller action asynchronously from javascript passing JSON object as a parameter and getting JSON in response.
As MVC is built on top of ASP.NET it inherits ASP.NET paradigms like session support. HTTP protocol is stateless by it’s definition, however ASP.NET is supporting user session state.  Being statefull also means thread affinity.

2. Web API is looking very similar to MVC: there are controllers,  routes and filters. However, Web API is tracing it’s roots from the different source: WCF. Because of that, Web API doesn’t have a dependency from ASP.NET and could potentially be hosted on a web server which is different from IIS or could be self-hosted in application. Web API is stateless, asynchronous (Task<T> could be used as a return type for actions) and there are no thread affinity. Web API is very aware of HTTP verbs (like GET, PUT, DELETE, etc) and so it’s completely restful. In fact, the default routing setup for Web API doesn’t include action into the route.

Read the rest of this post »

New Microsoft CEO and the ripple effects

This morning Microsoft announced that Satya Nadella will be taking over as the new CEO.  Satya Nadella is the former head of the Cloud and Enterprise division at Microsoft.  The last few years Microsoft has been focused on providing a better cloud solution.  They have rapidly iterated on Windows Azure, SharePoint Online, Office 365, Xbox Live and the latest, Visual Studio Online.  All of these services did not exist 3-4 years ago!  This is in addition to former-CEO Steve Ballmer stating that Microsoft was transitioning to a Devices and Services company.  The hiring of a cloud computing expert as the next CEO boldly states where Microsoft is placing its bets.  Even more telling is that Satya Nadella’s tenure as CEO is effective immediately; meaning Steve Ballmer is going into early retirement.  He was not scheduled to step down until August 2014.

New Microsoft CEO and the Ripple EffectsWhat about the consumer?  Building a first class cloud service is great but you need people to use the services provided.  You can argue the enterprise business will provide users.  That is true to an extent.  The enterprise is becoming more ‘Bring your own device (BYOD)’ friendly, meaning Microsoft still needs the consumer to purchase their devices.  They can not flourish on the enterprise alone.   Nadella does not possess a strong portfolio for the consumer space.  He is a cloud expert which puts him on the back-end of product design.  His cloud expertise empowers those devices but does not put them in consumers hands.

Enter Bill Gates.  Bill Gates was asked by Nadella to take a larger role at Microsoft as Technology Adviser.  Gates also stepped down as Chairman of the Microsoft Board Satya Nadella Quoteimmediately in order to submerge himself in the new role.  Some may argue that Gates is also not a product expert.  While that may be true in some respects, his tenure leading Microsoft was anything but a failure.  Gates has also had the unique point of view of sitting idly on the sidelines during times when technology was influencing culture the most.  The rise of the iPod put gigabytes of music in everyone’s pocket.  Microsoft’s attempt at a competitor with the Zune were unsuccessful.  Windows Mobile was once a prominent figure in the mobile computing space; then the iPhone and Android transformed the industry.  Microsoft had to play catch up (and still is) in the fastest growing technology market in history.  Observing the company he founded lose out to its direct competitors will provide ample motivation to recapture consumer excitement.

The partnership of Gates and Nadella is exciting for many reasons.  It brings the future aspirations of the company (Cloud/Nadella) together with the founder who build it up into a global power (Gates).  It will certainly provide a boost for Microsoft and reaffirms it’s goal of becoming a Device and Services company.  Now they have people in place, leading the company, who can be considered experts in each of those facets.

Coin — One card to rule them all?

What is Coin?  Coin is a brilliant new technology that allows users to consolidate all of their cards into a single Coin card.  A Coin card is not your traditional credit card.  It is an electronic device the size of a credit card with a programmable magnetic strip.  Any card with a magnetic strip whether that be a debit/credit card, gift card or preferred customer card, can be put on your Coin card.

The Coin card works over Bluetooth and is paired with your phone.  Using your phone and an adapter supplied by Coin, a user swipes their cards which gets loaded into your Coin account.  When a debit card is neededCoin Credit Card instead of a credit card, make the selection on your phone.  The Coin app will send the information to your card and it will be ready for use with that specific card information.  Loose your phone or your card?  Have your wallet stolen?  That is OK.  Coin has security configurations that will deactivate the card automatically if it loses communication with your phone for too long.  It sounds as if Coin has thought a lot about security, at least from the physical security point of view.  What about digitally?

We live in a world where data breach is common.  A new story about a large company being hacked with customer information stolen seems to happen semi-regularly.  Many times the stolen data is not encrypted and this non-encrypted data contains anything from credit card information to email addresses.  Is it safe to put all of my banking, credit and preferred customer information in a single location?  It is a risky move to digitally putting all your eggs in one basket.  If Coin was hacked and your data was stolen what would happen?  It is essentially the same thing as having your entire wallet stolen.

Coin appears to be prepared for this.  Coin does not state what user data is stored with them but they do state all user data in the cloud, on the mobile app or on the card itself  is encrypted using at least 128-bit encryption.  In addition any information transferred via Bluetooth is also encrypted so personal data could not be used if it were captured during transmission.  This means that if the data is stolen from the cloud, phone or card it is virtually worthless without the decryption key.

Coin has put the right foot forward in their vision of plastic card consolidation.  The strong encryption shows they are serious about data security.  With the configurable lockout and deactivation features they are making every effort to physically secure the device from theft or being lost.  The technology being used is not new but the way it is being used is both new and unique.  If Coin is as secure as they claim and the concept takes off expect the popularity to grow exponentially along with the copy cats.  The card itself is still in pre-order and is set to be released this summer.  You can find out more about Coin here.

Create cross platform apps in C# with Xamarin

Xamarin and Microsoft have teamed up to make all other development platforms irrelevant.  Xamarin is the creator of popular cross platform development tools that allow developers to create iOS, Android and Windows applications all in C#.  With the launch of Visual Studio 2013, Xamarin and Microsoft announced a partnership that will significantly improve the experience of developing, maintaining and updating apps written for any of the major popular platforms (iOS, Android, Windows).

xamarinSome of highlights of this partnership include Portable Class Libraries, Visual Studio integration, Azure Mobile Services integration and licensing discounts with free training for all MSDN Subscribers.

Portable Class Libraries (PCL) are libraries of code that can be used in any of your projects.  PCL’s have made cross platform development easier than ever before.  By using PCL’s you can keep the specific platform code within their respective projects and keep the bulk of your logic within the PCL.  Using this method will speed up development, code maintenance and bug fixing considerably.

Previous to the Visual Studio 2013 partnership Xamarin came with its own cross platform development environment, Xamarin Studio.  While still very functional it was no Visual Studio.  Developers not familiar with Xamarin Studio would still have to take the time to re-learn the tools that were available to them.  Now with full Visual Studio integration developers can continue to use the tools they are already comfortable with as well as using the powerful Azure utilities when developing apps that require mobile services.

Windows Azure has become one of Microsoft’s fastest growing platform.  It has been experiencing 100% year over year growth and just announced it has been gaining 1,000 new customers per day!  Microsoft has built templates specific for Xamarin iOS and Xamarin Android apps so developers can simply download project templates with sample code prepopulated and making API calls to Azure!  Creating mobile services has never been easier.  For more information on this process, please visit this link.

The final point is one I’m considerably excited about.  Along with the Microsoft partnership Xamarin also introduced Xamarin University.  For .NET developers that would like to learn more about mobile development Xamarin University is a great place to look.  It provides live online classes, tutorials, labs and a certification exam.  If you are an MSDN subscriber you have access to Xamarin University for free!  A value of over $1400!!!  So sign up while there is still space.  Class starts January 20th!

Windows Azure updates for Web Sites

Web Sites are by far one of my favorite features on Windows Azure. As a developer, I didn’t like having to manage the infrastructure. Web Sites allow me to focus on my application and data and let the platform manage the rest. In the last couple of updates there have been a few improvements to Web Sites.

Some of the recent updates include:

  • WebSocket and Remote Debugging support.
  • TFS and GIT provide continuous integration and deployment.
  • Developer Analytics for Web Sites and Mobile Services.

I invite you to check out Scott Guthrie’s blog post for additional details. If you have any Windows Azure related questions please let us know!

Goodbye JavaScript, Hello TypeScript!!!!

There are many things developers hate about JavaScript.  You can see this with all of the different ways people are trying to “fix” JavaScript.  Here are a couple of the ways:

  • CoffeeScript is a language which is syntactically similar to JavaScript and attempts to expose the “good parts” of JavaScript
  • Google went ahead and wrote an entirely new language for dynamic web applications (“called Dart”) simply to get away from JavaScript.

Both attempts to divert from JavaScript have the same problems:TypeScript

  • They are entirely new languages.  Developers have to take the time to learn the language and become familiar with the way it works before they can really start to mold themselves with the language
  • There are so many JavaScript libraries available today that using these languages means you have to overlook many of the libraries available to you just to not use JavaScript.

Enter TypeScript.  TypeScript is a typed super set of JavaScript.  This means you are not completely putting JavaScript out to pasture, but you can also choose to use the elements of JavaScript (or libraries in JavaScript) you enjoy while adding strongly typed variables, objects, classes and interfaces.

What does this mean for developers?  For me it means a few things:

  • Finally the dynamically typed parts of the language can be used when preferred and I won’t have to learn an entirely new language
  • Typed languages are faster by nature, so when your TypeScript is compiled down into native JavaScript it will run faster
  • Typed languages will come with far superior IntelliSense.

On a larger scale this changes my development mindset.  In the past I would choose to invest heavily on the .NET aspect of applications.  Whether it be an ASP.NET forms application, SharePoint web part, Windows Phone or Windows 8 application; .NET is where I would want to do my development.  For web based applications that meant a lot of code behind and on occasion, being tied down by the ASP.NET page life cycle.  Suddenly I find myself more interested in writing Windows Phone 8 and Windows 8 applications in HTML/JS/CSS than using C#/XAML.

TypeScript is still very new (still in Preview) and it will not replace the code behind model entirely, but I feel it has the ability to alter the way ASP.NET applications are made, especially if given access to the .NET Framework.

How to: Setting up an HDInsight Hadoop cluster in Windows Azure

Edit: Part 3 using Mahout here

In my previous post I described the basics of HDInsight on Windows Azure and an example of what a Hadoop cluster can do for you.

Without further delay, lets build a cluster!  If you don’t already have a Windows Azure account go here and sign up (it’s free!!)

Setup

Login to your Azure portal and you will have a dashboard similar to this:

dashboard

If HDInsight is not initially on the dashboard simply add it by going here and selecting “Try it now” under “Windows Azure HDInsight Preview”.  After installing HDInsight should now appear on your dashboard.

To create a cluster select HDInsight; upon clicking “Create an HDInsight Cluster” you will be presented with the following screen. Read the rest of this post »

Windows Phone 8 and the battle for relevancy

Windows Phone 8 has been fighting for relevancy in the market since its release. It has slowly but surely gaining market share in the US and Europe has recently seen an explosion of WP8 adoption partially due to very low cost hardware.  Microsoft and Nokia have been continuously pricing their full featured phones lower than the competition in an attempt to drive adoption.  One of the main problems is their are not very many models of Windows Phones on the market, but that soon could change.  Bloomberg has reported that Microsoft may be interested in dropping the licensing fee to HTC all together in order to saturate the market with more Windows Phone devices.

general-screen-start-screenThe general belief is that Android is free for third party manufacturers like Samsung and HTC. when actually both companies (in addition to others) have licensing agreements with Microsoft to use technologies incorporated in Android on their phones.  Microsoft makes approximately $8 per Android phone sold on patent royalties that pertain to Android.  If Microsoft does indeed drop the Windows Phone 8 licensing fee for HTC then it is cheaper for HTC to sell WP8 phones than it is to sell Android phones.

Why would Microsoft do this?  How would they make money if they give their software away for free?  I can think of two big reasons for this.

  1.  Microsoft is having a hard time convincing 3rd party vendors like HTC, Samsung and LG to create Windows Phone devices.  This has no doubt become more difficult with the acquisition of Nokia and Microsoft needs its third parties to help make Windows Phone successful.
  2.  Like Google with Android, Microsoft will make money on the devices once people are using their services and buying apps in the Windows Store.  The more devices being used on the market using your services, the more money Microsoft makes.

Dropping the licensing fee is not the only detail worthy of news.  The report states that Microsoft is trying to convince HTC to allow customers to choose the OS they want on the device at purchase.  This would be an unprecedented move.  By giving users control over which OS to load on their phone, HTC no longer has to assume risking the design and manufacturing costs associated with an entirely new handset.  They can streamline their product lineup and sell both Android and Windows phones with minimal risk.

If the report is accurate this could be good for HTC, good for Microsoft and great for consumers.  Imagine receiving an HTC One (HTC’s flagship phone) with Windows Phone 8 pre-installed…