You are here

Feed aggregator

ebook deal of the week: Microsoft .NET: Architecting Applications for the Enterprise

MSDN Blogs - Wed, 10/29/2014 - 08:25

List price: $35.99  
Sale price: $17.99
You save 50%

Buy

Make the right architectural decisions up front - and improve the quality and reliability of your .NET applications. Led by two enterprise programming experts, you'll learn how to apply the patterns and techniques that help control project complexity - and make systems easier to build, support, and upgrade - right from the start. This Second Edition features new deep dives on domain modeling, Command Query Responsibility Segregation (CQRS), and event sourcing models. Learn more

Terms & conditions

Each week, on Sunday at 12:01 AM PST / 7:01 AM GMT, a new eBook is offered for a one-week period. Check back each week for a new deal.

The products offered as our eBook Deal of the Week are not eligible for any other discounts. The Deal of the Week promotional price cannot be combined with other offers.

Understanding AzureML – Part 1: Regression

MSDN Blogs - Wed, 10/29/2014 - 08:16

This is a pull from my blog website:  www.IndieDevSpot.com Feel free to visit that site for more blog articles/posts or join the monthly newsletter.

To see the article on that website, please visit: http://indiedevspot.azurewebsites.net/2014/10/29/understanding-azureml-part-1-regression/

 

Hello World!

So I hope many of you have started using AzureML.  If not, you should definitely check it out.  Here is the link to the dev center for it.  This article will focus on a few key points.

  • Understanding the Evaluation of each Model Type.
  • Understanding the published Web Service of each Model

If you are looking for how to build a simple how to get started, check out this article.

The series will be broken down into a three parts.

Part 1: Regression

Part 2: Binary Classification

Part 3: Multi-Class Classification

So lets get started!

 

About the Data Set Used

The data set used is new car data from the sample Azure ML data sets.  We are predicting car price.  I let the Feature Selection Module pick the best 5 features to use, which it determined are: Engine-Size, Curb-Weight, horse-power, width and highway-mpg.

Important Values

There are a few important values to get to understand.

These are the metrics for a typical linear regression.  I have done my best to break them down to what each one is in common language, but I find with statistics that is very difficult.

  1. Mean Absolute Error: The absolute value (no negatives) of the difference between the predicated values and the actual values.  Can only be used to compare models using the same units.
  2. Root Mean Squared Error:  The sum of the differences squared and averaged.  Can only be used to compare models using the same units.
  3. Relative Absolute Error: Inverse of your coefficient of determination.  This represents the percent inaccuracy of your model.  Can be used across units.
  4. Relative Squared Error: Similar to RAE, except each iteration has the top and bottom squared.  Can be used across units.
  5. Coefficient of DeterminationThis is the best indicator in my opinion.  This number describes the percent accuracy of your model.  In the above example, you can see the first is .844, which is actually pretty good.  The second model is .905, which is even better!  The average % our model is off by.  1 – (Sum of Squares Error / Sum of Squares Total)

So here I have decided to grab my key indicators and explain how to use them for the common person (like myself).  I have put them in order of importance.

Metrics in importance order with whys
  1. Coefficient of Determination:  This is your number one indicator.  This needs to be as close to 1 as possible.  I try to shoot for .85 or better.
  2. Mean Absolute Error:  This is important, particularly for your particular units.  Lets assume that you are attempting to predict anything in the billions, reproduction of bacteria for example.  You may have a really good curve that is close on, however you could be off by a billion or so.  This could be a real issue.  When dealing with particularly large numbers, this can become even more apparent.  This is not your curvature accuracy, but rather your numerical average accuracy.
  3. Root Mean Squared Error:  If there is large dispersion of data, this can sometimes be better than Mean Absolute Error.  In that case, leverage this value in place of Mean Absolute Error.

That is all the values I use for regression as of today.  Maybe I will use more, but for every situation I’ve run in to, if I can get those 3 values within my acceptance threshold, my predications are pretty darned good.

Understanding Published Web Services

Alright, I’ve seen a ton of articles about this that are just completely wrong.  So lets set the record straight on how this actually works.  This is broken down into a few parts.

  1. Save your trained Model
  2. Create your inputs/outputs
  3. Publish the web service
  4. Understanding your request/response.
Save your trained model

We can see from the metrics above that one model is significantly better than the other.  Since the values that are better are on the bottom we will be picking the model that is the input on the right node of the evaluate module.  In our situation, this is a decision forest.  To save the trained model, you simply click the output node of the train model module and select “Save Trained Model”.

 

Building the Production System

Take note of your current inputs to the trained model. Write them down on a piece of paper. Then create a new experiment.  Add your initial data set again, along with a project columns, score model.  Instead of a new regression and train model module, add your trained model and pipe that into your Score Model.  Your experiment should look similar to below.

For project columns, start with no columns and include everything you used to train your model EXCEPT the values you are attempting to predict.  Note that you should have included your prediction value when training your model, but definitely not for your production system.  If somebody provides the price, what is the point in predicting it?

 

Create your inputs/outputs

Right click the right node of the Score Model Module and select “Set as publish Input”.  Right click the output node of the Score Model Module and select “Set as publish Output”.  Run your experiment.  It should look similar to below.

 

Creating and Understanding the Published Service

