Showing posts with label SharePoint 2013. Show all posts
Showing posts with label SharePoint 2013. Show all posts

Tuesday, January 08, 2013

LightSwitch HTML 5 Client Preview 2: OakLeaf Contoso Survey Application Demo on Office 365 SharePoint Site

OakLeafLogoMVP100pxContents:

The Visual Studio LightSwitch Team (@VSLightSwitch) released Visual Studio LightSwitch HTML Client Preview 2 for Visual Studio 2012 Standard Edition or higher to the Web on 11/12/2012. For more information about the Web release see the “LightSwitch” section of Windows Azure and Cloud Computing Posts for 11/14/2012+. The new SharePoint Apps model lets you build SharePoint 2013 apps with LightSwitch.

◊ Updated the Attempting to List SharePoint Apps in the Office Store Preview section on 1/8/2012 for the Office Store’s embargo on autohosted SharePoint apps, which renders moot the issue of inability to upload large SharePoint.app files due to timeouts.

†† Updated on 1/4/2013 the Attempting to List SharePoint Apps in the Office Store Preview section with current status of the inability to upload the required SharePoint.app file problem and added this link to the Running the SurveyApplicationCS Demo Project under Windows 8 RT on a Microsoft Surface RT Tablet and Running the SurveyApplicationCS Demo Project under Android Jelly Bean 4.2 on a Google Nexus 7 Tablet posts of 12/26/2012.

† Updated on 12/26/2012 the Supported Operating Systems and Browsers section with details of fix for Nexus 7 problems and the Attempting to List SharePoint Apps in the Office Store Preview section with lack of support from the Office Store or Dashboard Support Team.

‡‡ Updated 12/18/2012 with added Attempting to List SharePoint Apps in the Office Store and Issues with Bad Image URLs sections and report of support for Android tablets by SharePoint apps in the Supported Operating Systems and Browsers section below.

   Updated 12/11/2012 with details for using an Office 365 Enterprise subscription.
Updated
12/11/2012 with a link to download source code.
•    Updated
11/20/2012 with new articles marked about:

  • Operating Systems and browsers supported by LightSwitch HTML CLient Preview 2
  • The LightSwitch Client HTML API’s new ServerApplicationContext 

Introduction to the SharePoint Apps Model and Autohosting SharePoint Apps on Windows Azure

For more information about the SharePoint Apps model, see Scott Guthrie’s (@scottgu) demonstration of the Windows Azure and SharePoint 2013 underpinnings for the LightSwitch HTML Client Preview 2 in a 00:22:33 Scott Guthrie's Portion of the SharePoint Conference 2012 Opening Keynote video on YouTube:

image

Also see Scott’s Windows Azure and Office 365 post of 7/26/2012, which begins:

Last week’s Beta release of Microsoft Office 365 and SharePoint introduced several great enhancements, including a bunch of developer improvements. Developers can now extend SharePoint by creating web apps using ASP.NET (both ASP.NET Web Forms and now ASP.NET MVC), as well as extend SharePoint by authoring custom workflows using the new Workflow Framework in .NET 4.5.

imageEven better, the web and workflow apps that developers create to extend SharePoint can now be hosted on Windows Azure. We are delivering end-to-end support across Office 365 and Windows Azure that makes it super easy to securely package up and deploy these solutions. [Emphasis added.] …

image

The architecture of LightSwitch-based SharePoint apps is similar to that of Microsoft Access Web Apps as described in Andrew Steigmeier’s Get Started with Access 2013 Web Apps and Tim Anderson Gives Access 2013 Web Apps the Thumbs-Up posts from my Access in Depth blog.

Steve Fox (@redmondhockey) explained the difference between Autohosting and Provider Hosting of SharePoint Apps in his SharePoint and Windows Azure’s Interlude in Vegas: Building Apps using the Autohosted App Model post of 11/17/2012. Here are the slides from Steve’s "An Introduction to Windows Azure for the SharePoint Developer" presentation at the SharePoint Conference 2012:

Steve’s SPC 2012 presentation appears to have have been listed as “Windows Azure Basics for SharePoint Developers” with the following description:

If you are a Developer using SharePoint today, you may be evaluating Public Cloud services and how to take advantage of Cloud to build new apps or extend existing ones. Windows Azure is an open cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters. You can build applications using any language, tool or framework. Join us in this Session learn how you can use SharePoint and Windows Azure together – we’ll provide guidance and practical recommendations in support of optimizing your development experience.

