Top 3 experiences at SxSW 2014

  1. Game of Thones – “Ascend the Wall”

    Quite simply, stunning. A great use of Oculus Rift, wind machine and rumble floor. As someone who doesn’t like heights, I was surprised I survived (emotionally). Game of Thrones fans will love the way this connects them to the show / brand / location in a new way, beyond just watching from the couch. The exhibit goes on tour soon throughout the US – I recommend checking it out.

    Actress Maisie Williams of

  2. Samsung’s Galaxy Vine Studio

    With the rising popularity of Vine, Samsung cleverly played off the availability of the Vine app on Android by creating a small studio where “Vine Artists” created fun vine videos for visitors and their friends. The results were pretty cool and the process of creating the videos was appealing too – good win for their hardware and app store.

    Capture

  3. Lightwave at Pepsi

    I’m a a big fan of large, digital / physical installations. Pepsi commissioned a piece, in collaboration with Lightwave that visitors interact with via their brain waves (yup!). Their whole Art meets Data meme is spot on too – as millennial artists begin to gain cultural relevance, they will begin to create experiences that leverage technology more and more: non-interactive mediums will no longer be compelling enough for future generations.

Read More

Bezos waiting for Windows at the race of the bottom

I  like Paul Thurrott’s piece on Windows and the race to the bottom. It reflects Microsoft’s impatience to win in tablets and flip flopping between strategies that are long term (Windows 8 and addressing the high end market) and short term (price reduction). They have tried to compete with Apple and have come away licking their wounds and now are preparing for a battle at the low end. The reality is that Apple wins with it’s compelling devices and lock-in to valuable first & third party apps and services (iTunes, Spotify etc.), where it is super hard to compete without compelling market share and therefore monetization for publishers. Instead, they are now going to dip their toe into the low-end market, where Jeff Bezos and the Amazonians are waiting to wrestle them in the mud. Where margins are thin, Amazon will win – they are relentless in their pursuit of stickiness to their own services (Kindle, Amazon Instant Video, MP3, LoveFilm, Book store, Prime, etc.) where they make the most margin.

Oh and by the way, they have a pretty nice little shop front to sell their devices too.

Read More

Changing corporate culture

Much has been written about the changes afoot at Microsoft. The reorganization of the company, inclusive of the CEO change, will be the subject of business case studies and MBA courseware well into the future. With that backdrop, I found McKinsey & Company’s interview of Alan Mulally from November 2013 fascinating reading. Mulally is of course one of the supposed “final candidates”, (yesterday’s news about Mulally not withstanding), for the CEO position at Microsoft and his transformation of Ford is widely documented. With Microsoft having restructured from divisions to functional units, the first job any incoming CEO presumably is to instill a culture that reflects the new organization. This begs the question; how does Mulally view changes like this?

McKinsey: You’re widely credited with reshaping the culture at Ford. What’s different now?
Alan Mulally: At the heart of our culture is the One Ford plan, which is essentially our vision for the organization and its mission. And at the heart of the One Ford plan is the phrase “One Team.” Those are more than just words. We really expect our colleagues to model certain behaviors. People here really are committed to the enterprise and to each other. They are working for more than themselves. We are a global company, so we really have to stay focused on the work. There are so many people around the world involved in our daily operations that it has to be about more than a single person—it truly has to be about the business. Some prefer to work in a different way. Ultimately, they will either adopt the Ford culture, or they will leave.

Given the well-documented company DNA, this kind of approach might be exactly what the doctor ordered. This is why many believe that someone from outside the company is best suited for the role, even in a caretaker / temporary position, so that they can instill the culture that fits the functional structure and then stand aside to let the product visionary take over the reigns.

Disclaimer: Whilst I work at Microsoft, I have no insight into the CEO selection process. Of course, opinions stated on this blog are my own and discussed purely from an interest in macro business strategy and trends.

Read More

Unity support for Windows 8

image

Big news for game publishers today from the Unite conference, Unity announced support for Windows 8 & Windows Phone 8.

“Our mission at Unity has always been to provide solutions for developers to effortlessly bring their work to as many different platforms as possible,” said David Helgason, CEO of Unity Technologies, “The Unity community has been asking for access to Windows Phones and have been eagerly anticipating the release of Windows 8. We’re happy to announce that we will support both.”

[Article from Develop Online]

Good stuff!

We’ve also published some guidance for designing games on Windows 8, check out our “Designing great games for Windows” article to get a head start creating your next blockbuster!

Read More

Modeling User Satisfaction for in-flight wifi

I’m a frequent flier. When in-flight wifi first emerged about 18 months ago on airlines like Alaska and Delta, I was in heaven. I could be productive and stay in touch with colleagues, partners and friends whilst in the air. Fast forward to present day and the experience is unreliable, slow and almost impossible to use. I often just disconnect and ignore that it’s even available.

