Windows Phone 7 Mango Update - SkyDrive functionality available for developers? - windows-phone-7

I read a lot about new SkyDrive syncing features (syncing of documents, pictures...) coming with Mango. But will this functionality be available to developers or is it limited to applications by Microsoft?
I think this would be great but I didn't find any information on it.

With the current release of the SDK, SkyDrive functionality is not available to third-party developers. As a matter of fact, there is no official public SkyDrive API. There is the unofficial SkyDrive .NET API Client, but since it is not supported by Microsoft, it will be a bit risky to use it in an app that is outside the "just for fun" zone.

More recently there has been an official API released but it is nothing but Javascript libraries. You have to create a browser instance and manipulate that.
Also it's limited to fiddling with photos and documents. If you want to use SkyDrive as a cloud filesystem the a better option is http://cerulean.codeplex.com/documentation

Related

Cross Platform Desktop Application Development

I’d like to develop Windows 8 applications and have them hosted on Azure as if they were any other website, i.e. accessible to Macs, PCs, etc. I don’t want to be limited to people downloading Windows 8 applications to a Windows 8 PC or device. Can you explain how Azure achieves this?
I’d like to develop Windows 8 applications for desktops, but not be limited to running them on Windows 8 PCs and devices.
Thanks
Azure doesn't achieve this at all, other than providing a public endpoint for access to 'code'. What you have up in the cloud will depend on what you want to achieve and who you want to reach.
You mention web site and application, but those connote two very different architectures.
A web site will give you the most reach since you'll (presumably) be using standards like HTML5/JavaScript and CSS that are available on a multitude of platforms. As you can see by using applications like outlook.com, the user experience can be quite immersive. With a web site there's little to no client-side requirements other than a browser.
An application typically implies native installation on the target machine and provides the richest possible experience because you use techniques, frameworks, and APIs that are specific to a platform or a device. Applications also (arguably better than web sites) enable reach and monetization via marketplaces like Apple's App Store, Google Play, and the Window Store.
Technologies like Silverlight and Flash were part of the RIA wave (Rich Internet Application) that was a hybrid of both: use the web for reach, and a plug-in for richness. Those are still valid models, but the tide is shifting to HTML5 which is now much closer to reality and narrows the user experience gap that Silverlight and Flash filled. While Silverlight is definitely supported (in an out-of-browser mode as well), the choice of using a plug-in technology will limit your audience because of platforms supported and the need for an additional installation. That may or may not be acceptable given your target application.
What we are seeing now is a trend toward mobile application development paradigms - native still, of course, but also hybrid applications such as afforded by PhoneGap, AppMobi, Sencha, and other HTML5 frameworks and cross-platform options like Xamarin. Each of these allows you to develop in the language and constructs you know well for a given platform, but create applications which are partially or wholly 'native' and can run on multiple devices and platforms. Typically, you will reuse much of your 'back-end' and data integration layers across you targeted platforms, but rework the user interface to be in-line with the expectation for the device.
Windows Azure figures prominently in the development of such apps by providing infrastructure for data storage, services, identity management, push notifications, and other facilities that rely on centralization and scale.
And I suppose there's one other option in all this, virtualization, but that's a larger hurdle for end users and wouldn't recommend that as a general approach.
You can create Silverlight apps, it runs in browser. So it can be open Windows PC as well as in Mac. Do visit Microsoft Silverlight website. Here's few links regarding Azure with Silverlight.
Silverlight in the Azure cloud
Microsoft Silverlight 5 and Windows Azure Enterprise Integration
Windows Azure with Silverlight End To End Demo
More you google, more you will get results.

Any desktop application metric services (think Flurry for OS X)?