See my Windows Azure-Related Sessions at the SharePoint Conference 2012 post for more Windows Azure content at SPC 2012


Download the SurveyApplicationCS C# Source Code

You can download the C# source code for the customized Visual Studio 2012 SurveyApplicationCS project here (from my SkyDrive account.)

Figure 7 - Belgian Waffles Photo Form


Prerequisites

image

HTML Client Preview 2 bits are included in the Microsoft Office Developer Tools for Visual Studio 2012 Preview 2 package (OfficeToolsForVS2012GA.exe). Installing the tools adds LightSwitch HTML Application (Visual Basic) and (Visual C#) templates to the LightSwitch group:

image

Tip: Chris Langohr, an SDET on the LightSwitch team reported an incompatibility between LightSwitch HTML Client Preview 2 and Resharper in a LightSwitch HTML Preview 2 installation issues thread of 11/16/2012 in the LightSwitch HTML Client Preview forum:

We did some additional digging and it appears that this problem is likely caused by an incompatibility between our HTML Client Preview and ReSharper. We were able to successfully reproduce the "Sequence" error that folks have been seeing. Uninstalling ReSharper cleared up the problem.

We are still investigating the root cause of the incompatibility between ReSharper and the HTML Preview but until we figure it out I recommend not using ReSharper alongside the HTML Client Preview.


imageTo build SharePoint 2013 apps with LightSwitch and the SharePoint Apps model, you must sign up for a free Office 365 Developer Site. Here’s the OakLeaf Team Site with the SurveyApplicationCS project published to it:

image

Clicking the SurveyApplicationCS link runs the App in your browser.

View the public OakLeaf Systems Office 365 Developer Site:

image

Many of this post’s images are included in my LightSwitch HTML Client Preview 2 Pinterest board.

‡ Update 12/12/2012: If you have an Office 365 Enterprise Preview subscription, you can enable deploying SharePoint apps to it by adding a Developer Site collection. On the Office 365 SharePoint administration page, choose Site Collections, New, Developer Site. Otherwise, LightSwitch won’t let you deploy apps directly to the page.


The LightSwitch Survey Application Tutorial

imageThe LightSwitch Team prepared a Survey App Tutorial: Developing a SharePoint Application Using LightSwitch (LightSwitchSurveyApplicationTutorial.zip, updated 11/15/2012), which contains LightSwitchSurveyApplicationTutorial.docx and LightSwitchSurveyApplicationTutorial.pdf, as well as C# or VB versions of SurveyTutorialFiles.sln.

Tip: If you use the tutorial’s C# version, be sure to copy source code from LightSwitchSurveyApplicationTutorial.docx, not the PDF version. My Contoso Tutorial's C# Code for PhotosController is Corrupted in PDF File thread in the LightSwitch HTML Client Preview Forum describes the problem with the PDF version.

From the tutorial’s Overview:

Contoso Foods is both a food manufacturer and distributor that sells a variety of products to grocery stores nationwide. Contoso Foods’ Sales Representatives play an important role in maintaining relationships with partner stores by frequently visiting each location to deliver products and conduct quality surveys. Quality surveys are completed for every product to measure the presence that the product has within the store. Typical survey data that is collected by Sales Representatives includes:

  • Cleanliness of the product display (ranging from “very poor” to “excellent”)
  • Quality of the product display lighting (also ranging from “very poor” to “excellent”)
  • Product location within an aisle (middle of aisle, end of aisle, or aisle end-cap)
  • Product shelf height position (top shelf, eye-level shelf, or bottom shelf)

In addition, as part of completing surveys, photos are taken of the product display to support the overall assessment.

On a weekly basis, Sales Representatives visit store locations to take product surveys. Currently, survey data is captured using a clipboard and pen, but this method is slow and increases the likelihood of transcription errors. Also, this method makes it difficult to take and attach photos to surveys. To address these problems, the sales team has decided to create a Survey Application that Sales Representatives can access from their tablet devices to easily collect survey data and attach photos that have been taken using their device. Specifically, the Survey Application will be an Office 365 SharePoint application created using Visual Studio LightSwitch. Key reasons for this approach are:

  • The sales team recently switched to Office 365 for internal email and collaboration, so Sales Representatives are already used to signing into the team’s SharePoint Online site to view customer contact information, marketing material, and customer invoices. Based on this, the team’s SharePoint site is the logical place to host and launch the Survey Application.
  • SharePoint Online offers easy access and management of images. SharePoint’s Picture Library automatically creates thumbnail and web optimized versions of images which improves performance when displaying photos within the application.

This tutorial will walk you through the steps for developing the Survey Application that Contoso Foods’ Sales Representatives will use for completing survey assessments.

Adding Survey Entities

Here’s the opening screen with two surveys completed for the logged in Sales Representative:

image

Note: The sample uses OAuth authentication managed by SharePoint.

Here’s the final design of the above AddEditSurveys page in Visual Studio 2012’s LightSwitch Screen Designer:

image

Note: I added the SurveyDate property to the Add Edit Surveys screen after capturing the image below.

Selecting an existing item displays editable survey record details:

image

Note: I added items for Trader Joe’s - Oakland and Trader Joe’s - Oakland, as well as some of my favorite Trader Joe’s products to the original lists in the ApplicationDataService_SampleData.cs file’s ApplicationDataService class.

A SurveyDate property with date and time picking controls is conspicuous by its absence in the above screen, so I added the property as noted above:

image

Notice the URL change from https://localhost/44301 to https://6a24c644-10c[d-4995-87e3-abdbf302e8e9.o365apps.net/Client/default.htm?SPHostUrl=https%3A%2F%2Foakleafsystems210%2Esharepoint%2Ecom&SPLanguage=en%2DUS&SPClientTag=0&SPProductNumber=15%2E0%2E4433%2E1003&SPAppWebUrl=https%3A%2F%2FOakLeafSystems210%2D2f2b174badc9b4%2Esharepoint%2Ecom%2FSurveyApplicationCS#c6af82dbf] as a result of uploading and deploying the app to SharePoint and running it from the link on the OakLeaf Systems Team Site page.

Clicking the Customer text box opens a pick list of Contoso’s customer names generated by the ApplicationDataService_SampleData.cs file’s ApplicationDataService class:
image
Clicking outside the pick list closes it.
Clicking the Products list opens a pick list of Contoso’s food products:

image

The last three items are some of my favorite Trader Joe’s products, which I added to the list.
Setting Default Entity Property Values with the New LightSwitch HTML Client APIs

Conventional (Silverlight) LightSwitch apps use the following code to set the current system date/time as the default value of the SurveyDate property:

image

However, the preceding code doesn’t work as expected because the entity is being created on the client, not on the server, and thus the Survey_Created() method isn’t invoked.

“The Entity and Screen created Events” section of the LightSwitch Team’s New LightSwitch HTML Client APIs (Stephen Provine) post of 11/13/2012 explains:

It is a very common scenario to configure defaults for new entities and screens. The June Preview provided no way to plug in code at the appropriate time to implement this. Preview 2 introduces the created event, allowing you to write code immediately after a new entity or screen has been created.

Suppose you have created a new HTML client project and designed an Order entity in the Entity Designer as follows:

Created1

Now, switch the perspective of the entity from “Server” to “Client” using the buttons at the bottom of the designer:

Created2

Having different entity perspectives is a new feature with Preview 2 and allows you to independently configure aspects of how an entity appears on the server versus a client. One of these aspects is code. Specifically, it allows you to write JavaScript-based entity code that can run in the browser instead of using C# or VB which can only execute on the server.

Now in the designer toolbar, locate the “Write Code” dropdown, open it, and click the “created” link. This will open a code file and output the event stub into which you can add some defaulting logic:

myapp.Order.created = function (entity) {
    // Write code here.
    entity.OrderDate = new Date();
};

The Write Code dropdown offers “created” as the only choice.

Following is the code added to a newly-generated Survey.js file:

image

The LightSwitch HTML Client API’s new ServerApplicationContext enables programming server entities with JavaScript on the client. For a detailed explanation of the ServerApplicationContext, see Joe Binder’s A New API for LightSwitch Server Interaction: The ServerApplicationContext (Joe Binder) post to the LightSwitch Team Blog of 11/19/2012.

Here’s the added default value after clicking the Add [Survey] button:

image

Thanks to Justin Anderson, a software development engineer on the LightSwitch team, for responding to my thread in the LightSwitch HTML Client Preview forum.

Uploading, Displaying and Deleting Photos

Clicking Photos displays tiled thumbnails of existing photos and enables uploading an image in common formats (*.png isn’t supported):

image

Clicking Upload Photos opens an eponymous dialog, which I widened to eliminate the need to to scroll right to uncover the Browse button:

image

Clicking Browse, navigating to a local image file, and clicking Open adds a thumbnail image to the Photos screen:

image

Clicking the thumbnail opens the full size image:

image

Clicking the Delete Photo button (hidden below the above image) lets you remove the image from the SharePoint list.

Clicking the Back button without clicking the Save (diskette) icon opens an Apply Changes dialog:

image


Supported Operating Systems and Browsers

‡/Technet’s Supported mobile device browsers in SharePoint 2013 article of 7/16/2012, which predates the release of LightSwitch HTML Client Preview 2, and updated on 12/4/2012 (after the release of LightSwitch HTML Client Preview 2) says the following about operating systems and browsers supported by SharePoint Server 2013 (and SharePoint Foundation 2013):

SharePoint Server 2013 provides browser support for multiple mobile devices. This article provides the list of supported and unsupported device browsers for SharePoint Server 2013 and Office Web Apps.

Mobile browser compatibility matrix

The following table [captured on 12/13/2012] provides updated browser support information for SharePoint Server 2013 and Office Web Apps based on the manufacturer’s operating system version:

image

[Emphasis added 12/13/2012/]


Support for Google Nexus 7 Android Jelly Bean 4.2

† Updated 12/25/2012: As of 12/21/2012 I could navigate to the https://oakleafsystems210.sharepoint.com default home page with the updated version, after interposing a Fiddler2 HTTP proxy on port 8888 on my development machine. Here’s the message where I received:

image

The message: Some apps, such as Get Started with Apps for Office and SharePoint, are not supported in Mobile View. Tapping on the title area can bring up navigation window [sic].

I believe the author meant pages, not apps.

Clicking the blue title area opened the following menu:

image

Clicking the SurveyApplicationCS choice opened the expected landing page:

image

My Running the Running the SurveyApplicationCS Demo Project under Android Jelly Bean 4.2 on a Google Nexus 7 Tablet post of 12/26/2012 describes the navigation process and problems with inserting photos uploaded from SkyDrive.

image Update 12/20/2012: Brooke Crothers asserted “Google is planning a Nexus 7 that could eventually go as low as $99, an Asia-based report claims” in a deck for his Google planning cheaper Nexus 7, report claims article of 12/19/2012 for CNet News, and noted:

Google and Asus are currently shipping about one million Nexus 7 devices per month, according to recent statements from Asus executives.


Support for Google’s Chrome Browser

I found no problem with the latest Chrome browser version 23.0.1271.97 running on Windows 7, as shown here after logging in and redirection to the app:

image


Issues with Bad Image URLs

I used the same login with a Windows 8 client as the original under Windows 7. Here’s the landing screen in Windows 8, which displays the expected customers and products for my user account:

image

However, selecting Belgian Waffles and clicking the Photos link displayed Invalid Image URL error messages:

image

Closing the app, reopening it, and navigating to the same product displayed the expected photos:

image


Attempting to List SharePoint Apps in the Office Store Preview

image

The Office Store, which is similar to the Windows Store for Windows 8 apps, enables ISVs and individual developers to distribute free or paid SharePoint apps to Office 365 subscribers and SharePoint 2013 clients. Vivek Narasimhan announced ­­The Office Store is now open! in an 8/26/2012 post to the Apps for Office and SharePoint blog.

Submitting an app to the Office Store Preview follows a simplified version of the process for the Window Store, described in my Windows Azure Mobile Services Preview Walkthrough–Part 4: Customizing the Windows Store App’s UI post of 9/15/2012 and Windows Azure Mobile Services Preview Walkthrough–Part 5: Distributing Your App From the Windows Store of 9/22/2012.


On 1/8/2012, I learned from a member of the Commerce UX team that even if I was to be able to upload the SharePoint.app file, the Office Store team would reject it because it's autohosted in SharePoint.

To quote my Office Store Embargoes Autohosted SharePoint Apps for Indeterminate Period thread of 1/8/2012 in the Developing Apps for SharePoint 2013 forum:

From an obscure paragraph in Validation policies for apps FAQ:

"Can I submit an autohosted app for SharePoint to the Office Store?


The infrastructure for autohosted apps will remain in preview status for a period of time after SharePoint 2013 releases. Autohosted apps (which includes all apps that depend on Microsoft Access) will not be accepted by the Office Store during this preview phase. [Emphasis added.]

For more information on autohosted apps, see How to: Create a basic autohosted app in SharePoint 2013."

I assume that the author of the foregoing forgot to include Visual Studio LightSwitch HTML 5 Client Preview 2 and Windows Azure Mobile Services with the Microsoft Access reference.

This issue kills any chance devs have to work through the issues of developing and certifying SharePoint apps that use LightSwitch HTML 5 Client Preview 2 and Windows Azure Mobile Services in the configuration demonstrated by Scott Guthrie at the SharePoint Conference 2012.

In addition, the Commerce UX team member pointed out that you must edit the the app manifest to specify which locales are supported by your app for SharePoint or the Office Store team won’t certify your app. From Ricky Kirkham’s Locale support information is required for all apps in the SharePoint Store post to the Apps for Office and SharePoint blog of 10/12/2012:

Hi, I'm Ricky Kirkham from the developer documentation team for SharePoint 2013. I'd like to let you all know how you can use the app manifest to specify which locales are supported by your app for SharePoint. You are required to specify supported locales, or your app will not be accepted by the SharePoint Store.

The <Properties> element of the app manifest must always contain a child element that identifies the locales that the app supports. For the final release version of SharePoint 2013, the element is <SupportedLocales> and it must have a <SupportedLocale> child for every locale that the app supports, even if there is just one locale. Note that you identify the locale with the CultureName attribute. The value of this attribute is a locale identifier in the Internet Engineering Task Force (IETF)-compliant format LL-CC. The following is an example.

<App … >
  …
  <Properties>
    …
    <SupportedLocales>
      <SupportedLocale CultureName="en-us" />
      <SupportedLocale CultureName="ja-jp" />
    </SupportedLocales>        
  </Properties>
  …
</App>

There are a couple of small, and temporary, extra points to know. First, for an undetermined period of time after the release of SharePoint 2013, the SharePoint Store will not have any UI to tell potential app purchasers which locales are supported by your app, meaning that all users will assume that all apps support the en-us locale. But, if you have localized your app for other locales, you should include them in your <SupportedLocales> element so that you will not have to upload a new version of the app when the store's UI is expanded.  And, so that users will automatically start seeing more locale options for your app when the UI supports this.

Second, if you have signed up for a SharePoint Online developer site, please note that it might not be converted to use the release version of SharePoint 2013 for a few weeks after release. While your developer site is still based on SharePoint 2013 Preview, you have to use the <SupportedLanguages> element instead of the <SupportedLocales> element. The SharePoint
Store will accept either element for now, but will switch in the future to allow only the SupportedLocale element.

The <SupportedLanguages> element has no child elements or attributes. Its value is a simple semi-colon delimited list of locales. The following is an example.

<App … >
  …
   <Properties>
    …
    <SupportedLanguages>en-us;ja-jp</SupportedLanguages>        
   </Properties>
  …
</App>

The <SupportedLanguages> element will continue to work even on the release version for some time, but it is deprecated in favor of <SupportedLocales>, so on new apps you should Always use <SupportedLocales>. And if you have a reason to update an app that uses <SupportedLanguages>, we recommend that you switch to <SupportedLocales> as part of the
update.

I hope this post helps your apps sail smoothly through the submission process!

Not much hope for autohosted apps, Ricky.


Clicking the Publish to Office Store tile on Office 365 Developer Edition’s default Get started with Apps for Office and SharePoint page opens a Dashboard page with links to Preparing Your App for Submission to the Store and Log in to the Seller Dashboard topics:

image

When you log in to the Seller Dashboard with the Windows Account (formerly Live Id) you used for a Windows Store account, the Dashboard will use some of the data from your Windows Store account, but will require account approval before you can submit an app:

image

Clicking the Add a New App button opens the New App Listing Type page with three Office app types and two Windows Azure types:

image

Selecting App for SharePoint and clicking Next opens the Overview page:

image

When this update was written, I was unable to add and save apps as drafts without an approved account because uploading the SharePoint.app package failed on repeated attempts with the following message:

image

†† Update 1/4/2013: I was contacted on 1/2/2013 by a member of the Office Store’s Seller Dashboard UX team who determined that the dashboard was timing out because of the large size of my SharePoint.app file (21 MB, available for download and inspection here) I was attempting to upload over my AT&T DSL connection. SharePoint.app is a *.zip file with the extension renamed. The reason for its extreme girth is that it incorporates the \Bin\Debug and \Bin\Release folder contents of the Visual Studio 2012 project:

image

I will update this post when the Dashboard UX team provides a workaround or solution to the problem.

† Update 12/25/2012: I have received no further assistance from Office Store support or any contact with the Seller Dashboard Team. I will update this post if I ever receive any assistance from them.

Update 12/19/2012 PST: A customer support representative responded to my problem report with a request for the above screen capture on 12/18/2012 at 3:33 PM. Microsoft’s Philip Rucker responded to my Is the Office Store Really Open for Business with SharePoint Apps? thread in the Developing Apps for SharePoint 2013 forum on 12/18/2012 as follows:

I have forwarded your issue to the Seller Dashboard Team, who will be looking into it.

Office Store support hadn’t responded by 12/18/2012 to my support request of 12/15/2012, despite the promise of one business day response. I fine another support request for this problem on 12/18/2012.

My account was approved on 12/18/2012, but I still receive the same error when attempting to upload the SharePoint.app file for this app.


Conclusion

It takes only an hour or two to complete the tutorial, which is a minor investment when you consider the dividends you reap in learning how LightSwitch HTML clients and SharePoint Apps work together with Windows Azure and how easy it is to create them. The tutorial files also demonstrate JavaScript and JQuery code.

The Office 365 team should expedite is support for Android-powered tablets in order to increase the potential for sales of SharePoint apps in the Office Store.

I recommend waiting for the Office Store to fix its problems with uploading SharePoint.app files before attempting to market commercial apps.


Friday, January 04, 2013

Running the SurveyApplicationCS Demo Project under Android Jelly Bean 4.2 on a Google Nexus 7 Tablet

imageMy (@rogerjenn) LightSwitch HTML 5 Client Preview 2: OakLeaf Contoso Survey Application Demo on Office 365 SharePoint Site post updated 12/25/2012 describes the SurveyApplicationCS, a SharePoint App with a Visual Studio LightSwitch HTML Client Preview 2 client UI autohosted in Windows Azure.

• Updated 1/4/2012 the with need to interpose Fiddler2 running on my development PC as a proxy server to run the app. The “Debugging This Application with Fiddler2” section below describes setting up Fiddler2 pro as a proxy server and specifying its address with the Nexus 7 Settings app.

imageI purchased a 32-GB Nexus 7 tablet when Google made them generally available in late June 2012. My interest in the product stemmed from the desire to gain familiarity with the Android operating system without the need to enter into an extended cellphone contract or pay a premium for an unlocked Android cellphone. My wife and I are satisfied Verizon feature-phone customers with LG VX8360s on a low-cost plan.

My attempts to run SurveyApplicationCS from https://oakleafsystems210.sharepoint.com failed until 12/21/2012. On that date, by interposing a Fiddler2 proxy server, I finally was able to log in to OakLeaf Systems’ SharePoint Online Developer Edition site:

image image
The message reads: “Some apps, such as Get Started with Apps for Office and SharePoint, are not supported in Mobile View. Tapping on the title area can bring up navigation window [sic]” (right). Tapping the blue title bar opens the OakLeaf Systems Team Site’s main menu with a link to the SurveyApplicationCS demo’s landing page (below left).
     
image image
Tapping the Add button lets you add a survey (right). Tapping a My Product Surveys List item opens the main page with a products list for that customer (below). The Add New Survey page lets you select from predefined lists of customers and products, as well as shelf positioning and survey year, month, day and time of day.
     
image image
Tapping the Photos button opens the Photos screen with thumbnail tiles for previously uploaded images (right). Tapping a tile opens a larger photo facsimile (below left). The Full Image Url data is for troubleshooting.
     
image image
Tapping Delete Photo opens a confirmation form. Closing the photo and tapping Add Photo open a Choose an Action form (left). Tapping the SkyDrive app tile opens the shared folder list (below left). Both SkyDrive and Google Drive apps are installed.
     
image image
Tapping a folder item opens tiles of available images (right). Tapping the desired tile should but doesn’t add the image to the SharepPoint list. I receive a “Failed to upload image” message (see Problem 1).
     
image image
If you add new or edit existing items without clicking the Save button, the Apply Changes form lets you select the appropriate action before you leave the screen. If your session times out, you’ll receive a “You do not have permission to view this directory or page” message or see the above screen (see Problem 2.)

Problem 1: It’s surprising that a tile for Google Drive doesn’t appear in the Choose an Action form. All the above screenshots were uploaded to Google Drive with the Drive app. I don’t know whether Android, the SkyDrive app or the SharePoint App framework is responsible for inability to upload new images. (The Nexus 7 has only a front-facing camera, so it isn’t suited to in-store photography.)

A temporary workaround for this problem is to copy the necessary image files to the Nexus 7’s Internal Storage\SkyDrive\Downloads or similar folder, and then specify Gallery when choosing the path for the Upload Control.

Problem 2: This message will appear when you click the blue Site Pages: DevHome title bar and select the SurveyApplicationCS menu choice after your SharePoint session has timed out. Rebooting (Power Off) the Nexus was the only solution I found for this problem. I can’t determined whether the SharePoint App framework or Android is responsible for the timeout problem. The present timeout setting is way too short.

I’ve alerted Joe Binder of the Visual Studio LightSwitch team about these problems for further investigation.


Downloading OakLeaf’s SurveyApplicationCS Source Code

You can download the C# source code and a copy of the current (v2.2.11.0) SharePoint.app file for the customized Visual Studio 2012 SurveyApplicationCS project here from my SkyDrive account. Click here for Visual Studio project prerequisites.


Debugging This Application with Fiddler2

Until the LightSwitch HTML 5 Client team fixes the authentication problem on Nexus tablets, you’ll need to set up Fiddler2 as a proxy server on your development machine as described in the article linked below.

Fiddler2’s Configuring Android / Google Nexus 7 pages provide details to:

Get Traffic to Fiddler

Fiddler runs as a proxy on port 8888 on your Windows PC; you can easily proxy traffic from your Google Nexus device through Fiddler to debug it.

Note: The "Device Debugging" topic is covered in greater depth in the Fiddler Book. …

Decrypt HTTPS

After you have basic proxying working, the next step is to get HTTPS decryption working. …


Some Recent Nexus 7 Kudos

Dan Lyons claims Android Now 'Outshines iOS In Almost Every Aspect' in a 1/4/2013 post to the ReadWriteMobile blog:

Android Now 'Outshines iOS In Almost Every Aspect'

Ralf Rottmann is CTO and co-founder of Grandcentrix, the largest mobile app developer in Germany. He's also a hardcore Apple fanboy who has a house full of Apple products and more than 8,000 songs purchased on the iTunes store. He's tried out every big Android phone and found each one wanting.

But suddenly things have changed. He just got a Nexus 4, the flagship Android phone made by LG and running Jelly Bean, the latest version (4.1) of Android. And since switching it on two weeks ago, he hasn't touched his iPhone 5.

"When iOS 6 came out, for the first time I complained about the lack of innovation in this major new release. I asked myself whether we might see Apple beginning to lose its lead position in mobile platforms," Rottmann writes in an essay on Gizmodo.

Rottmann goes on at great length and great detail about all the ways, big and small, that Jelly Bean outguns Apple's iOS 6. The only thing he misses, he says, is iMessage.

Sure, he's just one guy. But he's a significant guy. And more and more people like him, from all around the world, are coming to the same conclusion.

Meanwhile, Back In Northern California

Nevertheless, in Silicon Valley the conventional wisdom still seems to be that the only people who use Android phones are people who are too cheap or too poor to buy an iPhone. There's a myth in the Valley that Android phones are bargain basement devices, and that people who use them aren't very tech savvy and don't really do anything with them. It's all pure FUD.

There's also this persistent myth the iPhone has some kind of lead. It doesn't. Not in terms of market share, not in terms of engineering, not in terms of design, not in terms of software, not in terms of maps, not in terms of voice recognition, not in terms of performance. In almost every way, the iPhone has been smoked.

(The one exception is profit. Apple is exceedingly profitable and rakes in obscene margins on the iPhone. But that's because Apple has been milking the same platform for years, selling last-generation hardware and investing too little in software. Apple spends a mere 2% of its revenues on R&D, far less than its rivals. Now those chickens are coming home to roost.)

Nevertheless, Valley folk continue to cling to their iPhones, even as their phones get eclipsed by Android.

Consider this article by Liz Gannes of AllThingsD who says 2012 was "the year I stopped using Apple's iOS apps." She's mostly embraced Google's apps, which she admits are better than Apple's.

The question then becomes, If you like Google's software, and why are you still using the iPhone? "I think iOS is a very nice operating system," Gannes writes.

The real answer, I think, is that old habits die hard. Out in Silicon Valley, Apple is the hometown team, and the iPhone, when it came out, was a very big deal. It was truly unique. But it's not anymore.

The rest of the world has figured that out. For once, Silicon Valley is playing catch-up.

Image courtesy of Reuters.


Erick Mack (@EricCMack) reported “Former Mac evangelist Guy Kawasaki says he's purged all iOS devices from his life” in a deck for his Former top Apple fanboy now rocks all Android devices article of 12/12/2012 for C|Net News:

imageKawasaki was quoted in ReadWrite saying he no longer uses any Apple mobile products:

"I fell in love with Android on the smartphone, and then I got a Nexus 7 and started using Android on the tablet as well... To me the great irony is that Apple's slogan was 'Think Different,' but today if you think different you're looking at Android."

Kawasaki says he sees no reason to switch back to iOS now that the iPhone 5 has LTE and the iPad Mini offers a similar form factor to the Nexus 7.

imageToday he says he uses a Samsung Galaxy S3 and loves the fact that he can use the same cable interchangeably between his Nexus 7 and GS3.

"What a concept! A standard cable," Kawasaki said.

See my Get the Right On-The-Go (OTG) Micro-USB Cable for Nexus 7 Tablets post of 12/22/2012 regarding “A standard cable.”

imageLindsey Turrentine (@lturrentine) asserted “CNET editors unveil the 10 best and most influential tech products of the year” in a deck for her Galaxy S3 beats iPhone 5 for best device of 2012 article of 12/11/2012 for C|Net News:

3. Google Nexus 7, the superior small tablet
imageCertainly not the first 7-inch tablet on the market, Google entered the fray with the Nexus 7 in 2012 and left the competition behind, struggling to differentiate themselves. The tablet's native, streamlined Android 4.2 OS -- flexible and open but friendly -- paired with a vivid 1,280x800-pixel-resolution screen and $199 price make it the best small tablet, period. (Read the full Nexus 7 review.)

4. iPad Mini, the luxury latecomer
The iPad Mini arrived so late to the small-tablet race that the competition had already left the starting blocks and rounded the bend. Playing catch-up to the Nexus 7, Kindle Fire HD, and Nook HD proved difficult for the Mini, especially with a lower-resolution screen and significantly higher price than the rest. In spite of those handicaps, Apple's latecomer earns an impressive silver in the tablet race, thanks to its slighly-wider-than-average screen, fantastically light weight, and impeccable fit and finish. (Read the full iPad Mini review.) [Emphasis added.]

Lindsey: The #2 selection (iPhone 5 in this case) usually receives the silver medal, but the Nexus 7 is #3 while the iPad Mini is #4. Which is it?


Popularity of Tablets

Ryan Kim (@oryankim) reported Christmas Day: tablet activations outpace smartphones in a 12/27/2012 article for GigaOm’s Mobile blog:

imageChristmas Day, the biggest day for mobile device activations, lived up to its billing, said Flurry, which noted that device activations hit 17.4 million devices, up from 6.8 million a year ago. Tablets edged out smartphones for activations.

FlurryChristmas Day was huge — not just for present-hungry kids, but also for app developers and device makers. App analytics firm Flurry has tallied up the numbers from Christmas and found that downloads and activations shattered previous records, showing how people love their apps and are increasingly embracing tablets.

Device activations on Flurry’s network hit 17.4 million units, up 332 percent over the first 20 days in December, which represented a baseline of activity. That blew away last year’s mark of 6.8 million new device activations on a single day, said Flurry.

imageTablets were apparently the hot gift item, grabbing 51 percent of mobile device activations. This was the first Christmas that tablets edged out smartphones for activations. During the first 20 days of December, smartphones were activated four times more often than tablets.

FlurryFlurry noted that the most popular devices were iPads, Apple iPad Minis and Amazon Kindle Fire HD 7-inch tablets, and that Amazon in particular had a good Christmas, increasing its tablet activations by several thousand percent over its baseline during the first half of December. The big increase in Christmas tablet sales may reflect the falling price points of tablets, which are becoming more affordable with smaller 7-inch models.

FlurryWith all those new devices, it’s no surprise that app downloads soared on Christmas Day. Flurry said there were 328 million app downloads that day, up 112 percent over the baseline. That flew by last year’s record of 242 million app downloads. The download parade was steady all day long, hitting about 20 million downloads an hour at 11 a.m. local time and remaining steady all the way through 8 p.m.

Flurry, which said it detects 90 percent of iOS and Android devices activated each day, expects app download activity to remain high through New Year with a shot at hitting 2 billion downloads over this week for the first time ever.