It got me thinking, at what point does the service level of in-flight wifi drop to levels where it degrades customer satisfaction, to the point where it almost makes more sense to not offer the service in the first place. I’d love to see that model.

Read More

Adobe: Omniture support for Windows 8 coming soon

Good news for app publishers given that measurement is so important, especially on new platforms where developers & designers are beginning to master the UX Guidelines.

Since the pub­lic announce­ment of Microsoft’s Sur­face tablet, my inbox has been flooded with ques­tions on when our Win­dows 8 app mea­sure­ment library will be avail­able.  I’m hop­ing this post will address those ques­tions and serve as a place for peo­ple to ask ques­tions or comment

Our Win­dows 8 library will be posted to devel​oper​.omni​ture​.com when it is ready and will be avail­able as a pub­lic beta until the pro­duc­tion release of Win­dows 8.  Cur­rent plan is to post the beta ver­sion by the end of July.  I’ll add the link to it in this blog post when it’s ready.  The library at gen­eral avail­abil­ity will be com­pat­i­ble with the full ver­sion of Win­dows 8 as well as the RT ver­sion for ARM devices.

Full blog post here.

Read More

Being emotional about London

image

I couldn’t help get a bit teary eyed on my flight from Austin to San Francisco today. United (whom I don’t fly with often, but enjoyed their service) and their Hemispheres magazine had a lovely piece on London, positioned as a city steeped in history, culture, art… yes I’m still talking about London, dear reader.

The thing that really got me was the history part. Having been in the USA for nearly four years, and living life at a frenetic pace, I’ve come to appreciate the history, the slower pace of European life amongst other things. The following paragraph filled me with a lot of pride and passion for London, it almost made me want to be back there, drinking a warm, dark beer and complaining about the cost of the Olympics. Oh, England, I miss you sometimes.

WITH THE OLYMPIC GAMES starting up later this month, the world’s eyes will turn to London. That is, if they ever turned away to begin with. The biggest city in Europe and the former capital of a vast empire, London offers in equal measure cutting-edge culture and a history so pervasive it’s almost impossible to comprehend.

Founded by the Romans nearly 2,000 years ago, London (née Londinium) endured plagues, invasions, wars, fires and other forms of upheaval and unpleasantness on its journey to become the capital of England, the center of the British Empire and, more recently, a global trendsetter in literature, music and fashion.

Today the city is vibrant, a financial powerhouse even amid an economically shaken European Union — but from the stately parks of Kensington to the bohemian haunts of the East End, the wide and low megalopolis affectionately known as “The Smoke” has lost none of the inimitable contrasts that have long defined it. It remains, as ever, London.

I feel obliged to admit that once I arrived in San Francisco, I upgraded my rental car to a real American muscle car… a Corvette, and nearly killed myself on the way to my hotel.

Read More

Windows 8 UX Fundamentals–Free Virtual Training

Metro style apps are the focal point of the user experience on Windows 8 Release Preview, and great Metro style apps share an important set of traits that provide a consistent, elegant, and compelling user experience.

With the first apps in the Windows Store, it’s exciting to see the designers begin to push the boundaries of the Metro design language on Windows 8. There’s plenty of innovation and beautiful apps to come, and if you want to learn how to get started, this free virtual training is perfect for you.

On 14th June from 9am to 5.30pm PST, the Windows User Experience Team will be presenting sessions on how to design great apps that leverage the full extent of the platform and adhere to UX guidelines. After this training, you will understand the tenants of a great app, how to think about information architecture, best practices for designing flexible layouts, touch, how to leverage contracts in the platform, and much more.

14th June, 9am-5.30pm PST – Event Agenda

  • Metro style design
  • Commanding, Information Architecture & Navigation
  • Designing for Touch, Mouse & Keyboard
  • Animations
  • Designing for view states
  • Designing apps with adaptive layouts
  • Using Contracts
  • Connected and Alive
  • Anatomy of an App: Case Study

Register today, you’ll be able to login to the event when we publish the event URL later this week. We’re looking forward to seeing you there!

Read More

Web Camps–30 new events in the calendar, seats going fast!

Web Camp SantiagoFlair001   DSCN5251

The Web Camps team has been busy working on organizing new events around the world and we’ve got a bunch of new events to share with you!  We’ve also been getting reports in on the first Web Camps where developers have been getting free training on how to build web applications using cutting edge technologies.

A couple of weeks ago the Chile team held their first Web Camp in Santiago!  The event was a big success with hundreds of developers learning about IE9, HTML 5, WebMatrix and Razor, ASP.NET MVC 3 and Silverlight!  On the other side of the world, the clip_image001[7]team in Karachi, Pakistan ran a Web Camp on ASP.NET MVC teaching the fundamentals to developers to get them started building web app.  Meanwhile in Seoul, Korea developers packed into the Microsoft office to learn about ASP.NET MVC too! 