The publish web service button should now be available.  Click it and name your service.  If it is not available, you may have had an error in your run.  Fix the error and run again.

 

The Request

This should be simple enough to understand if you get JSON (I hope you do if you are working with web requests).

1 2 3 4 5 6 7 8 9 10 11 12 13 {   "Id": "score00001",   "Instance": {     "FeatureVector": {       "width": "0",       "curb-weight": "0",       "engine-size": "0",       "horsepower": "0",       "highway-mpg": "0"     },     "GlobalParameters": {}   } } The Response

For simple single value regression, the response is fairly straightforward to understand as well.  It comes back as a string array in the order width, curb-weight, engine-size, horsepower, highway-mpg, Scored Labels.  Where Scored Labels is the predicted value(s).

1 ["0","0","0","0","0","0"]

Note that if you don’t want width, curb-weight, engine-size, horsepower or highway-mpg returned, after your Score Model module, you can project columns and exclude all except Scored Labels and the only return value will be the predicted value.

 

Summary

I hope you all enjoyed this article and found it helpful.  Azure Machine Learning certainly reduced the bar to Machine Learning significantly, and I am extremely excited I only need to understand the gist of these metrics to produce powerful tools that can predict whatever I want.  Keep in tune for parts 2 and 3!

 

Epic Saga Chapter 3: Wherein I Try to Use Eclipse and the Android Emulator to Test My Cordova App

MSDN Blogs - Wed, 10/29/2014 - 07:55

This (shorter-then-usual) post is the third post in the series: Uploading Images from PhoneGap/Cordova to Azure Storage using Mobile Services

In the previous chapter of this saga I was sorely disappointed to discover that the FileReader method readAsArrayBuffer was not supported on Windows Phone, which effectively ended my quest to use my trusty Lumia 920 device to upload images to Azure Blob storage as a binary JPEG, which could be downloaded via URL. This won’t be a problem, I thought, although I owned neither an Android or iOS device. I was able to successfully use the Android emulator that is part of the Android SDK when I was working on push notifications to PhoneGap apps.

In an ironically timed turn of events, just that very morning the corporate IT folks had pushed down to my machine a security update to Java 1.7. While I had had no problems running both Eclipse and the Android emulator in the past, now neither would start for me. I spent an entire morning trying various combinations of Android Developer Tools, Android SDK and Java runtimes. At some point during this frustrating exercise, I recalled reading that the Multi-Device Hybrid Apps extension for Visual Studio included an Android emulator—and that it, in fact, installed the entire Android SDK. Buoyed again by hope, I began to install the new Cordova-based extension for Visual Studio. What happened then?

…stay tuned to find out in our next exciting (and much longer and more interesting) installment…Chapter 4: Wherein I Discover Ripple and the Multi-Device Hybrid Apps Extension for Visual Studio.

Cheers!

Glenn Gailey

Aggiornamento sui Mobile Camp di Venezia e Catania

MSDN Blogs - Wed, 10/29/2014 - 07:53

 

Il prossimo mobile camp in programma si terrà a Venezia il 4 Novembre, per questioni organizzative è stata modificata la location dell'evento: il mobile camp avrà luogo presso il Novotel di Venezia Mestre.

Ecco il link per tutti i dettagli e l'iscrizione gratuita: Venezia, 4 Novembre.

La tappa successiva sarà Catania, dove abbiamo in programma un evento di 2 giorni: 13 e 14 Novembre. Durante la prima giornata saranno presentate alcune sessioni teoriche dagli esperti Microsoft e dai membri delle community (di seguito il link per l'agenda delle sessioni, l'iscrizione gratuita e tutti gli altri dettagli: Catania, 13 Novembre), mentre la seconda giornata sarà interamente dedicata al laboratorio libero per lo sviluppo delle vostre app, sempre con il supporto degli esperti Microsoft e delle community locali (per informazioni, iscrizione e dettagli: Catania, 14 Novembre).

E dopo Catania, i mobile camp toccheranno altre città:

Non perdere questa occasione, devi solo scegliere la città più vicina a te!

NIU OMIS 351 Fall 2014

MSDN Blogs - Wed, 10/29/2014 - 07:52
Let’s do the pre-work to publish an app

Hello fall OMIS 351 Students.  Instructions for getting started and building your app can be found here: http://aka.ms/OMISPrework

Alien Halloween: New game and Video

MSDN Blogs - Wed, 10/29/2014 - 07:23

As you may have seen, I have tried to share my game templates with you. The entire purpose of this is to help you create your own games and give you a solid base for your own ideas.

Today I am going to share Alien Halloween with you.

With this game I took my own Roguelike Alien Template and made a few modifications to create my own Halloween themed game. During most of the process I recorded the steps I took to show you how you can use my templates to publish your own games.

So, without further ado here is the link to download Alien Halloween from the Store: http://bit.ly/alienhalloween 

And, of course, the video tutorial on how to use my Roguelike Alien Template 

 

 

Please let me know what you think of the game and enjoy.

The contents of the Start page are not programmatically accessible

MSDN Blogs - Wed, 10/29/2014 - 07:00

A customer wanted to know if is possible for an application to edit the user's Start page.

No, there is no interface for editing the user's Start page or even knowing what is on it. The Start page is the user's personal space and applications should not be messing with it.