What are the options for desktop application metrics collection in 2013?
I know of Usermetrix and Deskmetrix, but surely they can't be the only ones? If you look at mobile analytics services the market seems to be a lot more developed.
Specifically I am looking for usage analysis (stuff like retention, crash reports, custom event reporting, version tracking.
EDIT: I should note that I'm aware of the similar questions but they're a few years old and was hoping to get an up to date picture, especially since the advent of the Mac App Store.
You should check out Trackerbird Software Analytics.
SDK is available for .NET/C++/Python and Mac OS X. Integration takes just a few minutes and apart from basic installation/usage tracking you can also use it for in-app marketing and conversion analysis.
Disclaimer: I am affiliated with the company.
While Deskmetrix seems quite nice, I ended up using Tapstream because it's free and Deskmetrix is pretty expensive.
Since Tapstream's main focus is evaluating advertisement campaigns its analytics feature is rather poor (compared to Flurry for instance). However, they allow custom event tracking.
When developing Mils, it was of great help that Tapstream supports both Mac OS X and Windows 8.
I've been successfully using Mixpanel (which has a free tier): they don't have an official Mac SDK (iOS only) but I've written a simple Obj-C wrapper for their APIs: https://github.com/swisspol/MixpanelTracker

Does the Windows Phone platform support limited/beta releases for app developers?

I am interested in developing an app for Windows Phones, and was wondering if they support the concept of limited/beta releases for their app developers? By this, I mean the ability to deploy a beta or demo version of my app to a limited/restricted audience, such as business partners, customers, external beta testers, etc. Nothing in their SDK documentation indicates either way. Thanks in advance!
You can create a Beta App submission in the Dev Center, and by adding certain Live Ids, limit the access to your application and make it available to your Beta Testers. See the following for more information :-
http://msdn.microsoft.com/en-us/library/windowsphone/help/jj215598%28v=vs.105%29.aspx

Programmatic access of SkyDrive

Does anyone know how to access SkyDrive programmatically from Windows Phone 7? What API do I use? I need to upload files from the Phone to SkyDrive and vice versa.
Some code samples would be great. :-)
You can now officially integrate parts of SkyDrive with Windows Phone 7 applications.
Details outlined here.
There is a new Live SDK available from Microsoft which I think can do this. It's also in a very early alpha or beta state:
http://msdn.microsoft.com/en-us/library/bb264574.aspx
I have developed a sample based on SkyPad (Developer Preview). Please install the Windows Live Developer preview SDK.
The sample allows to save a file to SkyDrive and dowload it again after saving.
Here the link:
http://blog.mecum.biz/2011/10/windows-phone-7-mango-skydrive-sample/
You can use the Live SDK to integrate SkyDrive into your Windows Phone applications. Please see our code samples on GitHub.
Not an answer, but there's hope that an answer is on the way:
However, when Mike Torres was asked about features such as better usability, third-party API support, Windows Live Mesh integration, and expandable storage, he acknowledged that these are "top asks" for SkyDrive and said that they are currently "hard at work on SkyDrive as we speak"
Source
Your requirements sound pretty much like mine - you just want to use skydrive as a basic cloud filesystem.
I thought Matt's suggestion was an outstanding idea. I obtained the library and set out to port it, but unfortunately the codebase is huge and elaborate and absolutely riddled with the [Serializable] attribute which is not compatible with WP7. It also makes extensive use of several pieces of framework not available in WP7x, including X509Chain and Authorization.
SkyDriveApi is not even compatible with VS2010 - an attempted conversion produced a big mess so I just tried it out in VS2008.
We could always write one. This looks like a fair bit of work so I invite you to collaborate.
Well, it's feature complete and working a treat. I'd like to thank people for all the support and assistance I received reverse engineering the protocol using Fiddler, and coding, testing and debugging the prototype into production ready code. I'd like to, but nobody contributed a damn thing. Good luck writing your own.
SkyDrive doesn't have an official API but here are some unofficial ones. I'd start by looking at http://skydriveapiclient.codeplex.com/.
It doesn't claim support for WP7 but you may be able to port it.

iTunes integration advice

I'd like to get some feedback and references to any useful resources related to iTunes integration on Windows platform from fellow developers experienced in that area. COM SDK vs. JavaScript API? What are the advantages and limitations? Any useful blogs or discussion groups? Any recommended outsourced vendors experienced in this type of work? What would be involved in developing an application with features similar to simplifymedia.com?
Any information on the topic is appreciated!
I built a WebForms app in ASP.NET on my workstation using the COM SDK. It was extremely easy and I would recommend using the COM SDK for compiled code or VBScripting.
I would use a JavaScript API if you're doing a simple web app or sidebar gadget or something like that.
The APIs are defined for different domains.
And from my experience with the COM SDK, using it was extremely simple and easy, but I was just doing something simple.

Resources