We’ve got a bunch of new events planned all around the world covering a bunch of interesting technologies.  Check out the www.webcamps.ms website and the event list below for a sample of some of the events we have planned for you!

 

 

 
Web Camps India – Bangalore

On the 16th November Jon Galloway and I start out Web Camp India tour in Bangalore with a one day Web Camp covering ASP.NET MVC 3 where attendees can learn what’s new in the latest version of the framework, Razor as well as NuGet the package management tool for ASP.NET!  To sign up for this event register here!

Web Camps India – Hyderabad

Next, we travel onwards to Hyderabad and on 18th/19th we’ll deliver a two day event on ASP.NET MVC 3 with presentations and demos on the first day and fresh new labs on ASP.NET MVC 3 on day two to put your learning into practice! To sign up for this event register here!

 

Full Web Camps Calendar

The full calendar is maintained and updated here.

City

Country

Date

Presenters

Registration Link

Hyderabad

India

18-Nov-10

James Senior &
Jon Galloway

Register Here

Amsterdam

Netherlands

20-Jan-11

James Senior &
Scott Hanselman

Coming Soon

Paris

France

25-Jan-11

James Senior &
Scott Hanselman

Coming Soon

Austin, TX

USA

7-Mar-11

James Senior &
Scott Hanselman

Coming Soon

Buenos Aires

Argentina

14-Mar-11

James Senior &
Phil Haack

Coming Soon

São Paulo

Brazil

18-Mar-11

James Senior &
Phil Haack

Coming Soon

Silicon Valley

USA

6-May-11

James Senior &
Doris Chen

Coming Soon

 

City

Country

Date

Technology

Registration Link

Bangalore

India

16-Nov-10

ASP.NET MVC

Register Here

Paris

France

25-Nov-10

TBA

Register Here

Bad Homburg

Germany

30-Nov-10

ASP.NET MVC

Register Here

Bogota

Colombia

30-Nov-10

Multiple

Register Here

Chennai

India

1-Dec-10

ASP.NET MVC

Register Here

Pune

India

3-Dec-10

ASP.NET MVC

Register Here

Moulineaux

France

8-Dec-10

TBA

RegisterHere

Sarajevo

Bosnia and Herzegovina

10-Dec-10

ASP.NET MVC

Register Here

Bad Homburg

Germany

16-Dec-10

ASP.NET MVC

Register Here

Moulineaux

France

11-Jan-11

TBA

RegisterHere

Cape Town

South Africa

22-Jan-11

Web Matrix

Coming Soon

Johannesburg

South Africa

29-Jan-11

Web Matrix

Coming Soon

Tunis

Tunisia

1-Feb-11

ASP.Net MVC

Register Here

Cape Town

South Africa

12-Feb-11

ASP.Net MVC

Coming Soon

San Francisco, CA

USA-West

18-Feb-11

ASP.NET MVC

Coming Soon

Johannesburg

South Africa

19-Feb-11

ASP.Net MVC

Coming Soon

Redmond, WA

USA-West

18-Mar-11

Odata

Coming Soon

Munich

Germany

31-Mar-11

Web Matrix

Register Here

Moulineaux

France

5-Apr-11

TBA

RegisterHere

Moulineaux

France

17-May-11

TBA

RegisterHere

Irvine, CA

USA-West

10-Jun-11

ASP.NET MVC

Coming Soon

Moulineaux

France

14-Jun-11

TBA

RegisterHere

Read More

New PayPal Helper for WebMatrix

This week I’ve been at the PayPal Innovate Conference in San Francisco where Microsoft and PayPal have been talking to thousands of developers about the work we have been doing to create the easiest way to build apps that use PayPal for payments.  Today we are releasing the PayPal Helper for WebMatrix (in beta) which provides a simple way to do PayPal payments from the websites you build in WebMatrix.

What’s included in the PayPal Helper?

The helper we are shipping today, provides methods for the Button Manager API and Adaptive Payments API which are two of PayPal’s most popular APIs.  Here’s what PayPal says about both:

  • Button Manager APIs let you create, manage, edit, and delete Website Payments Standard buttons. Create payment buttons that let customers purchase single or multiple items, make donations, set up recurring payments, or buy gift certificates.
  • Adaptive Payments enable developers to build apps that process transactions. App builders can control the entire transaction within a single interface.
Downloading and installing the PayPal Helper
  1. Download and install WebMatrix
  2. Download the assemblies for the Helper (PayPal.dll, paypal_base.dll, log4net.dll)
  3. Create a new website or template in WebMatrix
  4. Create a bin folder off the root
  5. Copy and paste the assemblies into the bin
  6. You’re done!