Imagine if it were possible. Every application would edit the Start page to put themselves at the front!

It turns out that the customer wanted their application to make some changes to the user's Start page when it was installed. Specifically, they wanted to hunt down tiles belonging to their competitors and delete them, then insert a tile for the newly-installed program in exactly the spot the competitor's tile used to be.

In other words, somebody was looking to get a really nice bonus.

Internet of Things

MSDN Blogs - Wed, 10/29/2014 - 06:46

By now you probably have heard about the “Internet of Things” and its potential to change how we live, play and work.  Granted, it has become the most hyped buzz word replacing the Smart Grid and Big Data in my view. It’s kind of like vampires being out and zombies being in when it comes to TV shows and movies. My wife loves these new zombie shows for some reason totally unknown to me!

But unlike vampires and zombies, I can assure you that the Internet of Things (IoT) is real and we have written before about the work we are doing around the Internet of Things (IoT) here at Microsoft with examples such as: Delivering on the promise of the Internet of Things, Learn How the Internet of Things can deliver business value to Power & Utility Companies, Itron looks to the cloud for analytics and Accelerate Your Insights.

IoT is one of the most frequent questions I get from partners and customers as they are all looking for use cases and real life examples of how IoT is making an impact in real life.  I think one of the best examples that I have seen comes from ThyssenKrupp Elevator. As one of the world’s leading elevator manufacturers, ThyssenKrupp Elevator maintains more than 1.1 million elevators worldwide, including those in the new 102-story One World Trade Center in New York – the fastest in the western hemisphere. ThyssenKrupp teamed up with Microsoft and CGI to create ‘smart’ elevators. Using the Internet of Things (IoT), the solution securely connects thousands of sensors in ThyssenKrupp’s elevators that monitor cab speed, door functioning, shaft alignment, motor temperature and much more to the cloud, using the Microsoft Azure Intelligent Systems Service (Azure ISS). The system pulls all this data into a single integrated real-time dashboard of key performance indicators. These “smart” elevators are actually teaching technicians how to fix them, thanks to Microsoft Azure Machine Learning. It’s an amazing story and the scenario is applicable to many other industries including Power & Utilities. I strongly suggest that you view the case study video here and think about how the ThyssenKrupp scenario can be applied to your business.

Also, if you want to keep up with Microsoft’s work on IoT I would follow our official Internet of Things (IoT) blog as this is the place to discover how businesses are unleashing the potential of IoT by harnessing Microsoft’s cloud services, business intelligence and data analytics tools, and operating systems. May the Cloud be with You! – Jon C. Arnold

Could not load type ‘Microsoft.AnalysisServices.SharePoint.Integration.ReportGalleryView’

MSDN Blogs - Wed, 10/29/2014 - 06:04

If you ran into this issue, the first thing you need to do is check if the PowerPivot solution is deployed to the web applications. You  can do this by going to Central Administration > System Settings > Manage Farm Solutions and there you should see the solution powerpivotwebapplication.wsp. Make sure it is deployed to the correct web applications. If you are still running into issues, reinstall the rsPowerPivot addin on the frontend server where you are experiencing the issue. Uninstalling and reinstalling it makes sure all the dll’s are deployed correctly. Repairing the add-in in my case did not fix the issue.

Super simple load test trial experience

MSDN Blogs - Wed, 10/29/2014 - 05:59

In order to make it super easy for anyone to get a tiny taste of what the VS Online load test experience is about, we added a new web based experience a few days ago.

If you go to your account home page on any VS Online account, you’ll see a new top level tab.

If you click on it you’ll get a page that allows you to run a very simple load test.  You specify an url and some basic settings for how many users you want to simulate, how long you want the test to run, how fast you want your users clicking and what browser mix you want.  Then just click “Test now”.

It will then go off an acquire load test agents from our pool, configure the test and run it.

Once it’s done, it will digest all of the results and give you a simple analysis of your load test showing the average response time, # of requests per second and any errors encountered.

If you want to do “real” load testing you’ll need Visual Studio Ultimate to create complex load tests involving many pages and many steps per page, etc.  You also get access to a much more detailed analysis.

Check it out.

Brian

Visual Studio 2013 “The application cannot start” message, when running as administrator and after update 3 installed.

MSDN Blogs - Wed, 10/29/2014 - 05:14

 

I got a weird error when I updated my Visual Studio 2013 with the Update 3. When i try to run Visual Studio with the option “Run as administrator· i get the error message “The application cannot start

I don’t know the explanation for it but I sorted this out by:

  • Copy all the *.olb files located in  C:\Program Files (X86)\Common Files\Microsoft Shared\MSEnv
  • Paste them in the Ide visual estudio folder, in my case here: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE

Lunch Visual Studio with Run as administrator and then it should work. If anyone knows why, please comment the post!

 

Thank you!

Fehler 4FC08204-0000002C beim Publizieren von Anwendungen

MSDN Blogs - Wed, 10/29/2014 - 05:02
Hallo zusammen, wie auf dem App-V Tag gezeigt kann es beim Publishing von Anwendungen zu dem oben genannten Fehler kommen. In Folgenden Scenario kam der Fall zu uns: Benutzer melden sich an, bekommen alle Anwendungen. Melde sich ab – Profil wird gelöscht – Melden sich weider an und der Sync schlägt fehl. Hier sollte man natürlich nun das Problem weiter eingrenzen – beim Sync wird ein Add und ein Publish gemacht. Was schhlägt denn nun fehl? In dem Sceanrio kann es nicht das Hinzufügen sein – das die...(read more)