PayPal Helper: Using Button Manager

Note – If you’re not familiar with the Button Manager API from PayPal, check out PayPal’s developer portal to find out more

The first thing you need to do is initialize the helper with your PayPal account credentials.  You can of course do this inline in the page, but the recommended option is to place the init call in your _AppStart.cshtml page so that it is called once when the app runs.  Here’s the init call code:

PayPal.Profile.InitializeBMProfile(
           “[API Username]”,
           “[API Password]”,
           “[API Secret]”,
           “sandbox”);

 

Next, to create a button on the PayPal side, call the method below.  When the Create AddToCart Button is fired, it returns the HTML code needed to display the button which we can then save to the database. We’ll typically use this HTML when we display the product detail page.

var payPalButton = PayPal.AddToCartButton.Create(
                                           Business : “[insert your sandbox account]”,
                                           ItemName : name,
                                           Amount : price.ToString(“N2”));

 

Now, if you login to PayPal (remember to use your Sandbox account if you have been using that) and click the “Profile” link and then “My Saved Buttons” under Selling Preferences, you will be able to see the button you have just created:

image

PayPal Helper: Using Adaptive Payments

Note – if you are not familiar with the Adaptive Payments service from PayPal, check out their developer portal for more information

I’m a big fan of the Adaptive Payment API because it has some cool features like Split Payments which allow you to pay other people “behind the scenes” without the customer knowing.  This is great if you have suppliers that you want to pay whenever an item gets sold through your online application but you don’t want to bother the customer with the details or let them know what you are paying your suppliers Smile

First up you’ll need to Initialize the profile, just like we did for Button Manager.  Here’s the code for that:

PayPal.Profile.InitializeFNProfile(               
       “ThreeToken”,
       “[API Username]”,
       “[API Password]”,
       “[API Key]”,
       “SOAP11”,
       “SOAP11”,
       “https://svcs.sandbox.paypal.com/”,
       “[App ID]”,
       “[PayPal User Email Address]”
   );

 

Next, we prepare the payment by setting up a single instance of a “receiver” which will the store that is receiving the payment.  After that we setup a list of receivers, which represents our suppliers (or other people that we need to pay after the transaction).  Up top I’ve done a quick calculation to give the supplier 10% of the product price, of course you would typically pull this information from a database where you stored the amount you want to pay them.

Once all that is setup we then call the PayPal.ChainedPay.Execute method passing in the receivers, an empty string (this is the sender of the payment – to be specified on PayPal’s side) as well as some information on the transaction. 

PayPal returns a response from which we can get a PayKey which represents the transaction on the PayPal side.  We then redirect the user to PayPal’s site, passing in the PayKey in the querystring so that PayPal knows how the transaction has been setup.

var supplierAmount = decimal.Round(product.Price * .10m, 2);
          
        var MyStore = new Receiver();
       MyStore.amount = product.Price;
       MyStore.email = “[Store Email]”;
        
        var Suppliers = new List<Receiver>();
       var Supplier = new Receiver();
       Supplier.email = “[Supplier Email]”;
       Supplier.amount = supplierAmount;
       Suppliers.Add(Supplier);

       PayPal.ChainedPay.Language = “en_US”;
       PayPal.ChainedPay.CancelUrl = “http://www.mystore.com/ohtoobad.cshtml”;
       PayPal.ChainedPay.ReturnUrl = “http://www.mystore.com/thanks.cshtml”;
       PayPal.ChainedPay.CurrencyCode = “USD”;
      �
       var response = PayPal.ChainedPay.Execute
           (MyStore, Suppliers, “”, “Test Payment”, “127.0.0.1”, “MyDevice”);
      �
       if (response == null) {
           Response.Write(“null”);
       }
       else
       {
           Response.Write(“full”);
       }   
      �
       var payKey = response.payKey;
       var redirectUrl = “https://www.sandbox.paypal.com/webscr?cmd=_ap-payment&paykey=” + payKey;           
      �
       Response.Redirect(redirectUrl);

 

This is what the consumer sees – note it’s just one line item to James’ test store.

image

Thanks to Chained Pay, the store sees this in it’s transaction log.  Note that our supplier has been paid automatically.

image

Open source

The code for the helper is based on the existing PayPal Base library for .NET that PayPal ship as part of the developer SDK.  This is already under the Apache license so it seemed natural to continue the tradition and release the helper in CodePlex under the Apache license.  You can download it here.

Future work

As this is a beta there’s a few items that we wanted to polish up for the final version.  

  • Remove dependency on Log4Net
  • Merge PayPal base assembly code with the new Helper assembly
  • Consolidate initialization methods for Button Manager and Adaptive Payments

As always please contact me if you have other suggestions, or leave feedback on the Codeplex project site.

Read More