Get Started with Microsoft Azure Web Sites (MAWS)

MSDN Blogs - Wed, 10/29/2014 - 04:38

This is my first blog post and I am hoping to write a series of posts on Azure Web Sites. This blog post will provide some useful quick links to get started with Microsoft Azure Web Sites (MAWS). 

 

Microsoft Azure Web Sites (http://azure.microsoft.com/en-us/services/websites/) provides you with wonderful and easier means to host your content online across many platforms. The ease of scaling up the website based on the traffic/load, the various deployment options of the source code and piece of mind to not worry about the frequent updates to the different platforms/security patches are some of the highlights.

 

You can get started with a free trial for a month by signing using live account at http://azure.microsoft.com/en-us/pricing/free-trial/.

 

Once the new account is setup, you can access the portal at http://manage.windowsazure.com. There is also a new portal under construction which provides a different look at http://portal.azure.com.

 

Create your simple website easily by following the article http://azure.microsoft.com/en-us/documentation/articles/web-sites-create-deploy/. By default, the domain of the users looks like *.azurewebsites.net. The users can change to custom domain as discussed in the article  http://azure.microsoft.com/en-us/documentation/articles/web-sites-custom-domain-name/. Once the custom domain is setup correctly, you can also verify the DNS lookup using http://www.digwebinterface.com/.

 

Based on the storage and compute need, there are various website pricing offers (http://azure.microsoft.com/en-us/pricing/details/websites/) for you to scale the sites and there is also auto-scaling option if needed. 

 

The status of the azure websites and for updates on any issues can be checked at http://azure.microsoft.com/en-us/status/.

 

All the features of the Azure Website has been discussed in various articles in the Azure blog site http://azure.microsoft.com/blog/.

 

For any issues\clarifications with the websites, you can contact Azure Websites forum https://social.msdn.microsoft.com/forums/azure/en-US/home?forum=windowsazurewebsitespreview for inputs. Also, for any feedback on the features, you can write at http://feedback.azure.com/forums/169385-web-sites.

 

 

OneDrive предлага неограничено място за съхранение в облака за абонати на Office 365

MSDN Blogs - Wed, 10/29/2014 - 04:26

Крис Джоунс – 27 октомври 2014 г. 

Днес Office 365 сложи край на ограниченото място за съхранение. От този момент, всички абонати на Office 365 ще получават безплатно неограничено място за съхранение в OneDrive. Предложението важи от днес за клиентите на Office 365 Home, Personal и University и ще продължи и през следващите месеци, така че ако искате да сте сред първите, получили повече място за съхранение, отидете тук, за да го запазите. Междувременно, можете да се възползвате от огромния капацитет, с който разполагате и в момента, като активирате функцията за автоматично качване в албума от камерата на вашия телефон.

 

 Неограничено място за съхранение в OneDrive и Office с начална цена от 6,99 долара на месец

 За клиентите на OneDrive for Business, неограниченото място за съхранение ще бъде включено в пътната карта за Office 365 през следващите няколко дни и ние ще започнем да предоставяме актуализации за клиентите на първото издание през 2015 г., в съответствие с обещанието ни да уведомяваме за съществени изменения на услугите. Междувременно, започнете да използвате 1 TB място за съхранение още днес като архивирате всички работни файлове на компютъра си докато чакате още повече място за съхранение!

Въпреки че неограниченото място за съхранение е важен момент за OneDrive, ние вярваме, че истинската стойност на съхранението в облака си проличава само когато е неразривно интегрирано с инструментите, които хората използват, за да общуват, създават и да си сътрудничат както в личен, така и в професионален план. Ето защо неограниченото място за съхранение е само една малка част от обещанието ни да осигурим едно място за работа и личен живот, което помага на хората да съхраняват, синхронизират, споделят и да работят съвместно по всички важни за тях файлове, като същевременно отговаря на нуждите от сигурност и съответствие дори и на най-взискателните организации.

Развълнувани сме да продължим усилията си да превърнем OneDrive в световен лидер по отношение на съхранението в облака, както и ключова част от най-добрата услуга за производителност с Office 365. Ще дадем най-доброто от себе си! Очаквайте още вълнуващи съобщения през идните месеци.

 _

Крис Джоунс, корпоративен вицепрезидент, OneDrive и SharePoint

 

视频:我的非技术伙伴首次尝试Windows 10

MSDN Blogs - Wed, 10/29/2014 - 04:00

[原文发表地址] Video: My non-technical partner tries Windows 10 for the first time

[原文发表时间] 2014/10/23

您可能看过我在YouTube 上的关于如何做一名Windows 8 和8.1 的高效用户的系列视频。我为您做了一个简短的URL,您可以把它推荐给您的朋友和家人 http://hanselman.com/windows8.。它会带您转到一个YouTube的播放列表,这个列表包括了我使用Windows时最好的提示和诀窍。最受欢迎的是“3分钟之内学习Windows 8”,但是如果你正在寻求能使您或者您非技术出身的父母亲来使用时新的Windows 8,那么我推荐阅读“Windows 8: 缺少指导手册”。这个教程逐步得展示并且解释了一切他们需要知道的。

很多人说“Windows 8 不直观”。我想那是在狡辩,因为不熟悉和不直观之间还是有很大区别的。只需要您的几分钟时间,就会让您对 Windows更加“直观”。

不管怎么样,Windows 10即将到来。如果你有额外的机器,那么您可以在这里注册预览版。这还太早,所以请不能把它放到您的主计算机上。

我觉的展示一下聪明但非技术出身的妻子第一次接触Windows 10的经历是件很有趣的事情。这是她运行第一个 Windows 10 技术预览版经历的未剪辑录像。

我鼓励你看看它,她发现“新”功能的方式是相当有趣的,并且也学到一些早在Windows 7 上已有的功能。如果你曾经做了一个易用性测试,那么你会发现用户交互简直令人着迷。

再次,阅览并分享http://hanselman.com/windows8.

Hybride Windows Apps mit dem Web App Template – Teil 2

MSDN Blogs - Wed, 10/29/2014 - 03:12

Dieser Blogeintrag ist ein Teil von meiner Blog-Serie zu Web App Templates. Hier sind die Links zu den anderen Einträgen:

Hybride Windows Apps mit dem Web App Template – Teil 1

 

Das Web App Template (WAT) ist ein Open-Source-Projekt von Microsoft, die schnelle Erstellung von Hybrid-Apps für Windows 8.1/Windows Phone 8.1 und Windows Phone 8 ermöglicht. Die Visual Studio-2013 Vorlage gibt es auf http://wat.codeplex.com zum Herunterladen.

Es gibt einige Apps bereit im Windows-App-Store, die auf dem Web App Template basieren, z.B. River Island Clothing und Zoopla Property Search haben WAT-Apps auf Windows 8.1 und Zoopla Property Search auf Windows Phone.

Eine Webseite muss die folgenden Kriterien erfüllen, um als eine Grundlage für eine WAT-App zu dienen:

  • Funktioniert gut in Internet Explorer 11
  • Verwendet kein Flash oder Silverlight

Wenn die Webseite diese Kriterien erfüllt, sollte es technisch in WAT funktionieren. Allerdings werden die folgenden Richtlinien empfohlen, um ein tolles Erlebnis für den Benutzer zu liefern:

  • Mobile oder Responsive-Webseiten, die genauso gut bei einer Breite von 300px als auch bei 1920px funktionieren
  • Konzipiert für Touch-Eingabe
  • Gut organisiertes Mark-Up mit Verwendung von ID-Attributen und CSS-Klassen
  • Haben einen RSS-feed für die Live-Kachel (Blogs oder sozialen Netzwerken wie Twitter oder Pinterest sind möglich)

Um eine WAT Basis-App zu erstellen, müssen Sie nur ein bisschen über Windows App-Funktionen wissen und haben die Fähigkeit, eine JSON-Datei zu bearbeiten. Grundkenntnisse in CSS sind auch hilfreich.

In den meisten Fällen benötigen kein JavaScript oder C#. Nur JSON und CSS müssen Sie vielleicht anpassen. Die WAT-Vorlage hat die wichtigste Funktionalität bereits vorgefertigt und Sie müssen nur die config.json anpassen, um die App zu konfigurieren.

WAT-Apps sind vollständige Native-Apps unter der Haube und umhüllen jede Menge vorgefertigte Funktionen rund um die Webseiten. Das bedeutet, dass Sie eine WAT-App wie jede Native-App erweitern können. Die meisten beginnen mit einem standardmäßigen Config-App und fügen dann sukzessive native Funktionen hinzu. Die häufigsten native Erweiterungen sind:

  • Dynamische Navigation
  • Custom Live-Kacheln
  • Warenkorb
  • Verwendung von Hardware wie Webcams usw.

Hier sind die 2 wichtigen Ressourcen, um mit WAT-Apps anzufangen:

  • http://wat.codeplex.com: Hier können Sie den Quellcode und Installer herunterladen, an der Community rund um WAT teilnehmen, Anregungen abgeben oder Hilfe erhalten.
  • http://wat-docs.azurewebsites.net: Sie finden hier mehr detaillierte Info rund um WAT und wie Sie es verwenden können. Sie finden auch Dokumentation zu der Config.json-Datei und eine ausführliche Beschreibung der Funktionen und Info rund um hilfreiche Tools, um Bilder und Kacheln für die App zu erstellen.

 

Hybride Windows Apps mit dem Web App Template – Teil 1

MSDN Blogs - Wed, 10/29/2014 - 03:11

Wenn Sie mit einem Projekt anfangen, müssen Sie sich entscheiden, was für eine Art von App Sie schreiben wollen: Eine Möglichkeit ist eine Native-App zu erstellen, die speziell für eine bestimmte Plattform (iOS, Android, Windows) entwickelt wird und die individuellen Vorteile der Plattform nutzt. Eine andere Möglichkeit ist, eine Hybrid-App zu bauen, die bestehenden Web-Content nutzt und wichtige Native-Funktionen hinzufügt. Eine Hybrid-App ist eine Mischung zwischen Native- und Web-Code. Web-Inhalte werden teilweise dazu gerendert. Eine Hybrid-App verbindet das Beste aus beiden Welten.

Sowohl Native- als auch Hybride-Apps haben ihre Stärken und Schwächen und es gibt keinen richtigen oder falschen Weg eine App zu bauen. Sie müssen sich nur entscheiden, was richtig für das Projekt oder die Kunden ist.

Eine wachsende Zahl von Unternehmen investieren in ihre Webseiten, weil sie für den deutlichen Anstieg mobiler Geräten optimieren wollen. Diese Investitionen umfassen wichtige Design-Prinzipien wie Responsive- oder Adaptive-Design, das es Websites ermöglicht, die Darstellung auf dem Bildschirm optimal anzupassen. Viele Unternehmen sehen das Web als den kleinsten gemeinsamen Nenner, auf den Sie von fast jedem Gerät zugreifen können. In vielerlei Hinsicht ist das Web die ultimative Cross-Plattform-App.

Das Web über einen Browser hat seine eigenen Schwächen – z.B. die begrenzte Fähigkeit, eine direkte Schnittstelle mit dem Betriebssystem oder der Hardware zu verbinden, eingeschränkte Fähigkeit außerhalb des Browsers zu funktionieren, fehlende Offline-Unterstützung, usw. Hier können Hybrid-Apps helfen. Sie können das Beste aus der Web-Plattform herausholen und verbessern das Erlebnis durch die Nutzung von Hybrid-App-Funktionen. Ein weiterer wichtiger Vorteil für Hybrid-Apps sind die Kosten. Die Kosten für die Entwicklung und Aktualisierung einer Hybrid-App kann deutlich billiger als eine volle Native-App sein, weil der Großteil die Funktionen bereits auf der Website existieren.

Das Web App Template (WAT) ist ein Open-Source-Projekt von Microsoft, die schnelle Erstellung von Hybrid-Apps für Windows 8.1/Windows Phone 8.1 und Windows Phone 8 ermöglicht. Die Visual Studio-2013 Vorlage gibt es auf http://wat.codeplex.com zum Herunterladen.

Die Vorlage erstellt eine Native-App (HTML/JS für Windows 8.1 und Windows Phone 8.1 und C#/XAML für Windows Phone 8), die über eine Reihe vorgefertigter Funktionen verfügt, beispielsweise:

  • Webseite auf dem Haupt-Canvas der App einbinden
  • Live Kacheln mit Inhalt aus einem RSS-Feed
  • CSS- und JavaScript-Injections, um das Aussehen der Webseite in der App zu ändern
  • Native Nav-Bar und App-Bar für Navigation
  • Integration mit nativer Suche, Teilen und Einstellungen über die Charms
  • Redirect-Regeln steuern, welche URLs innerhalb der App bleiben und welche im Browser öffnen
  • Sekundäre Kacheln anheften

Eine JSON-basierte Konfigurationsdatei (config.json) steuert die ganze App und kontrolliert, welche Funktionen aktiviert sind und wie sie sich verhalten. Sie können eine vollständige Auflistung der JSON Optionen auf der WAT-Dokumentation-Webseite finden: http://wat-docs.azurewebsites.net/Json

 

Dieser Blogeintrag ist ein Teil von meiner Blog-Serie zu Web App Templates. Hier sind die Links zu den anderen Einträgen:

How to transform an automated business process into an intelligent business process using Dynamics and Azure ML

MSDN Blogs - Wed, 10/29/2014 - 02:33

Dynamics automates business processes. And does so cheaply and simply and you know that. But what if business processes could be made more intelligent instead of just automated. Automation among other things, brings consistency and improves productivity and you know that too. That’s why you want it. But intelligence could do all of that at a different scale and do it in real-time and could be flexible as business changes perhaps at a fraction of cost. By intelligence I simply mean that instead of a system making rule-based decisions such decisions are made using big data technologies in the cloud in real-time. This opens up the possibility of using various data sources including social data and the possibility of using computing power of the cloud.

Variety, velocity and volume of data is increasing at tremendous pace. Technologies to work with this data are being offered in troves and data is the new oil…. Now we have all been hearing about such possibilities for some time now. But are companies really using and
leveraging such technologies and are these really useful? Jury is still out.

However I will like to share with you our first successful story in Dynamics space.

This post will provide you with a real example of a LIVE customer that benefits from this approach. And perhaps will inspire you to think of scenarios where you can use it in your own business.

CASE STUDY

Let's call our customer Contoso. Contoso is the UK’s leading foodservice delivery and collection provider, supplying full- range of food stuffs across the UK. It is a leading supplier to Restaurants, cars, pubs, café's and schools. It delivers five thousand high-quality, affordable food products to over 45,000 different establishments.

CUSTOMER BACKGROUND

Food service in UK is a highly competitive industry with relatively low barriers to entry. Most players source & distribute low-priced, low-margin simple food products and kitchen supplies from similar set of manufacturers and sell them to similar type of customers in their own regions in UK. The low-to-medium price-range food service business cannot be profitable by differentiating on product quality or by cost cutting alone.

Contoso therefore deploys advanced technology to provide highly differentiated customer service and has managed to grow at higher than market rate consistently for past ten years. Because customers are fickle and there are no real costs to switching suppliers for them, to keep existing customers and to grow the customer base Contoso strives to delight customers by offering new services and reinventing existing ones with laser-sharp attention to detail.

Contoso uses Dynamics AX 2012 as the central source of truth for all its other applications. Contoso has two sales channels - both online portal and call center contribute to sales equally. Call-center is the traditional channel through which all of business was routed once upon a time but Contoso introduced online portal to stay ahead of the curve, reduce call center costs and make it possible for customers to place an order anytime anywhere. Call center agents use Dynamics AX to record call history and create sales orders. Call center agents make guided selling possible which improves customer service experience and can also help with up-sells.

Online portal allows the flexibility for customers to place their orders whenever they like. Product catalogue is pulled from Dynamics AX and shown on the portal, customers complete the order online which creates sales orders in Dynamics AX for warehousing and delivery processes.

Contoso's quest to improve customer experience led them to big data technologies. In the beginning they only had one key requirement - how to predict what a customer is likely to buy today given all their past purchases in the current and past months. This prediction
will allow them to present only those products on the main page. And you may ask what is the benefit of this? Does the benefit justify the cost of building a predictive model? The key benefit is that ordering time is reduced, user does not have to scroll on the page or go to other pages or search through the portal. Same applies in the call center scenario. In a B2B scenario where chefs or restaurant managers have to order food ingredients and kitchen supplies they need online almost daily from many different sources, shaving off a few minutes and making their experience with Contoso stand-out among the competition is a very significant differentiator. What impressed us was the attention to customer experience and how central customer experience is to Contoso's investment decisions.

And if the predictive model could not only be built using simple and inexpensive tools but also could be changed, tested, trained, deployed and consumed without any up-front investment - what more could Contoso ask for?

Awareness that such technologies are already being offered by Microsoft is low currently in the Dynamics world. And more importantly that the real business value of these technologies is only in lighting-up business processes which live inside Dynamics.

So from the first key requirement this project with Contoso is now at a stage where we provide a number of different services.

  1. We present next purchase
  2. We offer recommendations
  3. We analyse customer churn
  4. And then we classify customers value to
    the business

We build predictive models in Azure ML, we leverage Azure ML apps available in Azure marketplace and we call Azure ML services real-time from within Dynamics.

Purchasing history and clickstream data are collected and ingested into these models automatically.

There are various predictive models, some are trained weekly others are trained on the fly.

There is still some work remaining to make the data flow seamless and automatic and we are working on improving this.

Let's see each of the Azure ML services created in a bit more detail.

CUSTOMER CLASSIFICATION

Customers are classified into different levels based on a mining model built in Azure ML studio. This classification helps call-center agents in decision making. Going forward, we will base promotion offers on this dynamic customer classification.

CUSTOMER'S NEXT PURCHASE

Based on purchase history, customer’s next purchase is predicted and presented products on the portal and in call-center are ordered by likeliness to buy today. This prediction is based on a model built in Azure ML studio. Customer’s next purchase is expected to delight the customer by presenting what she needs on a given day. It also increases order taking efficiency.

RECOMMENDATIONS AS A SERVICE

Customer has been live for a month and we have seen consistently that 20% of all the provided recommendations are clicked on by the users which is a very high number given this is a B2B space and customers/users are busy people whose main focus is to get done with the
order quickly. Almost 5% of the items in the final shopping cart are coming from the recommendations provided. If this number continues to hold this would lead to about 5% sales uplift which is also very high. Customer's expectation is 1-2% lift in the long-term. For Contoso this translates to £1-2m lift. Contoso consumes about half-a-million prediction events per month.

Three types of recommendations are offered in real-time

Market basket analysis produces frequently bought together recommendation when customer choses to put an item into the cart.When user clicks on a product, a real time call is made to Azure ML. The Azure ML service returns the items that are frequently bought together with this item. Azure ML models do all the math on more than billions of possible combinations to show the most relevant items. The most significant benefit here is to help customer place the order quickly to make sure s/he is not forgetting something most people buy together with this item. 

Item-to-item recommendations are provided to the customer on the item landing page in the portal. When user clicks on an item to go to the item landing page, a real-time call is again made to Azure ML. The service returns other recommended items. These items are predictions based on what other users buy when they buy this item. Azure ML service not only recommends relevant items but makes sure that there is some novelty and diversity in its recommendations - nudging & subtly urging the customer to click. This helps in exposing the darker parts of the catalogue which the user may not be aware of. This not only can lead to upsells but also helps in bringing back the concept of guided-selling which Contoso lost to some extent when they moved half of their sales from call-center to the portal.

User-to-Item recommendations are provided to the customer just before she checks out both in the call-center and on the portal. Just before check-out another Azure ML call is made in real-time. This time user is recommended items based on the total basket of items user already has. Azure ML service here does what is referred to as "training on the fly", real-time personalization. This is unique to Azure ML.

CUSTOMER CHURN ANALYSIS

Contoso analyses monthly data to predict which customers are likely to churn in the current month. Sales department uses this information to call customers-at-risk and take necessary action.  

DISCUSSION

As you can see the sales order business process has been surrounded by a number of machine learning services at critical decision points - what product is this customer likely missing in the cart?, what product is this customer likely to buy today? What product is this customer likely to want if revealed to the customer? Should I offer this promotion to all my customers or to the ones who are likely to churn or to the ones who are rock solid customers? Customer wants a delivery slot that is reserved, should I offer that slot to him given that he is a  diamond customer for three straight months? This type of decision management capability is what transforms sales order process from merely being an automated process to an intelligent process. With the simplicity and affordability of Azure ML Studio and services in Azure marketplace Contoso can chose to stay engaged and continuously develop newer models to answer deeper questions about their business. For instance, say a particular product is recommended several times but gets rarely clicked by users, is it time to discontinue this product and save all costs related to the product. Or if certain recommended products consistently end up in the cart, is there some type of latent demand and perhaps more such products should be included in the catalogue? Or perhaps work in a different area for instance do text analytics on case history logs stored in Dynamics AX to identify customers who have complained often in the past or delivery drivers against whom most complaints have been registered or products against which most pre-orders have been placed.  

What has been achieved at Contoso with Azure ML and Dynamics working together cannot have been achieved if Contoso relied on Dynamics alone. For instance clickstream data being analysed to monitor consumer behaviour would not fit in a SQL database. The recommendations offered are predictions that need heavy computing capability and would be too expensive if were deployed on premise. The business changes quickly, new products, new markets, new customer requirements, new competitor offerings all require
Contoso to respond quickly - Flexibility and ease of modifying a model and redeploying a service using Azure ML studio makes this possible to do in few hours.

This is a case study of a successful Dynamics customer. We are closely monitoring Contoso and at the same time working simultaneously on a number of other projects. If you have a scenario you would like to discuss please reach out aksheyg@microsoft.com.

Like I said initially, the jury is still out. Success depends on identifying right scenarios, having the requisite skillsets etc. but clearly the opportunity here is endless - surround the business processes with various Azure ML services, perhaps at each decision point and transform your automated business processes into intelligent business processes. Manage your decisions consciously and not by accident.

You are welcome to join us for EMEA Convergence in Barcelona on Tue, Nov 4, 2014 to watch this in action at the keynote or later in afternoon session on Wed, 5th Nov 2014.

Contributors: Royi Ronen, Akshey Gupta

 

A straightforward Office 365 Training Guide made by teachers for teachers!

MSDN Blogs - Wed, 10/29/2014 - 02:00

One of the best sources of advice and tuition on a product are the end users who can speak from a position of experience and impartiality. That’s why we’re always pleased to pass on the findings and opinions of our customers, as more often than not the use cases they talk about will be applicable to a much larger subset of our existing and future users.

We recently came across a fantastic resource from the United States, put together by the Grant Wood Area Education Agency. This particular guide was designed to help when it comes to schools using Office 365.

In their guide you’ll find concise overviews, along with everyday usage tips for the following applications found within Office 365 for Education:

· OneDrive

· Word

· PowerPoint

· Excel

· Excel Surveys

· OneNote

We hope this resource from Grant Wood AEA is of use to you, and please feel free to share it with others who might find it helpful.

Office Pro Plus Benefit for Students

It is also worth remembering that any institution worldwide that licenses Office for staff and faculty can provide access to Office 365 ProPlus for students at no additional cost. As a result, more than 35,000 institutions worldwide are automatically eligible to deliver the package to their students.

Office 365 ProPlus includes all the familiar and full Office applications, such as Word, Excel and PowerPoint, and offers the ability for these to be locally installed on up to five devices and available offline.

Furthermore, when a school combines the Office Pro Plus Benefit with our other cloud services - Exchange Online, SharePoint Online and Lync Online - of which all are available complementary through Office 365 Education, students have access to the same set of productivity tools and services used by Fortune 500 companies all over the world.

A straightforward Office 365 Training Guide made by teachers for teachers!

MSDN Blogs - Wed, 10/29/2014 - 02:00

One of the best sources of advice and tuition on a product are the end users who can speak from a position of experience and impartiality. That’s why we’re always pleased to pass on the findings and opinions of our customers, as more often than not the use cases they talk about will be applicable to a much larger subset of our existing and future users.

We recently came across a fantastic resource from the United States, put together by the Grant Wood Area Education Agency. This particular guide was designed to help when it comes to schools using Office 365.

In their guide you’ll find concise overviews, along with everyday usage tips for the following applications found within Office 365 for Education:

· OneDrive

· Word

· PowerPoint

· Excel

· Excel Surveys

· OneNote

We hope this resource from Grant Wood AEA is of use to you, and please feel free to share it with others who might find it helpful.

Office Pro Plus Benefit for Students

It is also worth remembering that any institution worldwide that licenses Office for staff and faculty can provide access to Office 365 ProPlus for students at no additional cost. As a result, more than 35,000 institutions worldwide are automatically eligible to deliver the package to their students.

Office 365 ProPlus includes all the familiar and full Office applications, such as Word, Excel and PowerPoint, and offers the ability for these to be locally installed on up to five devices and available offline.

Furthermore, when a school combines the Office Pro Plus Benefit with our other cloud services - Exchange Online, SharePoint Online and Lync Online - of which all are available complementary through Office 365 Education, students have access to the same set of productivity tools and services used by Fortune 500 companies all over the world.

Pages

Subscribe to Randy Riness @ SPSCC aggregator
Drupal 7 Appliance - Powered by TurnKey Linux